mp_flipper_modflipperzero.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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_ALIGN_BEGIN (1 << 0)
  24. #define MP_FLIPPER_ALIGN_CENTER (1 << 1)
  25. #define MP_FLIPPER_ALIGN_END (1 << 2)
  26. #define MP_FLIPPER_FONT_PRIMARY (1 << 0)
  27. #define MP_FLIPPER_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. #define MP_FLIPPER_SPEAKER_NOTE_C0 16.35f
  34. bool mp_flipper_speaker_start(float frequency, float volume);
  35. bool mp_flipper_speaker_set_volume(float volume);
  36. bool mp_flipper_speaker_stop();
  37. uint8_t mp_flipper_canvas_width();
  38. uint8_t mp_flipper_canvas_height();
  39. uint8_t mp_flipper_canvas_text_width(const char* text);
  40. uint8_t mp_flipper_canvas_text_height();
  41. void mp_flipper_canvas_draw_dot(uint8_t x, uint8_t y);
  42. void mp_flipper_canvas_draw_box(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t r);
  43. void mp_flipper_canvas_draw_frame(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint8_t r);
  44. void mp_flipper_canvas_draw_line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1);
  45. void mp_flipper_canvas_draw_circle(uint8_t x, uint8_t y, uint8_t r);
  46. void mp_flipper_canvas_draw_disc(uint8_t x, uint8_t y, uint8_t r);
  47. void mp_flipper_canvas_set_font(uint8_t font);
  48. void mp_flipper_canvas_set_color(uint8_t color);
  49. void mp_flipper_canvas_set_text(uint8_t x, uint8_t y, const char* text);
  50. void mp_flipper_canvas_set_text_align(uint8_t x, uint8_t y);
  51. void mp_flipper_canvas_update();
  52. void mp_flipper_canvas_clear();
  53. void mp_flipper_on_input(uint16_t button, uint16_t type);
  54. void mp_flipper_dialog_message_set_text(const char* text, uint8_t x, uint8_t y, uint8_t h, uint8_t v);
  55. void mp_flipper_dialog_message_set_header(const char* text, uint8_t x, uint8_t y, uint8_t h, uint8_t v);
  56. void mp_flipper_dialog_message_set_button(const char* text, uint8_t button);
  57. uint8_t mp_flipper_dialog_message_show();
  58. void mp_flipper_dialog_message_clear();