pc_monitor.h 963 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal_bt.h>
  4. #include <furi_hal_bt_serial.h>
  5. #include <bt/bt_service/bt.h>
  6. #include <gui/gui.h>
  7. #include <gui/elements.h>
  8. #include <notification/notification_messages.h>
  9. #include <input/input.h>
  10. #define TAG "PCMonitor"
  11. #define BT_SERIAL_BUFFER_SIZE 128
  12. #define BAR_X 30
  13. #define BAR_MARGIN 14
  14. #define BAR_WIDTH 98
  15. typedef enum {
  16. BtStateChecking,
  17. BtStateInactive,
  18. BtStateWaiting,
  19. BtStateRecieving,
  20. BtStateLost
  21. } BtState;
  22. #pragma pack(push,1)
  23. typedef struct {
  24. uint8_t cpu_usage;
  25. uint16_t ram_max;
  26. uint8_t ram_usage;
  27. char ram_unit[4];
  28. uint8_t gpu_usage;
  29. uint16_t vram_max;
  30. uint8_t vram_usage;
  31. char vram_unit[4];
  32. } DataStruct;
  33. #pragma pack(pop)
  34. typedef struct {
  35. Bt* bt;
  36. Gui* gui;
  37. ViewPort* view_port;
  38. FuriMutex* app_mutex;
  39. FuriMessageQueue* event_queue;
  40. NotificationApp* notification;
  41. BtState bt_state;
  42. DataStruct data;
  43. } PcMonitorApp;