mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-18 16:53:45 +00:00
fef16a8e7a
* Outdated apps: add api-light-usage * Gpio: update SD card CS pin settings * API-power: added fns to disable/enable external 3v3 dc-dc * API-gpio: separated SD card detect routines * Resources: removed sd cs pin * SD card: low level init now resets card power supply * App SD-filesystem: use new card detect fns * SD card: fix low level init headers * SD card: more realilable low level init, power reset, exit from command read cycle conditionally * App SD-filesystem: led notifiers, init cycling * SD card: backport to F4 * SD card: handle eject in init sequence * SD card: api to set level on detect gpio * SPI: api to set state on bus pins * SD card: set low state on bus pins while power reset Co-authored-by: coreglitch <mail@s3f.ru>
62 lines
1.1 KiB
C
62 lines
1.1 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;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|