Low frequency RFID app [Read stage] (#385)

* App Lfrfid: init
* HAL-resources: add external gpios
* HAL-pwm: fix frequency calculation
* App LFRFID: generic manchester decoder
* App LFRFID: em-marine decoder
* App iButton: fix dwt timing acquire
* App LFRFID: rfid reader
* App LFRFID: temporary read keys on read scene
* App LFRFID: remove atomic bool init.
* App LFRFID: add *.c to build
* App LFRFID: unstable HID decoder
* App LFRFID: HID-26 reading
* HAL OS: disable sleep
* App LFRFID: HID-26 reader: remove debug
* App LFRFID: static data decoder-analyzer
* App LFRFID: very raw Indala decoder
* App LFRFID: multiprotocol reader
* App LFRFID: more reliable HID decoder
* App LFRFID: syntax fix
* App LFRFID: simple read scene
* Gui: force redraw on screen stream connect
* HAL-OS: allow sleep
* App LFRFID: notify api, tune view, tune scene
* App LFRFID: simple rfid emulator
* App LFRFID: more scenes, more reliable EM decoder.
* App LFRFID: format fix
* App LFRFID: warning fix
* Api-hal-resources: add rfid pins, rename external pins
* App LFRFID: remove unused emulator
* App LFRFID: use new gpio hal api
* App accessor: use new ext gpio name
* App LFRFID: remove unused emulator
* App LFRFID: remove debug gpio
* Api-hal-resources: alternate functions init
* Api-hal-rfid: new api
* Api-hal-ibutton: new api
* Api-hal: new headers
* App LFRFID: use new api in reader subroutines
* App LFRFID: use new api in emulator subroutines
* App LFRFID: remove old app
* App LFRFID, App iButton: fix memleak
* Api-hal-rfid: comments
* App LFRFID: pulse joiner helper, it combines pulses of different polarity into one pulse suitable for a timer
* App LFRFID: pulse joiner, now can accept only ne pulse
* App LFRFID: pulse joiner, fixes
* App LFRFID: EM encoder and emulation
* App LFRFID: format fixes
* App LFRFID: emmarine encoder cleanup
* App LFRFID: HID Encoder blank
* App LFRFID: Indala Encoder blank
This commit is contained in:
SG
2021-05-04 23:21:16 +10:00
committed by GitHub
parent dd9bd224be
commit 46bc515c6a
66 changed files with 3278 additions and 514 deletions

View File

@@ -0,0 +1,20 @@
#pragma once
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
void api_hal_ibutton_start();
void api_hal_ibutton_stop();
void api_hal_ibutton_pin_low();
void api_hal_ibutton_pin_high();
bool api_hal_ibutton_pin_get_level();
#ifdef __cplusplus
}
#endif

View File

@@ -0,0 +1,73 @@
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief config rfid pins to reset state
*
*/
void api_hal_rfid_pins_reset();
/**
* @brief config rfid pins to emulate state
*
*/
void api_hal_rfid_pins_emulate();
/**
* @brief config rfid pins to read state
*
*/
void api_hal_rfid_pins_read();
/**
* @brief config rfid timer to read state
*
* @param freq timer frequency
* @param duty_cycle timer duty cycle, 0.0-1.0
*/
void api_hal_rfid_tim_read(float freq, float duty_cycle);
/**
* @brief start read timer
*
*/
void api_hal_rfid_tim_read_start();
/**
* @brief stop read timer
*
*/
void api_hal_rfid_tim_read_stop();
/**
* @brief config rfid timer to emulate state
*
* @param freq timer frequency
*/
void api_hal_rfid_tim_emulate(float freq);
/**
* @brief start emulation timer
*
*/
void api_hal_rfid_tim_emulate_start();
/**
* @brief stop emulation timer
*
*/
void api_hal_rfid_tim_emulate_stop();
/**
* @brief config rfid timers to reset state
*
*/
void api_hal_rfid_tim_reset();
#ifdef __cplusplus
}
#endif

View File

@@ -23,6 +23,8 @@ template <unsigned int N> struct STOP_EXTERNING_ME {};
#include "api-hal-flash.h"
#include "api-hal-subghz.h"
#include "api-hal-vibro.h"
#include "api-hal-ibutton.h"
#include "api-hal-rfid.h"
/** Init api-hal */
void api_hal_init();