Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSG <who.just.the.doctor@gmail.com>2021-08-02 01:11:18 +0300
committerGitHub <noreply@github.com>2021-08-02 01:11:18 +0300
commit6926cf8b7e73c16e22c66b62ec89be8b88b76e0a (patch)
tree71a6ae5ad47d8386f535b4710ef944019dc36300 /firmware
parentfb80f9537f897ac1753f45a98c53f48442dcf188 (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.h7
-rw-r--r--firmware/targets/f6/api-hal/api-hal-rfid.c6
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