pc_monitor.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <furi_hal_bt.h>
  5. #include "helpers/ble_serial.h"
  6. #include <bt/bt_service/bt.h>
  7. #include <gui/gui.h>
  8. #include <gui/elements.h>
  9. #include <notification/notification_messages.h>
  10. #include <input/input.h>
  11. #include <storage/storage.h>
  12. #include "views/bars_view.h"
  13. #include "views/connect_view.h"
  14. #include "views/status_view.h"
  15. #define TAG "PCMonitor"
  16. #define BT_SERIAL_BUFFER_SIZE 128
  17. #define SCREEN_HEIGHT 64
  18. #define LINE_HEIGHT 11
  19. #define BAR_X 30
  20. #define BAR_WIDTH 97
  21. typedef enum {
  22. BtStateChecking,
  23. BtStateInactive,
  24. BtStateWaiting,
  25. BtStateRecieving,
  26. BtStateNoData,
  27. BtStateLost
  28. } BtState;
  29. #pragma pack(push, 1)
  30. typedef struct {
  31. uint8_t cpu_usage;
  32. uint16_t ram_max;
  33. uint8_t ram_usage;
  34. char ram_unit[4];
  35. uint8_t gpu_usage;
  36. uint16_t vram_max;
  37. uint8_t vram_usage;
  38. char vram_unit[4];
  39. } DataStruct;
  40. #pragma pack(pop)
  41. typedef struct {
  42. Bt* bt;
  43. Gui* gui;
  44. ViewPort* view_port;
  45. FuriMutex* app_mutex;
  46. FuriMessageQueue* event_queue;
  47. NotificationApp* notification;
  48. FuriHalBleProfileBase* ble_serial_profile;
  49. BtState bt_state;
  50. DataStruct data;
  51. uint8_t lines_count;
  52. uint32_t last_packet;
  53. } PcMonitorApp;