489caa8e77
* FuriHal: refactor interrupts subsystem * Furi,FuriHal: gather all ISRs under interrupt API, improve crtitical section and cleanup garbage * FuriHal: mirgate ipcc and hsem to LL * Format Sources * FuriHal,BleGlue: move to new critical section * Format Sources * FuriHal: correct flash locking * FuriHal: replace critical section with interrupt disable in OS routine, minor fixex
92 lines
2.0 KiB
C
92 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
|
|
|
|
/* 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 GpioPin* pin;
|
|
const InputKey key;
|
|
const bool inverted;
|
|
const char* name;
|
|
} InputPin;
|
|
|
|
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_rfid_carrier;
|
|
|
|
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;
|
|
|
|
extern const GpioPin gpio_speaker;
|
|
|
|
// Input pins
|
|
extern const InputPin input_pins[];
|
|
extern const size_t input_pins_count;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|