Browse Source

HAL LFRFID: fix resistor heating on f5 target (#470)

Co-authored-by: あく <alleteam@gmail.com>
SG 4 years ago
parent
commit
a02aa42095

+ 2 - 2
applications/lf-rfid/helpers/rfid-timer-emulator.cpp

@@ -53,10 +53,10 @@ void RfidTimerEmulator::start(Type type) {
 
 void RfidTimerEmulator::stop() {
     api_hal_rfid_tim_emulate_stop();
+    api_interrupt_remove(timer_update_callback, InterruptTypeTimerUpdate);
+
     api_hal_rfid_tim_reset();
     api_hal_rfid_pins_reset();
-
-    api_interrupt_remove(timer_update_callback, InterruptTypeTimerUpdate);
 }
 
 void RfidTimerEmulator::timer_update_callback(void* _hw, void* ctx) {

+ 3 - 7
firmware/targets/f5/api-hal/api-hal-rfid.c

@@ -11,13 +11,9 @@ void api_hal_rfid_pins_reset() {
     // ibutton bus disable
     api_hal_ibutton_stop();
 
-    // pulldown rfid antenna
-    hal_gpio_init(&gpio_rfid_carrier_out, GpioModeOutputPushPull, GpioSpeedLow, GpioPullNo);
-    hal_gpio_write(&gpio_rfid_carrier_out, true);
-
-    // from both sides
-    hal_gpio_init(&gpio_rfid_pull, GpioModeOutputPushPull, GpioSpeedLow, GpioPullNo);
-    hal_gpio_write(&gpio_rfid_pull, false);
+    // rfid pins disable
+    hal_gpio_init(&gpio_rfid_carrier_out, GpioModeAnalog, GpioSpeedLow, GpioPullNo);
+    hal_gpio_init(&gpio_rfid_pull, GpioModeAnalog, GpioSpeedLow, GpioPullNo);
 }
 
 void api_hal_rfid_pins_emulate() {