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:
- 20:a8e81b65f0af
- Parent:
- 18:2d6ab2b93685
- Child:
- 21:83138e702683
--- a/Components/l6474/l6474_class.h Wed Jan 13 14:59:19 2016 +0000 +++ b/Components/l6474/l6474_class.h Fri Jan 15 16:42:39 2016 +0000 @@ -1,7 +1,7 @@ /** ****************************************************************************** * @file l6474_class.h - * @author Davide Aliprandi, STMicrolectronics + * @author Davide Aliprandi, STMicroelectronics * @version V1.0.0 * @date October 14th, 2015 * @brief This file contains the class of an L6474 Motor Control component. @@ -827,20 +827,6 @@ } /** - * @brief Setting the frequency of PWM. - * The frequency controls directly the speed of the device. - * @param newFreq the frequency of PWM. - * @retval None. - */ - void L6474_PwmSetFreq(uint16_t newFreq) - { - double period = 1.0f / newFreq; - pwm.period(period); - pwm.write(0.5f); - ticker.attach(this, &L6474::L6474_StepClockHandler, period); - } - - /** * @brief Initialising the PWM. * @param None. * @retval None. @@ -848,6 +834,25 @@ void L6474_PwmInit(void) {} /** + * @brief Setting the frequency of PWM. + * The frequency controls directly the speed of the device. + * @param frequency the frequency of PWM. + * @retval None. + */ + void L6474_PwmSetFreq(uint16_t frequency) + { + /* Computing the period of PWM. */ + double period = 1.0f / frequency; + + /* Setting the period and the duty-cycle of PWM. */ + pwm.period(period); + pwm.write(0.5f); + + /* Setting a callback with the same period of PWM's, to update the state machine. */ + ticker.attach(this, &L6474::L6474_StepClockHandler, period); + } + + /** * @brief Stopping the PWM. * @param None. * @retval None.