| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #ifndef APP_DEFINES_H
- #define APP_DEFINES_H
- #define GPIO_PIN_COUNT 8
- #define ANIMATE_FRAME_TIME_MS 133
- #define FRAME_TIME 66.666666
- typedef void (*DrawView)(Canvas* canvas, void* ctx);
- typedef void (*HandleInput)(InputEvent* event, void* ctx);
- typedef enum { MAIN_VIEW, CONFIG_MENU_VIEW } enum_view;
- typedef enum {
- GPIO_MODE_INPUT,
- GPIO_MODE_INPUT_PULLUP,
- GPIO_MODE_OUTPUT,
- GPIO_MODE_UNSET
- } GpioUserMode;
- typedef enum {
- GPIO_VALUE_TRUE,
- GPIO_VALUE_FALSE,
- GPIO_VALUE_INPUT,
- GPIO_VALUE_NONE
- } GpioUserValue;
- typedef enum { CONFIG_MENU_MODE, CONFIG_MENU_VALUE, CONFIG_MENU_INPUT } ConfigMenuOptions;
- typedef struct {
- GpioUserMode mode;
- GpioUserValue value;
- int gp_idx_input;
- bool changed;
- GpioUserMode prev_mode;
- } GPIOPinUserSelection;
- typedef struct {
- int selected;
- enum_view view;
- int wiggle_frame;
- size_t prev_frame_time;
- size_t elapsed_time;
- double result;
- double freq_var;
- double elapsed_var;
- ConfigMenuOptions config_menu_selected;
- } ViewerState;
- // 5V A7 A6 A4 B3 B2 C3 GND SET
- //
- //
- // 3V SWC GND SIO TX RX C1 C0 1W GND
- typedef enum {
- PIN_5V = 0,
- PIN_A7,
- PIN_A6,
- PIN_A4,
- PIN_B3,
- PIN_B2,
- PIN_C3,
- GEARIC,
- PIN_3V,
- PIN_SWC,
- PIN_SIO,
- PIN_TX,
- PIN_RX,
- PIN_C1,
- PIN_C0,
- PIN_1W,
- PIN_GND_08,
- PIN_GND_11,
- PIN_GND_18,
- NONE
- } enum_view_element;
- typedef struct {
- enum_view_element element;
- enum_view_element opposite;
- bool selectable;
- bool editable;
- bool top_row;
- bool pull_out;
- int gp_idx;
- uint8_t x_pos;
- uint8_t y_pos;
- const char* name;
- Icon* icon;
- Icon* selected_icon;
- } ViewElement;
- typedef struct {
- uint8_t element_idx;
- const GpioPin* pin;
- GpioMode mode;
- GpioPull pull;
- GpioSpeed speed;
- double value;
- const char* name;
- bool unset;
- bool found;
- bool input;
- GPIOPinUserSelection user;
- } GPIOPin;
- // GPIO enums from firmware/targets/f7/furi_hal/furi_hal_gpio.h
- // /**
- // * Gpio modes
- // */
- // typedef enum {
- // *GpioModeInput,
- // *GpioModeOutputPushPull,
- // GpioModeOutputOpenDrain,
- // GpioModeAltFunctionPushPull,
- // GpioModeAltFunctionOpenDrain,
- // *GpioModeAnalog,
- // GpioModeInterruptRise,
- // GpioModeInterruptFall,
- // GpioModeInterruptRiseFall,
- // GpioModeEventRise,
- // GpioModeEventFall,
- // GpioModeEventRiseFall,
- // } GpioMode;
- // /**
- // * Gpio pull modes
- // */
- // typedef enum {
- // GpioPullNo,
- // GpioPullUp,
- // GpioPullDown,
- // } GpioPull;
- #endif
|