pc_monitor.h 887 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. typedef enum {
  13. BtStateChecking,
  14. BtStateInactive,
  15. BtStateWaiting,
  16. BtStateRecieving,
  17. BtSateLost
  18. } BtState;
  19. typedef struct __attribute__((packed)) {
  20. uint8_t cpu_usage;
  21. uint16_t ram_max;
  22. uint8_t ram_usage;
  23. char ram_unit[4];
  24. uint8_t gpu_usage;
  25. uint16_t vram_max;
  26. uint8_t vram_usage;
  27. char vram_unit[4];
  28. } DataStruct;
  29. typedef struct {
  30. Bt* bt;
  31. Gui* gui;
  32. ViewPort* view_port;
  33. FuriMutex* app_mutex;
  34. FuriMessageQueue* event_queue;
  35. NotificationApp* notification;
  36. BtState bt_state;
  37. DataStruct data;
  38. } PcMonitorApp;