f
Dependencies: ST_INTERFACES X_NUCLEO_COMMON
Fork of X_NUCLEO_IHM01A1 by
Revision 8:42e0b00b1e4d, committed 2015-11-23
- Comitter:
- Davidroid
- Date:
- Mon Nov 23 11:10:54 2015 +0000
- Parent:
- 7:f7e0c3621f77
- Child:
- 9:6f116ce8e314
- Commit message:
- + Doxygen documentation completed.
Changed in this revision
--- a/Components/Interfaces/StepperMotor_class.h Fri Nov 20 18:00:03 2015 +0000
+++ b/Components/Interfaces/StepperMotor_class.h Mon Nov 23 11:10:54 2015 +0000
@@ -5,7 +5,7 @@
* @version V1.0.0
* @date November 12th, 2015
* @brief This file contains the abstract class describing the interface of a
- * steppermotor component.
+ * stepper-motor component.
******************************************************************************
* @attention
*
@@ -63,91 +63,180 @@
} direction_t;
/**
- * @brief Getting the status.
+ * @brief Getting the status.
* @param None.
- * @retval None.
+ * @retval The status.
*/
virtual unsigned int GetStatus(void) = 0;
- /**
+ /**
* @brief Getting a parameter.
- * @param parameter register adress.
- * @retval a register value.
+ * @param parameter The parameter's identifier (or its register address).
+ * @retval The parameter's value.
*/
virtual unsigned int GetParameter(unsigned int parameter) = 0;
- /* Return the current position. */
+ /**
+ * @brief Getting the position.
+ * @param None.
+ * @retval The position.
+ */
virtual signed int GetPosition(void) = 0;
- /* Return the mark position. */
+ /**
+ * @brief Getting the marked position.
+ * @param None.
+ * @retval The marked position.
+ */
virtual signed int GetMark(void) = 0;
- /* Return the current speed in pps. */
+ /**
+ * @brief Getting the current speed in pps.
+ * @param None.
+ * @retval The current speed in pps.
+ */
virtual unsigned int GetSpeed(void) = 0;
- /* Return the maximum speed in pps. */
+ /**
+ * @brief Getting the maximum speed in pps.
+ * @param None.
+ * @retval The maximum speed in pps.
+ */
virtual unsigned int GetMaxSpeed(void) = 0;
- /* Return the minimum speed in pps. */
+ /**
+ * @brief Getting the minimum speed in pps.
+ * @param None.
+ * @retval The minimum speed in pps.
+ */
virtual unsigned int GetMinSpeed(void) = 0;
- /* Return the acceleration in pps^2. */
+ /**
+ * @brief Getting the acceleration in pps^2.
+ * @param None.
+ * @retval The acceleration in pps^2.
+ */
virtual unsigned int GetAcceleration(void) = 0;
- /* Return the deceleration in pps^2. */
+ /**
+ * @brief Getting the deceleration in pps^2.
+ * @param None.
+ * @retval The deceleration in pps^2.
+ */
virtual unsigned int GetDeceleration(void) = 0;
- /* Get the current direction of rotation. */
+ /**
+ * @brief Getting the direction of rotation.
+ * @param None.
+ * @retval The direction of rotation.
+ */
virtual direction_t GetDirection(void) = 0;
/**
* @brief Setting a parameter.
- * @param parameter register adress.
- * @param value value to be set.
+ * @param parameter The parameter's identifier (or its register address).
+ * @param value The parameter's value.
* @retval None.
*/
virtual void SetParameter(unsigned int parameter, unsigned int value) = 0;
- /* Set the current position to be the home position. */
+ /**
+ * @brief Setting the current position to be the home position.
+ * @param None.
+ * @retval None.
+ */
virtual void SetHome(void) = 0;
- /* Set the current position to be the mark position. */
+ /**
+ * @brief Setting the current position to be the marked position.
+ * @param None.
+ * @retval None.
+ */
virtual void SetMark(void) = 0;
- /* Set the maximum speed in pps. */
+ /**
+ * @brief Setting the maximum speed in pps.
+ * @param speed The maximum speed in pps.
+ * @retval None.
+ */
virtual void SetMaxSpeed(unsigned int speed) = 0;
- /* Set the minimum speed in pps. */
+ /**
+ * @brief Setting the minimum speed in pps.
+ * @param speed The minimum speed in pps.
+ * @retval None.
+ */
virtual void SetMinSpeed(unsigned int speed) = 0;
- /* Set the acceleration in pps^2. */
+ /**
+ * @brief Setting the acceleration in pps^2.
+ * @param acceleration The acceleration in pps^2.
+ * @retval None.
+ */
virtual void SetAcceleration(unsigned int acceleration) = 0;
- /* Set the deceleration in pps^2. */
+ /**
+ * @brief Setting the deceleration in pps^2.
+ * @param deceleration The deceleration in pps^2.
+ * @retval None.
+ */
virtual void SetDeceleration(unsigned int deceleration) = 0;
- /* Go to the specified position. */
+ /**
+ * @brief Going to a specified position.
+ * @param position The desired position.
+ * @retval None.
+ */
virtual void GoTo(signed int position) = 0;
- /* Go to the home position. */
+ /**
+ * @brief Going to the home position.
+ * @param None.
+ * @retval None.
+ */
virtual void GoHome(void) = 0;
- /* Go to the marked position. */
+ /**
+ * @brief Going to the marked position.
+ * @param None.
+ * @retval None.
+ */
virtual void GoMark(void) = 0;
- /* Run the motor towards a specified direction. */
+ /**
+ * @brief Running the motor towards a specified direction.
+ * @param direction The direction of rotation.
+ * @retval None.
+ */
virtual void Run(direction_t direction) = 0;
- /* Run the motor towards a specified direction for a specified number of steps. */
+ /**
+ * @brief Moving the motor towards a specified direction for a certain number of steps.
+ * @param direction The direction of rotation.
+ * @param steps The desired number of steps.
+ * @retval None.
+ */
virtual void Move(direction_t direction, unsigned int steps) = 0;
- /* Stop the motor. */
+ /**
+ * @brief Stopping the motor.
+ * @param None.
+ * @retval None.
+ */
virtual void SoftStop(void) = 0;
- /* Stop the motor and disable the power bridge. */
+ /**
+ * @brief Stopping the motor and disabling the power bridge.
+ * @param None.
+ * @retval None.
+ */
virtual void HardStop(void) = 0;
- /* Wait while the motor is active. */
+ /**
+ * @brief Waiting while the motor is active.
+ * @param None.
+ * @retval None.
+ */
virtual void WaitWhileActive(void) = 0;
};
--- a/Components/l6474/l6474.h Fri Nov 20 18:00:03 2015 +0000 +++ b/Components/l6474/l6474.h Mon Nov 23 11:10:54 2015 +0000 @@ -63,7 +63,7 @@ */ /// Current FW version -#define L6474_FW_VERSION (5) +#define L6474_FW_VERSION (5) /// L6474 max number of bytes of command & arguments to set a parameter #define L6474_CMD_ARG_MAX_NB_BYTES (4)
--- a/Components/l6474/l6474_class.h Fri Nov 20 18:00:03 2015 +0000
+++ b/Components/l6474/l6474_class.h Mon Nov 23 11:10:54 2015 +0000
@@ -144,7 +144,7 @@
*------------------------------------------------------------------------*/
/**
* @brief Initializing the component.
- * @param init pointer to device specific initalization structure.
+ * @param init Pointer to device specific initalization structure.
* @retval "0" in case of success, an error code otherwise.
*/
virtual int Init(void *init)
@@ -154,7 +154,7 @@
/**
* @brief Getting the ID of the component.
- * @param id pointer to an allocated variable to store the ID into.
+ * @param id Pointer to an allocated variable to store the ID into.
* @retval "0" in case of success, an error code otherwise.
*/
virtual int ReadID(uint8_t *id)
@@ -175,8 +175,8 @@
/**
* @brief Getting a parameter.
- * @param parameter register adress.
- * @retval a register value.
+ * @param parameter A parameter's register adress.
+ * @retval The parameter's value.
* @note The Status Register's flags are cleared, contrary to ReadStatusRegister().
* parameter can be one of the following:
* + L6474_ABS_POS
@@ -213,41 +213,81 @@
return (unsigned int) L6474_CmdGetParam((L6474_Registers_t) parameter);
}
+ /**
+ * @brief Getting the position.
+ * @param None.
+ * @retval The position.
+ */
virtual signed int GetPosition(void)
{
return (signed int) L6474_GetPosition();
}
+ /**
+ * @brief Getting the marked position.
+ * @param None.
+ * @retval The marked position.
+ */
virtual signed int GetMark(void)
{
return (signed int) L6474_GetMark();
}
-
+
+ /**
+ * @brief Getting the current speed in pps.
+ * @param None.
+ * @retval The current speed in pps.
+ */
virtual unsigned int GetSpeed(void)
{
return (unsigned int) L6474_GetCurrentSpeed();
}
+ /**
+ * @brief Getting the maximum speed in pps.
+ * @param None.
+ * @retval The maximum speed in pps.
+ */
virtual unsigned int GetMaxSpeed(void)
{
return (unsigned int) L6474_GetMaxSpeed();
}
+ /**
+ * @brief Getting the minimum speed in pps.
+ * @param None.
+ * @retval The minimum speed in pps.
+ */
virtual unsigned int GetMinSpeed(void)
{
return (unsigned int) L6474_GetMinSpeed();
}
+ /**
+ * @brief Getting the acceleration in pps^2.
+ * @param None.
+ * @retval The acceleration in pps^2.
+ */
virtual unsigned int GetAcceleration(void)
{
return (unsigned int) L6474_GetAcceleration();
}
+ /**
+ * @brief Getting the deceleration in pps^2.
+ * @param None.
+ * @retval The deceleration in pps^2.
+ */
virtual unsigned int GetDeceleration(void)
{
return (unsigned int) L6474_GetDeceleration();
}
+ /**
+ * @brief Getting the direction of rotation.
+ * @param None.
+ * @retval The direction of rotation.
+ */
virtual direction_t GetDirection(void)
{
return (direction_t) (L6474_GetDirection() == FORWARD ? StepperMotor::FWD : StepperMotor::BWD);
@@ -255,8 +295,8 @@
/**
* @brief Setting a parameter.
- * @param parameter register adress.
- * @param value value to be set.
+ * @param parameter A parameter's register adress.
+ * @param value The parameter's value.
* @retval None.
* @note parameter can be one of the following:
* + L6474_ABS_POS
@@ -293,71 +333,142 @@
L6474_CmdSetParam((L6474_Registers_t) parameter, (unsigned int) value);
}
+ /**
+ * @brief Setting the current position to be the home position.
+ * @param None.
+ * @retval None.
+ */
virtual void SetHome(void)
{
L6474_SetHome();
}
+ /**
+ * @brief Setting the current position to be the marked position.
+ * @param None.
+ * @retval None.
+ */
virtual void SetMark(void)
{
L6474_SetMark();
}
+ /**
+ * @brief Setting the maximum speed in pps.
+ * @param speed The maximum speed in pps.
+ * @retval None.
+ */
virtual void SetMaxSpeed(unsigned int speed)
{
L6474_SetMaxSpeed((unsigned int) speed);
}
+ /**
+ * @brief Setting the minimum speed in pps.
+ * @param speed The minimum speed in pps.
+ * @retval None.
+ */
virtual void SetMinSpeed(unsigned int speed)
{
L6474_SetMinSpeed((unsigned int) speed);
}
+ /**
+ * @brief Setting the acceleration in pps^2.
+ * @param acceleration The acceleration in pps^2.
+ * @retval None.
+ */
virtual void SetAcceleration(unsigned int acceleration)
{
L6474_SetAcceleration((unsigned int) acceleration);
}
+ /**
+ * @brief Setting the deceleration in pps^2.
+ * @param deceleration The deceleration in pps^2.
+ * @retval None.
+ */
virtual void SetDeceleration(unsigned int deceleration)
{
L6474_SetDeceleration((unsigned int) deceleration);
}
+ /**
+ * @brief Going to a specified position.
+ * @param position The desired position.
+ * @retval None.
+ */
virtual void GoTo(signed int position)
{
L6474_GoTo((signed int) position);
}
+ /**
+ * @brief Going to the home position.
+ * @param None.
+ * @retval None.
+ */
virtual void GoHome(void)
{
L6474_GoHome();
}
+ /**
+ * @brief Going to the marked position.
+ * @param None.
+ * @retval None.
+ */
virtual void GoMark(void)
{
L6474_GoMark();
}
+ /**
+ * @brief Running the motor towards a specified direction.
+ * @param direction The direction of rotation.
+ * @retval None.
+ */
virtual void Run(direction_t direction)
{
L6474_Run((motorDir_t) (direction == StepperMotor::FWD ? FORWARD : BACKWARD));
}
+ /**
+ * @brief Moving the motor towards a specified direction for a certain number of steps.
+ * @param direction The direction of rotation.
+ * @param steps The desired number of steps.
+ * @retval None.
+ */
virtual void Move(direction_t direction, unsigned int steps)
{
L6474_Move((motorDir_t) (direction == StepperMotor::FWD ? FORWARD : BACKWARD), (unsigned int) steps);
}
+ /**
+ * @brief Stopping the motor.
+ * @param None.
+ * @retval None.
+ */
virtual void SoftStop(void)
{
L6474_SoftStop();
}
+ /**
+ * @brief Stopping the motor and disabling the power bridge.
+ * @param None.
+ * @retval None.
+ */
virtual void HardStop(void)
{
L6474_HardStop();
}
+ /**
+ * @brief Waiting while the motor is active.
+ * @param None.
+ * @retval None.
+ */
virtual void WaitWhileActive(void)
{
L6474_WaitWhileActive();
@@ -378,26 +489,6 @@
return (motorState_t) L6474_GetDeviceState();
}
- virtual uint8_t GetFwVersion(void)
- {
- return (uint8_t) L6474_GetFwVersion();
- }
-
- virtual void SetDirection(direction_t direction)
- {
- L6474_SetDirection((motorDir_t) (direction == StepperMotor::FWD ? FORWARD : BACKWARD));
- }
-
- virtual void CmdDisable(void)
- {
- L6474_CmdDisable();
- }
-
- virtual void CmdEnable(void)
- {
- L6474_CmdEnable();
- }
-
/**
* @brief Reading the Status Register.
* @param None.
@@ -410,8 +501,8 @@
}
/**
- * @brief Selecting the Step Mode.
- * @param step_mode the Step Mode.
+ * @brief Setting the Step Mode.
+ * @param step_mode The Step Mode.
* @retval None.
* @note step_mode can be one of the following:
* + STEP_MODE_FULL
@@ -423,14 +514,14 @@
* + STEP_MODE_1_64
* + STEP_MODE_1_128
*/
- virtual void SelectStepMode(motorStepMode_t step_mode)
+ virtual void SetStepMode(motorStepMode_t step_mode)
{
L6474_SelectStepMode((motorStepMode_t) step_mode);
}
/**
* @brief Attaching an error handler.
- * @param fptr an error handler.
+ * @param fptr An error handler.
* @retval None.
*/
virtual void AttachErrorHandler(void (*fptr)(uint16_t error))
@@ -438,6 +529,26 @@
L6474_AttachErrorHandler((void (*)(uint16_t error)) fptr);
}
+ /**
+ * @brief Enabling the device.
+ * @param None.
+ * @retval None.
+ */
+ virtual void Enable(void)
+ {
+ L6474_CmdEnable();
+ }
+
+ /**
+ * @brief Disabling the device.
+ * @param None.
+ * @retval None.
+ */
+ virtual void Disable(void)
+ {
+ L6474_CmdDisable();
+ }
+
/*** Public Interrupt Related Methods ***/
@@ -471,8 +582,8 @@
* } *
*------------------------------------------------------------------------*/
/**
- * @brief Attaching a FLAG interrupt handler.
- * @param fptr an interrupt handler.
+ * @brief Attaching an interrupt handler to the FLAG interrupt.
+ * @param fptr An interrupt handler.
* @retval None.
*/
void AttachFlagIRQ(void (*fptr)(void))
@@ -481,7 +592,7 @@
}
/**
- * @brief Enabling FLAG interrupt handling.
+ * @brief Enabling the FLAG interrupt handling.
* @param None.
* @retval None.
*/
@@ -491,7 +602,7 @@
}
/**
- * @brief Disabling FLAG interrupt handling.
+ * @brief Disabling the FLAG interrupt handling.
* @param None.
* @retval None.
*/
