mp_flipper_context.h 981 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdint.h>
  2. #include <furi.h>
  3. #include <gui/gui.h>
  4. #include <dialogs/dialogs.h>
  5. #include <mp_flipper_modflipperzero.h>
  6. #define MP_FLIPPER_GPIO_PIN_OFF (1 << 15)
  7. #define MP_FLIPPER_GPIO_PIN_BLOCKED (1 << 7)
  8. #define MP_FLIPPER_GPIO_PIN_PWM ((MP_FLIPPER_GPIO_PIN_BLOCKED) | (1 << 8))
  9. typedef uint16_t mp_flipper_gpio_pin_t;
  10. #define MP_FLIPPER_INFRARED_RX_BUFFER_SIZE (1024)
  11. typedef struct {
  12. uint16_t size;
  13. uint32_t* buffer;
  14. uint16_t pointer;
  15. bool running;
  16. } mp_flipper_infrared_rx_t;
  17. typedef struct {
  18. Gui* gui;
  19. ViewPort* view_port;
  20. Canvas* canvas;
  21. FuriPubSub* input_event_queue;
  22. FuriPubSubSubscription* input_event;
  23. DialogMessage* dialog_message;
  24. const char* dialog_message_button_left;
  25. const char* dialog_message_button_center;
  26. const char* dialog_message_button_right;
  27. FuriHalAdcHandle* adc_handle;
  28. mp_flipper_gpio_pin_t* gpio_pins;
  29. mp_flipper_infrared_rx_t* infrared_rx;
  30. } mp_flipper_context_t;