mp_flipper_modflipperzero.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. #define MP_FLIPPER_LED_RED (1 << 0)
  5. #define MP_FLIPPER_LED_GREEN (1 << 1)
  6. #define MP_FLIPPER_LED_BLUE (1 << 2)
  7. #define MP_FLIPPER_LED_BACKLIGHT (1 << 3)
  8. #define MP_FLIPPER_COLOR_BLACK (1 << 0)
  9. #define MP_FLIPPER_COLOR_WHITE (1 << 1)
  10. #define MP_FLIPPER_INPUT_BUTTON_UP (1 << 0)
  11. #define MP_FLIPPER_INPUT_BUTTON_DOWN (1 << 1)
  12. #define MP_FLIPPER_INPUT_BUTTON_RIGHT (1 << 2)
  13. #define MP_FLIPPER_INPUT_BUTTON_LEFT (1 << 3)
  14. #define MP_FLIPPER_INPUT_BUTTON_OK (1 << 4)
  15. #define MP_FLIPPER_INPUT_BUTTON_BACK (1 << 5)
  16. #define MP_FLIPPER_INPUT_BUTTON ((1 << 6) - 1)
  17. #define MP_FLIPPER_INPUT_TYPE_PRESS (1 << 6)
  18. #define MP_FLIPPER_INPUT_TYPE_RELEASE (1 << 7)
  19. #define MP_FLIPPER_INPUT_TYPE_SHORT (1 << 8)
  20. #define MP_FLIPPER_INPUT_TYPE_LONG (1 << 9)
  21. #define MP_FLIPPER_INPUT_TYPE_REPEAT (1 << 10)
  22. #define MP_FLIPPER_INPUT_TYPE ((1 << 11) - 1 - MP_FLIPPER_INPUT_BUTTON)
  23. #define MP_FLIPPER_CANVAS_ALIGN_BEGIN (1 << 0)
  24. #define MP_FLIPPER_CANVAS_ALIGN_CENTER (1 << 1)
  25. #define MP_FLIPPER_CANVAS_ALIGN_END (1 << 2)
  26. #define MP_FLIPPER_CANVAS_FONT_PRIMARY (1 << 0)
  27. #define MP_FLIPPER_CANVAS_FONT_SECONDARY (1 << 1)
  28. void mp_flipper_light_set(uint8_t raw_light, uint8_t brightness);
  29. void mp_flipper_light_blink_start(uint8_t raw_light, uint8_t brightness, uint16_t on_time, uint16_t period);
  30. void mp_flipper_light_blink_set_color(uint8_t raw_light);
  31. void mp_flipper_light_blink_stop();
  32. void mp_flipper_vibro(bool state);
  33. bool mp_flipper_speaker_start(float frequency, float volume);
  34. bool mp_flipper_speaker_set_volume(float volume);
  35. bool mp_flipper_speaker_stop();
  36. uint8_t mp_flipper_canvas_width();
  37. uint8_t mp_flipper_canvas_height();
  38. uint8_t mp_flipper_canvas_text_width(const char* text);
  39. uint8_t mp_flipper_canvas_text_height();
  40. void mp_flipper_canvas_draw_dot(uint8_t x, uint8_t y);
  41. void mp_flipper_canvas_draw_box(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t r);
  42. void mp_flipper_canvas_draw_frame(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t r);
  43. void mp_flipper_canvas_draw_line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1);
  44. void mp_flipper_canvas_draw_circle(uint8_t x, uint8_t y, uint8_t r);
  45. void mp_flipper_canvas_draw_disc(uint8_t x, uint8_t y, uint8_t r);
  46. void mp_flipper_canvas_set_font(uint8_t font);
  47. void mp_flipper_canvas_set_color(uint8_t color);
  48. void mp_flipper_canvas_set_text(uint8_t x, uint8_t y, const char* text);
  49. void mp_flipper_canvas_set_text_align(uint8_t x, uint8_t y);
  50. void mp_flipper_canvas_update();
  51. void mp_flipper_canvas_clear();
  52. void mp_flipper_on_input(uint16_t button, uint16_t type);