#pragma once #include "main.h" #include #include #include #ifdef __cplusplus extern "C" { #endif /* 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; const char* name; } 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 gpio_cc1101_g0; extern const GpioPin gpio_rf_sw_0; 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; extern const GpioPin gpio_infrared_rx; extern const GpioPin gpio_infrared_tx; extern const GpioPin gpio_usart_tx; extern const GpioPin gpio_usart_rx; extern const GpioPin gpio_i2c_power_sda; extern const GpioPin gpio_i2c_power_scl; #ifdef __cplusplus } #endif