33
33
#define MAX_RELOAD ((1 << 16 ) - 1 ) // Currently even 32b timers are used as 16b to have generic behavior
34
34
35
35
/* Private Variables */
36
- HardwareTimerObj_t *HardwareTimer_Handle[TIMER_NUM] = {NULL };
36
+ timerObj_t *HardwareTimer_Handle[TIMER_NUM] = {NULL };
37
37
38
38
IRQn_Type getTimerUpIrq (TIM_TypeDef *tim);
39
39
IRQn_Type getTimerCCIrq (TIM_TypeDef *tim);
@@ -50,25 +50,25 @@ HardwareTimer::HardwareTimer(TIM_TypeDef *instance)
50
50
Error_Handler ();
51
51
}
52
52
53
- HardwareTimer_Handle[index ] = &_HardwareTimerObj ;
53
+ HardwareTimer_Handle[index ] = &_timerObj ;
54
54
55
- _HardwareTimerObj .handle .Instance = instance;
56
- _HardwareTimerObj .handle .Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
57
- _HardwareTimerObj .handle .hdma [0 ] = NULL ;
58
- _HardwareTimerObj .handle .hdma [1 ] = NULL ;
59
- _HardwareTimerObj .handle .hdma [2 ] = NULL ;
60
- _HardwareTimerObj .handle .hdma [3 ] = NULL ;
61
- _HardwareTimerObj .handle .hdma [4 ] = NULL ;
62
- _HardwareTimerObj .handle .hdma [5 ] = NULL ;
63
- _HardwareTimerObj .handle .hdma [6 ] = NULL ;
64
- _HardwareTimerObj .handle .Lock = HAL_UNLOCKED;
65
- _HardwareTimerObj .handle .State = HAL_TIM_STATE_RESET;
55
+ _timerObj .handle .Instance = instance;
56
+ _timerObj .handle .Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
57
+ _timerObj .handle .hdma [0 ] = NULL ;
58
+ _timerObj .handle .hdma [1 ] = NULL ;
59
+ _timerObj .handle .hdma [2 ] = NULL ;
60
+ _timerObj .handle .hdma [3 ] = NULL ;
61
+ _timerObj .handle .hdma [4 ] = NULL ;
62
+ _timerObj .handle .hdma [5 ] = NULL ;
63
+ _timerObj .handle .hdma [6 ] = NULL ;
64
+ _timerObj .handle .Lock = HAL_UNLOCKED;
65
+ _timerObj .handle .State = HAL_TIM_STATE_RESET;
66
66
67
- _HardwareTimerObj .handle .Instance = instance;
68
- _HardwareTimerObj .__this = (void *)this ;
67
+ _timerObj .handle .Instance = instance;
68
+ _timerObj .__this = (void *)this ;
69
69
70
70
// Enable Timer clock
71
- enableTimerClock (&(_HardwareTimerObj .handle ));
71
+ enableTimerClock (&(_timerObj .handle ));
72
72
73
73
// Configure HAL structure for all channels
74
74
for (int i = 0 ; i < TIMER_CHANNELS; i++) {
@@ -103,7 +103,7 @@ HardwareTimer::HardwareTimer(TIM_TypeDef *instance)
103
103
*/
104
104
void HardwareTimer::pause ()
105
105
{
106
- HAL_TIM_Base_Stop_IT (&(_HardwareTimerObj .handle ));
106
+ HAL_TIM_Base_Stop_IT (&(_timerObj .handle ));
107
107
}
108
108
109
109
/* *
@@ -113,19 +113,19 @@ void HardwareTimer::pause()
113
113
*/
114
114
void HardwareTimer::resume (void )
115
115
{
116
- _HardwareTimerObj .handle .Init .CounterMode = TIM_COUNTERMODE_UP;
117
- _HardwareTimerObj .handle .Init .ClockDivision = TIM_CLOCKDIVISION_DIV1;
116
+ _timerObj .handle .Init .CounterMode = TIM_COUNTERMODE_UP;
117
+ _timerObj .handle .Init .ClockDivision = TIM_CLOCKDIVISION_DIV1;
118
118
#if defined(TIM_RCR_REP)
119
- _HardwareTimerObj .handle .Init .RepetitionCounter = 0 ;
119
+ _timerObj .handle .Init .RepetitionCounter = 0 ;
120
120
#endif
121
- _HardwareTimerObj .handle .Init .AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
122
- HAL_TIM_Base_Init (&(_HardwareTimerObj .handle ));
121
+ _timerObj .handle .Init .AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
122
+ HAL_TIM_Base_Init (&(_timerObj .handle ));
123
123
124
124
// Start timer with IT if required
125
125
if (callbacks[0 ] != NULL ) {
126
- HAL_TIM_Base_Start_IT (&(_HardwareTimerObj .handle ));
126
+ HAL_TIM_Base_Start_IT (&(_timerObj .handle ));
127
127
} else {
128
- HAL_TIM_Base_Start (&(_HardwareTimerObj .handle ));
128
+ HAL_TIM_Base_Start (&(_timerObj .handle ));
129
129
}
130
130
131
131
resumeChannel (1 );
@@ -175,58 +175,58 @@ void HardwareTimer::resumeChannel(uint32_t channel)
175
175
}
176
176
177
177
if (IS_TIM_PWM_MODE (_channelOC[channel - 1 ].OCMode )) {
178
- HAL_TIM_PWM_ConfigChannel (&(_HardwareTimerObj .handle ), &_channelOC[channel - 1 ], timChannel);
178
+ HAL_TIM_PWM_ConfigChannel (&(_timerObj .handle ), &_channelOC[channel - 1 ], timChannel);
179
179
180
180
if ((channel < (TIMER_CHANNELS + 1 )) && (callbacks[channel] != NULL )) {
181
181
// Only channel 1..4 can have interruption
182
182
#if defined(TIM_CCER_CC1NE)
183
183
if (isComplementaryChannel[channel]) {
184
- HAL_TIMEx_PWMN_Start_IT (&(_HardwareTimerObj .handle ), timChannel);
184
+ HAL_TIMEx_PWMN_Start_IT (&(_timerObj .handle ), timChannel);
185
185
} else
186
186
#endif
187
187
{
188
- HAL_TIM_PWM_Start_IT (&(_HardwareTimerObj .handle ), timChannel);
188
+ HAL_TIM_PWM_Start_IT (&(_timerObj .handle ), timChannel);
189
189
}
190
190
} else {
191
191
#if defined(TIM_CCER_CC1NE)
192
192
if (isComplementaryChannel[channel]) {
193
- HAL_TIMEx_PWMN_Start (&(_HardwareTimerObj .handle ), timChannel);
193
+ HAL_TIMEx_PWMN_Start (&(_timerObj .handle ), timChannel);
194
194
} else
195
195
#endif
196
196
{
197
- HAL_TIM_PWM_Start (&(_HardwareTimerObj .handle ), timChannel);
197
+ HAL_TIM_PWM_Start (&(_timerObj .handle ), timChannel);
198
198
}
199
199
}
200
200
} else if (IS_TIM_OC_MODE (_channelOC[channel - 1 ].OCMode )) {
201
- HAL_TIM_OC_ConfigChannel (&(_HardwareTimerObj .handle ), &_channelOC[channel - 1 ], timChannel);
201
+ HAL_TIM_OC_ConfigChannel (&(_timerObj .handle ), &_channelOC[channel - 1 ], timChannel);
202
202
203
203
if ((channel < (TIMER_CHANNELS + 1 )) && (callbacks[channel] != NULL )) {
204
204
// Only channel 1..4 can have interruption
205
205
#if defined(TIM_CCER_CC1NE)
206
206
if (isComplementaryChannel[channel]) {
207
- HAL_TIMEx_OCN_Start_IT (&(_HardwareTimerObj .handle ), timChannel);
207
+ HAL_TIMEx_OCN_Start_IT (&(_timerObj .handle ), timChannel);
208
208
} else
209
209
#endif
210
210
{
211
- HAL_TIM_OC_Start_IT (&(_HardwareTimerObj .handle ), timChannel);
211
+ HAL_TIM_OC_Start_IT (&(_timerObj .handle ), timChannel);
212
212
}
213
213
} else {
214
214
#if defined(TIM_CCER_CC1NE)
215
215
if (isComplementaryChannel[channel]) {
216
- HAL_TIMEx_OCN_Start (&(_HardwareTimerObj .handle ), timChannel);
216
+ HAL_TIMEx_OCN_Start (&(_timerObj .handle ), timChannel);
217
217
} else
218
218
#endif
219
219
{
220
- HAL_TIM_OC_Start (&(_HardwareTimerObj .handle ), timChannel);
220
+ HAL_TIM_OC_Start (&(_timerObj .handle ), timChannel);
221
221
}
222
222
}
223
223
} else if (_channelIC[channel - 1 ].ICPolarity != TIMER_NOT_USED) {
224
- HAL_TIM_IC_ConfigChannel (&(_HardwareTimerObj .handle ), &_channelIC[channel - 1 ], timChannel);
224
+ HAL_TIM_IC_ConfigChannel (&(_timerObj .handle ), &_channelIC[channel - 1 ], timChannel);
225
225
226
226
if (callbacks[channel] != NULL ) {
227
- HAL_TIM_IC_Start_IT (&(_HardwareTimerObj .handle ), timChannel);
227
+ HAL_TIM_IC_Start_IT (&(_timerObj .handle ), timChannel);
228
228
} else {
229
- HAL_TIM_IC_Start (&(_HardwareTimerObj .handle ), timChannel);
229
+ HAL_TIM_IC_Start (&(_timerObj .handle ), timChannel);
230
230
}
231
231
}
232
232
}
@@ -239,7 +239,7 @@ void HardwareTimer::resumeChannel(uint32_t channel)
239
239
uint32_t HardwareTimer::getPrescaleFactor ()
240
240
{
241
241
// Hardware register correspond to prescaler-1. Example PSC register value 0 means divided by 1
242
- return (_HardwareTimerObj .handle .Init .Prescaler + 1 );
242
+ return (_timerObj .handle .Init .Prescaler + 1 );
243
243
}
244
244
245
245
/* *
@@ -250,8 +250,8 @@ uint32_t HardwareTimer::getPrescaleFactor()
250
250
void HardwareTimer::setPrescaleFactor (uint32_t prescaler)
251
251
{
252
252
// Hardware register correspond to prescaler-1. Example PSC register value 0 means divided by 1
253
- __HAL_TIM_SET_PRESCALER (&_HardwareTimerObj .handle , prescaler - 1 );
254
- _HardwareTimerObj .handle .Init .Prescaler = prescaler - 1 ;
253
+ __HAL_TIM_SET_PRESCALER (&_timerObj .handle , prescaler - 1 );
254
+ _timerObj .handle .Init .Prescaler = prescaler - 1 ;
255
255
}
256
256
257
257
/* *
@@ -265,8 +265,8 @@ void HardwareTimer::setPrescaleFactor(uint32_t prescaler)
265
265
uint32_t HardwareTimer::getOverflow (TimerFormat_t format)
266
266
{
267
267
// Hardware register correspond to period count-1. Example ARR register value 9 means period of 10 timer cycle
268
- uint32_t ARR_RegisterValue = __HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle ));
269
- uint32_t Prescalerfactor = _HardwareTimerObj .handle .Instance ->PSC + 1 ;
268
+ uint32_t ARR_RegisterValue = __HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle ));
269
+ uint32_t Prescalerfactor = _timerObj .handle .Instance ->PSC + 1 ;
270
270
uint32_t return_value;
271
271
switch (format) {
272
272
case MICROSEC_FORMAT:
@@ -302,15 +302,15 @@ void HardwareTimer::setOverflow(uint32_t overflow, TimerFormat_t format)
302
302
case MICROSEC_FORMAT:
303
303
period_cyc = overflow * (getTimerClkFreq () / 1000000 );
304
304
Prescalerfactor = (period_cyc / 0x10000 ) + 1 ;
305
- __HAL_TIM_SET_PRESCALER (&_HardwareTimerObj .handle , Prescalerfactor - 1 );
306
- _HardwareTimerObj .handle .Init .Prescaler = Prescalerfactor - 1 ;
305
+ __HAL_TIM_SET_PRESCALER (&_timerObj .handle , Prescalerfactor - 1 );
306
+ _timerObj .handle .Init .Prescaler = Prescalerfactor - 1 ;
307
307
ARR_RegisterValue = (period_cyc / Prescalerfactor) - 1 ;
308
308
break ;
309
309
case HERTZ_FORMAT:
310
310
period_cyc = getTimerClkFreq () / overflow;
311
311
Prescalerfactor = (period_cyc / 0x10000 ) + 1 ;
312
- __HAL_TIM_SET_PRESCALER (&_HardwareTimerObj .handle , Prescalerfactor - 1 );
313
- _HardwareTimerObj .handle .Init .Prescaler = Prescalerfactor - 1 ;
312
+ __HAL_TIM_SET_PRESCALER (&_timerObj .handle , Prescalerfactor - 1 );
313
+ _timerObj .handle .Init .Prescaler = Prescalerfactor - 1 ;
314
314
ARR_RegisterValue = (period_cyc / Prescalerfactor) - 1 ;
315
315
break ;
316
316
case TICK_FORMAT:
@@ -319,8 +319,8 @@ void HardwareTimer::setOverflow(uint32_t overflow, TimerFormat_t format)
319
319
break ;
320
320
}
321
321
322
- __HAL_TIM_SET_AUTORELOAD (&_HardwareTimerObj .handle , ARR_RegisterValue);
323
- _HardwareTimerObj .handle .Init .Period = ARR_RegisterValue;
322
+ __HAL_TIM_SET_AUTORELOAD (&_timerObj .handle , ARR_RegisterValue);
323
+ _timerObj .handle .Init .Period = ARR_RegisterValue;
324
324
}
325
325
326
326
/* *
@@ -333,8 +333,8 @@ void HardwareTimer::setOverflow(uint32_t overflow, TimerFormat_t format)
333
333
*/
334
334
uint32_t HardwareTimer::getCount (TimerFormat_t format)
335
335
{
336
- uint32_t CNT_RegisterValue = __HAL_TIM_GET_COUNTER (&(_HardwareTimerObj .handle ));
337
- uint32_t Prescalerfactor = _HardwareTimerObj .handle .Instance ->PSC + 1 ;
336
+ uint32_t CNT_RegisterValue = __HAL_TIM_GET_COUNTER (&(_timerObj .handle ));
337
+ uint32_t Prescalerfactor = _timerObj .handle .Instance ->PSC + 1 ;
338
338
uint32_t return_value;
339
339
switch (format) {
340
340
case MICROSEC_FORMAT:
@@ -363,7 +363,7 @@ uint32_t HardwareTimer::getCount(TimerFormat_t format)
363
363
void HardwareTimer::setCount (uint32_t counter, TimerFormat_t format)
364
364
{
365
365
uint32_t CNT_RegisterValue;
366
- uint32_t Prescalerfactor = _HardwareTimerObj .handle .Instance ->PSC + 1 ;
366
+ uint32_t Prescalerfactor = _timerObj .handle .Instance ->PSC + 1 ;
367
367
switch (format) {
368
368
case MICROSEC_FORMAT:
369
369
CNT_RegisterValue = ((counter * (getTimerClkFreq () / 1000000 )) / Prescalerfactor) - 1 ;
@@ -376,7 +376,7 @@ void HardwareTimer::setCount(uint32_t counter, TimerFormat_t format)
376
376
CNT_RegisterValue = counter - 1 ;
377
377
break ;
378
378
}
379
- __HAL_TIM_SET_COUNTER (&(_HardwareTimerObj .handle ), CNT_RegisterValue);
379
+ __HAL_TIM_SET_COUNTER (&(_timerObj .handle ), CNT_RegisterValue);
380
380
}
381
381
382
382
/* *
@@ -519,7 +519,7 @@ void HardwareTimer::setMode(uint32_t channel, TimerModes_t mode, PinName pin)
519
519
void HardwareTimer::setCaptureCompare (uint32_t channel, uint32_t compare, TimerCompareFormat_t format)
520
520
{
521
521
int timChannel = getChannel (channel);
522
- uint32_t Prescalerfactor = _HardwareTimerObj .handle .Instance ->PSC + 1 ;
522
+ uint32_t Prescalerfactor = _timerObj .handle .Instance ->PSC + 1 ;
523
523
uint32_t CCR_RegisterValue;
524
524
525
525
if (timChannel == -1 ) {
@@ -534,21 +534,21 @@ void HardwareTimer::setCaptureCompare(uint32_t channel, uint32_t compare, TimerC
534
534
CCR_RegisterValue = (getTimerClkFreq () / (compare * Prescalerfactor)) - 1 ;
535
535
break ;
536
536
case PERCENT_COMPARE_FORMAT:
537
- CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle )) + 1 ) * compare) / 100 ;
537
+ CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle )) + 1 ) * compare) / 100 ;
538
538
break ;
539
539
case RESOLUTION_8B_COMPARE_FORMAT:
540
- CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle )) + 1 ) * compare) / 255 ;
540
+ CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle )) + 1 ) * compare) / 255 ;
541
541
break ;
542
542
case RESOLUTION_12B_COMPARE_FORMAT:
543
- CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle )) + 1 ) * compare) / 4095 ;
543
+ CCR_RegisterValue = ((__HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle )) + 1 ) * compare) / 4095 ;
544
544
break ;
545
545
case TICK_COMPARE_FORMAT:
546
546
default :
547
547
CCR_RegisterValue = compare - 1 ;
548
548
break ;
549
549
}
550
550
551
- __HAL_TIM_SET_COMPARE (&(_HardwareTimerObj .handle ), timChannel, CCR_RegisterValue);
551
+ __HAL_TIM_SET_COMPARE (&(_timerObj .handle ), timChannel, CCR_RegisterValue);
552
552
_channelOC[channel - 1 ].Pulse = CCR_RegisterValue;
553
553
}
554
554
@@ -564,8 +564,8 @@ void HardwareTimer::setCaptureCompare(uint32_t channel, uint32_t compare, TimerC
564
564
uint32_t HardwareTimer::getCaptureCompare (uint32_t channel, TimerCompareFormat_t format)
565
565
{
566
566
int timChannel = getChannel (channel);
567
- uint32_t CCR_RegisterValue = __HAL_TIM_GET_COMPARE (&(_HardwareTimerObj .handle ), timChannel);
568
- uint32_t Prescalerfactor = _HardwareTimerObj .handle .Instance ->PSC + 1 ;
567
+ uint32_t CCR_RegisterValue = __HAL_TIM_GET_COMPARE (&(_timerObj .handle ), timChannel);
568
+ uint32_t Prescalerfactor = _timerObj .handle .Instance ->PSC + 1 ;
569
569
uint32_t return_value;
570
570
571
571
if (timChannel == -1 ) {
@@ -580,13 +580,13 @@ uint32_t HardwareTimer::getCaptureCompare(uint32_t channel, TimerCompareFormat_
580
580
return_value = (uint32_t )(getTimerClkFreq () / (CCR_RegisterValue * Prescalerfactor));
581
581
break ;
582
582
case PERCENT_COMPARE_FORMAT:
583
- return_value = (CCR_RegisterValue * 100 ) / __HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle ));
583
+ return_value = (CCR_RegisterValue * 100 ) / __HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle ));
584
584
break ;
585
585
case RESOLUTION_8B_COMPARE_FORMAT:
586
- return_value = (CCR_RegisterValue * 255 ) / __HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle ));
586
+ return_value = (CCR_RegisterValue * 255 ) / __HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle ));
587
587
break ;
588
588
case RESOLUTION_12B_COMPARE_FORMAT:
589
- return_value = (CCR_RegisterValue * 4095 ) / __HAL_TIM_GET_AUTORELOAD (&(_HardwareTimerObj .handle ));
589
+ return_value = (CCR_RegisterValue * 4095 ) / __HAL_TIM_GET_AUTORELOAD (&(_timerObj .handle ));
590
590
break ;
591
591
case TICK_COMPARE_FORMAT:
592
592
default :
@@ -694,7 +694,7 @@ void HardwareTimer::detachInterrupt(uint32_t channel)
694
694
*/
695
695
void HardwareTimer::refresh ()
696
696
{
697
- HAL_TIM_GenerateEvent (&(_HardwareTimerObj .handle ), TIM_EVENTSOURCE_UPDATE);
697
+ HAL_TIM_GenerateEvent (&(_timerObj .handle ), TIM_EVENTSOURCE_UPDATE);
698
698
}
699
699
700
700
/* *
@@ -708,7 +708,7 @@ void HardwareTimer::updateCallback(TIM_HandleTypeDef *htim)
708
708
Error_Handler ();
709
709
}
710
710
711
- HardwareTimerObj_t *obj = get_timer_obj (htim);
711
+ timerObj_t *obj = get_timer_obj (htim);
712
712
HardwareTimer *HT = (HardwareTimer *)(obj->__this );
713
713
714
714
if (HT->callbacks [0 ] != NULL ) {
@@ -749,7 +749,7 @@ void HardwareTimer::captureCompareCallback(TIM_HandleTypeDef *htim)
749
749
return ;
750
750
}
751
751
752
- HardwareTimerObj_t *obj = get_timer_obj (htim);
752
+ timerObj_t *obj = get_timer_obj (htim);
753
753
HardwareTimer *HT = (HardwareTimer *)(obj->__this );
754
754
755
755
if (HT->callbacks [channel] != NULL ) {
@@ -763,10 +763,10 @@ void HardwareTimer::captureCompareCallback(TIM_HandleTypeDef *htim)
763
763
*/
764
764
HardwareTimer::~HardwareTimer ()
765
765
{
766
- uint32_t index = get_timer_index (_HardwareTimerObj .handle .Instance );
767
- disableTimerClock (&(_HardwareTimerObj .handle ));
766
+ uint32_t index = get_timer_index (_timerObj .handle .Instance );
767
+ disableTimerClock (&(_timerObj .handle ));
768
768
HardwareTimer_Handle[index ] = NULL ;
769
- _HardwareTimerObj .__this = NULL ;
769
+ _timerObj .__this = NULL ;
770
770
}
771
771
772
772
/* *
@@ -904,7 +904,7 @@ uint32_t HardwareTimer::getTimerClkFreq()
904
904
905
905
/* Get clock configuration */
906
906
HAL_RCC_GetClockConfig (&clkconfig, &pFLatency);
907
- switch (getTimerClkSrc (_HardwareTimerObj .handle .Instance )) {
907
+ switch (getTimerClkSrc (_timerObj .handle .Instance )) {
908
908
case 1 :
909
909
uwAPBxPrescaler = clkconfig.APB1CLKDivider ;
910
910
uwTimclock = HAL_RCC_GetPCLK1Freq ();
@@ -1015,25 +1015,15 @@ uint32_t HardwareTimer::getTimerClkFreq()
1015
1015
return uwTimclock;
1016
1016
}
1017
1017
1018
- /* Aim of the function is to get _HardwareTimerObj_s pointer using htim pointer */
1019
- /* Highly inspired from magical linux kernel's "container_of" */
1020
- /* (which was not directly used since not compatible with IAR toolchain) */
1021
- HardwareTimerObj_t *get_timer_obj (TIM_HandleTypeDef *htim)
1022
- {
1023
- HardwareTimerObj_t *obj;
1024
- obj = (HardwareTimerObj_t *)((char *)htim - offsetof (HardwareTimerObj_t, handle));
1025
- return (obj);
1026
- }
1027
-
1028
1018
/* *
1029
1019
* @brief This function will reset the timer
1030
1020
* @param obj : Hardware timer instance ex: Timer6, ...
1031
1021
* @retval None
1032
1022
*/
1033
1023
void HardwareTimer::timerHandleDeinit ()
1034
1024
{
1035
- HAL_TIM_Base_Stop_IT (&(_HardwareTimerObj .handle ));
1036
- HAL_TIM_Base_DeInit (&(_HardwareTimerObj .handle ));
1025
+ HAL_TIM_Base_Stop_IT (&(_timerObj .handle ));
1026
+ HAL_TIM_Base_DeInit (&(_timerObj .handle ));
1037
1027
}
1038
1028
1039
1029
/* *****************************************************************************/
0 commit comments