power_i.h 773 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "power.h"
  3. #include <stdint.h>
  4. #include <gui/view_dispatcher.h>
  5. #include <gui/gui.h>
  6. #include <gui/modules/popup.h>
  7. #include "views/power_off.h"
  8. #include <notification/notification-messages.h>
  9. typedef enum {
  10. PowerStateNotCharging,
  11. PowerStateCharging,
  12. PowerStateCharged,
  13. } PowerState;
  14. struct Power {
  15. ViewDispatcher* view_dispatcher;
  16. Popup* popup;
  17. PowerOff* power_off;
  18. ViewPort* battery_view_port;
  19. Gui* gui;
  20. NotificationApp* notification;
  21. FuriPubSub* event_pubsub;
  22. PowerEvent event;
  23. PowerState state;
  24. PowerInfo info;
  25. osMutexId_t info_mtx;
  26. bool battery_low;
  27. uint8_t battery_level;
  28. uint8_t power_off_timeout;
  29. };
  30. typedef enum {
  31. PowerViewPopup,
  32. PowerViewOff,
  33. } PowerView;