stm32: Update HAL macro and constant names to use newer versions.
Newer versions of the HAL use names which are cleaner and more self-consistent amongst the HAL itself. This patch switches to use those names in most places so it is easier to update the HAL in the future.
This commit is contained in:
@@ -166,7 +166,7 @@ void timer_deinit(void) {
|
||||
// This function inits but does not start the timer
|
||||
void timer_tim5_init(void) {
|
||||
// TIM5 clock enable
|
||||
__TIM5_CLK_ENABLE();
|
||||
__HAL_RCC_TIM5_CLK_ENABLE();
|
||||
|
||||
// set up and enable interrupt
|
||||
HAL_NVIC_SetPriority(TIM5_IRQn, IRQ_PRI_TIM5, IRQ_SUBPRI_TIM5);
|
||||
@@ -188,7 +188,7 @@ void timer_tim5_init(void) {
|
||||
// This function inits but does not start the timer
|
||||
TIM_HandleTypeDef *timer_tim6_init(uint freq) {
|
||||
// TIM6 clock enable
|
||||
__TIM6_CLK_ENABLE();
|
||||
__HAL_RCC_TIM6_CLK_ENABLE();
|
||||
|
||||
// Timer runs at SystemCoreClock / 2
|
||||
// Compute the prescaler value so TIM6 triggers at freq-Hz
|
||||
@@ -302,7 +302,7 @@ STATIC uint32_t compute_prescaler_period_from_freq(pyb_timer_obj_t *self, mp_obj
|
||||
STATIC uint32_t compute_period(pyb_timer_obj_t *self) {
|
||||
// In center mode, compare == period corresponds to 100%
|
||||
// In edge mode, compare == (period + 1) corresponds to 100%
|
||||
uint32_t period = (__HAL_TIM_GetAutoreload(&self->tim) & TIMER_CNT_MASK(self));
|
||||
uint32_t period = (__HAL_TIM_GET_AUTORELOAD(&self->tim) & TIMER_CNT_MASK(self));
|
||||
if (period != 0xffffffff) {
|
||||
if (self->tim.Init.CounterMode == TIM_COUNTERMODE_UP ||
|
||||
self->tim.Init.CounterMode == TIM_COUNTERMODE_DOWN) {
|
||||
@@ -439,7 +439,7 @@ STATIC void pyb_timer_print(const mp_print_t *print, mp_obj_t self_in, mp_print_
|
||||
mp_printf(print, "Timer(%u)", self->tim_id);
|
||||
} else {
|
||||
uint32_t prescaler = self->tim.Instance->PSC & 0xffff;
|
||||
uint32_t period = __HAL_TIM_GetAutoreload(&self->tim) & TIMER_CNT_MASK(self);
|
||||
uint32_t period = __HAL_TIM_GET_AUTORELOAD(&self->tim) & TIMER_CNT_MASK(self);
|
||||
// for efficiency, we compute and print freq as an int (not a float)
|
||||
uint32_t freq = timer_get_source_freq(self->tim_id) / ((prescaler + 1) * (period + 1));
|
||||
mp_printf(print, "Timer(%u, freq=%u, prescaler=%u, period=%u, mode=%s, div=%u",
|
||||
@@ -554,46 +554,46 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, size_t n_args, cons
|
||||
|
||||
// enable TIM clock
|
||||
switch (self->tim_id) {
|
||||
case 1: __TIM1_CLK_ENABLE(); break;
|
||||
case 2: __TIM2_CLK_ENABLE(); break;
|
||||
case 3: __TIM3_CLK_ENABLE(); break;
|
||||
case 4: __TIM4_CLK_ENABLE(); break;
|
||||
case 5: __TIM5_CLK_ENABLE(); break;
|
||||
case 1: __HAL_RCC_TIM1_CLK_ENABLE(); break;
|
||||
case 2: __HAL_RCC_TIM2_CLK_ENABLE(); break;
|
||||
case 3: __HAL_RCC_TIM3_CLK_ENABLE(); break;
|
||||
case 4: __HAL_RCC_TIM4_CLK_ENABLE(); break;
|
||||
case 5: __HAL_RCC_TIM5_CLK_ENABLE(); break;
|
||||
#if defined(TIM6)
|
||||
case 6: __TIM6_CLK_ENABLE(); break;
|
||||
case 6: __HAL_RCC_TIM6_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM7)
|
||||
case 7: __TIM7_CLK_ENABLE(); break;
|
||||
case 7: __HAL_RCC_TIM7_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM8)
|
||||
case 8: __TIM8_CLK_ENABLE(); break;
|
||||
case 8: __HAL_RCC_TIM8_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM9)
|
||||
case 9: __TIM9_CLK_ENABLE(); break;
|
||||
case 9: __HAL_RCC_TIM9_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM10)
|
||||
case 10: __TIM10_CLK_ENABLE(); break;
|
||||
case 10: __HAL_RCC_TIM10_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM11)
|
||||
case 11: __TIM11_CLK_ENABLE(); break;
|
||||
case 11: __HAL_RCC_TIM11_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM12)
|
||||
case 12: __TIM12_CLK_ENABLE(); break;
|
||||
case 12: __HAL_RCC_TIM12_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM13)
|
||||
case 13: __TIM13_CLK_ENABLE(); break;
|
||||
case 13: __HAL_RCC_TIM13_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM14)
|
||||
case 14: __TIM14_CLK_ENABLE(); break;
|
||||
case 14: __HAL_RCC_TIM14_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM15)
|
||||
case 15: __TIM15_CLK_ENABLE(); break;
|
||||
case 15: __HAL_RCC_TIM15_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM16)
|
||||
case 16: __TIM16_CLK_ENABLE(); break;
|
||||
case 16: __HAL_RCC_TIM16_CLK_ENABLE(); break;
|
||||
#endif
|
||||
#if defined(TIM17)
|
||||
case 17: __TIM17_CLK_ENABLE(); break;
|
||||
case 17: __HAL_RCC_TIM17_CLK_ENABLE(); break;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1062,7 +1062,7 @@ STATIC mp_obj_t pyb_timer_channel(size_t n_args, const mp_obj_t *pos_args, mp_ma
|
||||
// an interrupt by initializing the timer.
|
||||
__HAL_TIM_DISABLE_IT(&self->tim, TIM_IT_UPDATE);
|
||||
HAL_TIM_Encoder_Init(&self->tim, &enc_config);
|
||||
__HAL_TIM_SetCounter(&self->tim, 0);
|
||||
__HAL_TIM_SET_COUNTER(&self->tim, 0);
|
||||
if (self->callback != mp_const_none) {
|
||||
__HAL_TIM_CLEAR_FLAG(&self->tim, TIM_IT_UPDATE);
|
||||
__HAL_TIM_ENABLE_IT(&self->tim, TIM_IT_UPDATE);
|
||||
@@ -1088,7 +1088,7 @@ STATIC mp_obj_t pyb_timer_counter(size_t n_args, const mp_obj_t *args) {
|
||||
return mp_obj_new_int(self->tim.Instance->CNT);
|
||||
} else {
|
||||
// set
|
||||
__HAL_TIM_SetCounter(&self->tim, mp_obj_get_int(args[1]));
|
||||
__HAL_TIM_SET_COUNTER(&self->tim, mp_obj_get_int(args[1]));
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
@@ -1110,7 +1110,7 @@ STATIC mp_obj_t pyb_timer_freq(size_t n_args, const mp_obj_t *args) {
|
||||
if (n_args == 1) {
|
||||
// get
|
||||
uint32_t prescaler = self->tim.Instance->PSC & 0xffff;
|
||||
uint32_t period = __HAL_TIM_GetAutoreload(&self->tim) & TIMER_CNT_MASK(self);
|
||||
uint32_t period = __HAL_TIM_GET_AUTORELOAD(&self->tim) & TIMER_CNT_MASK(self);
|
||||
uint32_t source_freq = timer_get_source_freq(self->tim_id);
|
||||
uint32_t divide = ((prescaler + 1) * (period + 1));
|
||||
#if MICROPY_PY_BUILTINS_FLOAT
|
||||
@@ -1126,7 +1126,7 @@ STATIC mp_obj_t pyb_timer_freq(size_t n_args, const mp_obj_t *args) {
|
||||
uint32_t period;
|
||||
uint32_t prescaler = compute_prescaler_period_from_freq(self, args[1], &period);
|
||||
self->tim.Instance->PSC = prescaler;
|
||||
__HAL_TIM_SetAutoreload(&self->tim, period);
|
||||
__HAL_TIM_SET_AUTORELOAD(&self->tim, period);
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
@@ -1153,10 +1153,10 @@ STATIC mp_obj_t pyb_timer_period(size_t n_args, const mp_obj_t *args) {
|
||||
pyb_timer_obj_t *self = args[0];
|
||||
if (n_args == 1) {
|
||||
// get
|
||||
return mp_obj_new_int(__HAL_TIM_GetAutoreload(&self->tim) & TIMER_CNT_MASK(self));
|
||||
return mp_obj_new_int(__HAL_TIM_GET_AUTORELOAD(&self->tim) & TIMER_CNT_MASK(self));
|
||||
} else {
|
||||
// set
|
||||
__HAL_TIM_SetAutoreload(&self->tim, mp_obj_get_int(args[1]) & TIMER_CNT_MASK(self));
|
||||
__HAL_TIM_SET_AUTORELOAD(&self->tim, mp_obj_get_int(args[1]) & TIMER_CNT_MASK(self));
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
@@ -1265,10 +1265,10 @@ STATIC mp_obj_t pyb_timer_channel_capture_compare(size_t n_args, const mp_obj_t
|
||||
pyb_timer_channel_obj_t *self = args[0];
|
||||
if (n_args == 1) {
|
||||
// get
|
||||
return mp_obj_new_int(__HAL_TIM_GetCompare(&self->timer->tim, TIMER_CHANNEL(self)) & TIMER_CNT_MASK(self->timer));
|
||||
return mp_obj_new_int(__HAL_TIM_GET_COMPARE(&self->timer->tim, TIMER_CHANNEL(self)) & TIMER_CNT_MASK(self->timer));
|
||||
} else {
|
||||
// set
|
||||
__HAL_TIM_SetCompare(&self->timer->tim, TIMER_CHANNEL(self), mp_obj_get_int(args[1]) & TIMER_CNT_MASK(self->timer));
|
||||
__HAL_TIM_SET_COMPARE(&self->timer->tim, TIMER_CHANNEL(self), mp_obj_get_int(args[1]) & TIMER_CNT_MASK(self->timer));
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
@@ -1285,12 +1285,12 @@ STATIC mp_obj_t pyb_timer_channel_pulse_width_percent(size_t n_args, const mp_ob
|
||||
uint32_t period = compute_period(self->timer);
|
||||
if (n_args == 1) {
|
||||
// get
|
||||
uint32_t cmp = __HAL_TIM_GetCompare(&self->timer->tim, TIMER_CHANNEL(self)) & TIMER_CNT_MASK(self->timer);
|
||||
uint32_t cmp = __HAL_TIM_GET_COMPARE(&self->timer->tim, TIMER_CHANNEL(self)) & TIMER_CNT_MASK(self->timer);
|
||||
return compute_percent_from_pwm_value(period, cmp);
|
||||
} else {
|
||||
// set
|
||||
uint32_t cmp = compute_pwm_value_from_percent(period, args[1]);
|
||||
__HAL_TIM_SetCompare(&self->timer->tim, TIMER_CHANNEL(self), cmp & TIMER_CNT_MASK(self->timer));
|
||||
__HAL_TIM_SET_COMPARE(&self->timer->tim, TIMER_CHANNEL(self), cmp & TIMER_CNT_MASK(self->timer));
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
@@ -1365,7 +1365,7 @@ STATIC void timer_handle_irq_channel(pyb_timer_obj_t *tim, uint8_t channel, mp_o
|
||||
uint32_t irq_mask = TIMER_IRQ_MASK(channel);
|
||||
|
||||
if (__HAL_TIM_GET_FLAG(&tim->tim, irq_mask) != RESET) {
|
||||
if (__HAL_TIM_GET_ITSTATUS(&tim->tim, irq_mask) != RESET) {
|
||||
if (__HAL_TIM_GET_IT_SOURCE(&tim->tim, irq_mask) != RESET) {
|
||||
// clear the interrupt
|
||||
__HAL_TIM_CLEAR_IT(&tim->tim, irq_mask);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user