 46bc515c6a
			
		
	
	
		46bc515c6a
		
			
		
	
	
	
	
		
			
			* 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
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "main.h"
 | |
| #include <furi.h>
 | |
| 
 | |
| #include <stm32wbxx.h>
 | |
| #include <stm32wbxx_ll_gpio.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define POWER_I2C_SCL_Pin LL_GPIO_PIN_9
 | |
| #define POWER_I2C_SCL_GPIO_Port GPIOA
 | |
| #define POWER_I2C_SDA_Pin LL_GPIO_PIN_10
 | |
| #define POWER_I2C_SDA_GPIO_Port GPIOA
 | |
| 
 | |
| #define POWER_I2C I2C1
 | |
| /** Timing register value is computed with the STM32CubeMX Tool,
 | |
|   * Fast Mode @100kHz with I2CCLK = 64 MHz,
 | |
|   * rise time = 0ns, fall time = 0ns
 | |
|   */
 | |
| #define POWER_I2C_TIMINGS 0x10707DBC
 | |
| 
 | |
| /* Input Related Constants */
 | |
| #define INPUT_DEBOUNCE_TICKS 20
 | |
| 
 | |
| /* Input Keys */
 | |
| typedef enum {
 | |
|     InputKeyUp,
 | |
|     InputKeyDown,
 | |
|     InputKeyRight,
 | |
|     InputKeyLeft,
 | |
|     InputKeyOk,
 | |
|     InputKeyBack,
 | |
| } InputKey;
 | |
| 
 | |
| /* Light */
 | |
| typedef enum {
 | |
|     LightRed,
 | |
|     LightGreen,
 | |
|     LightBlue,
 | |
|     LightBacklight,
 | |
| } Light;
 | |
| 
 | |
| typedef struct {
 | |
|     const GPIO_TypeDef* port;
 | |
|     const uint16_t pin;
 | |
|     const InputKey key;
 | |
|     const bool inverted;
 | |
| } InputPin;
 | |
| 
 | |
| extern const InputPin input_pins[];
 | |
| extern const size_t input_pins_count;
 | |
| 
 | |
| extern const GpioPin vibro_gpio;
 | |
| extern const GpioPin ibutton_gpio;
 | |
| extern const GpioPin cc1101_g0_gpio;
 | |
| 
 | |
| extern const GpioPin gpio_subghz_cs;
 | |
| extern const GpioPin gpio_display_cs;
 | |
| extern const GpioPin gpio_display_rst;
 | |
| extern const GpioPin gpio_display_di;
 | |
| extern const GpioPin gpio_sdcard_cs;
 | |
| extern const GpioPin gpio_nfc_cs;
 | |
| 
 | |
| extern const GpioPin gpio_spi_d_miso;
 | |
| extern const GpioPin gpio_spi_d_mosi;
 | |
| extern const GpioPin gpio_spi_d_sck;
 | |
| extern const GpioPin gpio_spi_r_miso;
 | |
| extern const GpioPin gpio_spi_r_mosi;
 | |
| extern const GpioPin gpio_spi_r_sck;
 | |
| 
 | |
| extern const GpioPin gpio_ext_pc0;
 | |
| extern const GpioPin gpio_ext_pc1;
 | |
| extern const GpioPin gpio_ext_pc3;
 | |
| extern const GpioPin gpio_ext_pb2;
 | |
| extern const GpioPin gpio_ext_pb3;
 | |
| extern const GpioPin gpio_ext_pa4;
 | |
| extern const GpioPin gpio_ext_pa6;
 | |
| extern const GpioPin gpio_ext_pa7;
 | |
| 
 | |
| extern const GpioPin gpio_rfid_pull;
 | |
| extern const GpioPin gpio_rfid_carrier_out;
 | |
| extern const GpioPin gpio_rfid_data_in;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |