mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-23 13:03:13 +00:00
[FL-1367] fix rfid on f6 target (#500)
* RFID hal: fix gpio setup * timers hal: crutch for HAL * RFID hal: fix gpio setup
This commit is contained in:
parent
7e6a97c3a3
commit
a93f21dfbe
2 changed files with 18 additions and 19 deletions
|
@ -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);
|
||||
|
|
|
@ -3,44 +3,43 @@
|
|||
#include <stm32wbxx_ll_tim.h>
|
||||
#include <furi.h>
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue