unleashed-firmware/targets/f7/furi_hal/furi_hal_nfc_irq.c
あく acc39a4bc0
Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00

29 lines
998 B
C

#include "furi_hal_nfc_i.h"
#include <lib/drivers/st25r3916.h>
#include <furi_hal_resources.h>
static void furi_hal_nfc_int_callback(void* context) {
UNUSED(context);
furi_hal_nfc_event_set(FuriHalNfcEventInternalTypeIrq);
}
uint32_t furi_hal_nfc_get_irq(FuriHalSpiBusHandle* handle) {
uint32_t irq = 0;
while(furi_hal_gpio_read_port_pin(gpio_nfc_irq_rfid_pull.port, gpio_nfc_irq_rfid_pull.pin)) {
irq |= st25r3916_get_irq(handle);
}
return irq;
}
void furi_hal_nfc_init_gpio_isr(void) {
furi_hal_gpio_init(
&gpio_nfc_irq_rfid_pull, GpioModeInterruptRise, GpioPullDown, GpioSpeedVeryHigh);
furi_hal_gpio_add_int_callback(&gpio_nfc_irq_rfid_pull, furi_hal_nfc_int_callback, NULL);
furi_hal_gpio_enable_int_callback(&gpio_nfc_irq_rfid_pull);
}
void furi_hal_nfc_deinit_gpio_isr(void) {
furi_hal_gpio_remove_int_callback(&gpio_nfc_irq_rfid_pull);
furi_hal_gpio_init(&gpio_nfc_irq_rfid_pull, GpioModeAnalog, GpioPullNo, GpioSpeedLow);
}