diff options
author | SG <who.just.the.doctor@gmail.com> | 2021-08-02 01:11:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-02 01:11:18 +0300 |
commit | 6926cf8b7e73c16e22c66b62ec89be8b88b76e0a (patch) | |
tree | 71a6ae5ad47d8386f535b4710ef944019dc36300 /firmware | |
parent | fb80f9537f897ac1753f45a98c53f48442dcf188 (diff) |
[FL-1449] Indala reading and writing (#616)
* Rfid: indala 40134 validation and decoding
* Rfid: show indala info
* Rfid: decoder to output comparator signal on gpio pins
* Rfid: working indala 40134 decoder
* HAL: added function to change rfid timer parameters on the fly
* RFID: Indala reading, card detection, card verification
* Rfid: indala writing
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/targets/api-hal-include/api-hal-rfid.h | 7 | ||||
-rw-r--r-- | firmware/targets/f6/api-hal/api-hal-rfid.c | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/firmware/targets/api-hal-include/api-hal-rfid.h b/firmware/targets/api-hal-include/api-hal-rfid.h index aad36a82..7f2870b0 100644 --- a/firmware/targets/api-hal-include/api-hal-rfid.h +++ b/firmware/targets/api-hal-include/api-hal-rfid.h @@ -105,6 +105,13 @@ void api_hal_rfid_set_read_period(uint32_t period); */ void api_hal_rfid_set_read_pulse(uint32_t pulse); +/** + * Сhanges the configuration of the RFID timer "on a fly" + * @param freq new frequency + * @param duty_cycle new duty cycle + */ +void api_hal_rfid_change_read_config(float freq, float duty_cycle); + #ifdef __cplusplus } #endif
\ No newline at end of file diff --git a/firmware/targets/f6/api-hal/api-hal-rfid.c b/firmware/targets/f6/api-hal/api-hal-rfid.c index 2d823cd5..be8e3c5f 100644 --- a/firmware/targets/f6/api-hal/api-hal-rfid.c +++ b/firmware/targets/f6/api-hal/api-hal-rfid.c @@ -269,4 +269,10 @@ void api_hal_rfid_set_read_pulse(uint32_t pulse) { furi_check(0); break; } +} + +void api_hal_rfid_change_read_config(float freq, float duty_cycle) { + uint32_t period = (uint32_t)((SystemCoreClock) / freq) - 1; + api_hal_rfid_set_read_period(period); + api_hal_rfid_set_read_pulse(period * duty_cycle); }
\ No newline at end of file |