UITask.h 882 B

1234567891011121314151617181920212223242526272829303132333435
  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. bool _connected;
  9. uint32_t _pin_code;
  10. const char* _node_name;
  11. const char* _build_date;
  12. char _origin[62];
  13. char _msg[80];
  14. int _msgcount;
  15. void renderCurrScreen();
  16. void buttonHandler();
  17. void userLedHandler();
  18. public:
  19. UITask(mesh::MainBoard* board, DisplayDriver* display) : _board(board), _display(display){
  20. _next_refresh = 0;
  21. _connected = false;
  22. }
  23. void begin(const char* node_name, const char* build_date, uint32_t pin_code);
  24. void setHasConnection(bool connected) { _connected = connected; }
  25. void clearMsgPreview();
  26. void msgRead(int msgcount);
  27. void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount);
  28. void loop();
  29. };