diff --git a/firmware/targets/f6/api-hal/api-hal-rfid.c b/firmware/targets/f6/api-hal/api-hal-rfid.c index 7146b927..c120d18d 100644 --- a/firmware/targets/f6/api-hal/api-hal-rfid.c +++ b/firmware/targets/f6/api-hal/api-hal-rfid.c @@ -27,7 +27,7 @@ void api_hal_rfid_pins_emulate() { // pull pin to timer out hal_gpio_init_ex( - &gpio_rfid_pull, GpioModeOutputPushPull, GpioSpeedLow, GpioPullNo, GpioAltFn1TIM1); + &gpio_rfid_pull, GpioModeAltFunctionPushPull, GpioSpeedLow, GpioPullNo, GpioAltFn1TIM2); // pull rfid antenna from carrier side hal_gpio_init(&gpio_rfid_carrier_out, GpioModeOutputPushPull, GpioSpeedLow, GpioPullNo); @@ -45,7 +45,7 @@ void api_hal_rfid_pins_read() { // carrier pin to timer out hal_gpio_init_ex( - &gpio_rfid_carrier_out, GpioModeOutputPushPull, GpioSpeedLow, GpioPullNo, GpioAltFn1TIM1); + &gpio_rfid_carrier_out, GpioModeAltFunctionPushPull, GpioSpeedLow, GpioPullNo, GpioAltFn1TIM1); // comparator in hal_gpio_init(&gpio_rfid_data_in, GpioModeAnalog, GpioSpeedLow, GpioPullNo); diff --git a/firmware/targets/f6/api-hal/api-hal-tim.c b/firmware/targets/f6/api-hal/api-hal-tim.c index 2352e898..42f0f4eb 100644 --- a/firmware/targets/f6/api-hal/api-hal-tim.c +++ b/firmware/targets/f6/api-hal/api-hal-tim.c @@ -3,44 +3,43 @@ #include #include - -void TIM2_IRQHandler(void) -{ +void TIM2_IRQHandler(void) { bool consumed = false; if(LL_TIM_IsActiveFlag_CC1(TIM2) == 1) { - if (LL_TIM_IsEnabledIT_CC1(TIM2)) { + if(LL_TIM_IsEnabledIT_CC1(TIM2)) { LL_TIM_ClearFlag_CC1(TIM2); - if (READ_BIT(TIM2->CCMR1, TIM_CCMR1_CC1S)) { + if(READ_BIT(TIM2->CCMR1, TIM_CCMR1_CC1S)) { // input capture api_hal_irda_tim_isr(TimerIRQSourceCCI1); consumed = true; - } - else { + } else { // output compare - // HAL_TIM_OC_DelayElapsedCallback(htim); - // HAL_TIM_PWM_PulseFinishedCallback(htim); + // HAL_TIM_OC_DelayElapsedCallback(htim); + // HAL_TIM_PWM_PulseFinishedCallback(htim); } } } if(LL_TIM_IsActiveFlag_CC2(TIM2) == 1) { - if (LL_TIM_IsEnabledIT_CC2(TIM2)) { + if(LL_TIM_IsEnabledIT_CC2(TIM2)) { LL_TIM_ClearFlag_CC2(TIM2); - if (READ_BIT(TIM2->CCMR1, TIM_CCMR1_CC2S)) { + if(READ_BIT(TIM2->CCMR1, TIM_CCMR1_CC2S)) { // input capture api_hal_irda_tim_isr(TimerIRQSourceCCI2); consumed = true; - } - else { + } else { // output compare - // HAL_TIM_OC_DelayElapsedCallback(htim); - // HAL_TIM_PWM_PulseFinishedCallback(htim); + // HAL_TIM_OC_DelayElapsedCallback(htim); + // HAL_TIM_PWM_PulseFinishedCallback(htim); } } } - furi_check(consumed); + // TODO move all timers on LL hal + if(!consumed) { + // currently backed up with a crutch, we need more bicycles + HAL_TIM_IRQHandler(&htim2); + } } -