Personal fork of the library for direct control instead of library control
Dependents: Thesis_Rotating_Platform
Fork of X_NUCLEO_IHM01A1 by
Diff: Components/l6474/l6474_class.h
- Revision:
- 8:42e0b00b1e4d
- Parent:
- 7:f7e0c3621f77
- Child:
- 9:6f116ce8e314
--- 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. */