UITask.h 903 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <MeshCore.h>
  3. #include <helpers/ui/DisplayDriver.h>
  4. class UITask {
  5. DisplayDriver* _display;
  6. mesh::MainBoard* _board;
  7. unsigned long _next_refresh, _auto_off;
  8. int _prevBtnState;
  9. bool _connected;
  10. uint32_t _pin_code;
  11. const char* _node_name;
  12. const char* _build_date;
  13. char _origin[62];
  14. char _msg[80];
  15. int _msgcount;
  16. void renderCurrScreen();
  17. void buttonHandler();
  18. void userLedHandler();
  19. public:
  20. UITask(mesh::MainBoard* board, DisplayDriver* display) : _board(board), _display(display){
  21. _next_refresh = 0;
  22. _connected = false;
  23. }
  24. void begin(const char* node_name, const char* build_date, uint32_t pin_code);
  25. void setHasConnection(bool connected) { _connected = connected; }
  26. void clearMsgPreview();
  27. void msgRead(int msgcount);
  28. void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount);
  29. void loop();
  30. };