summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Layout/LayoutConfig.cpp68
-rw-r--r--Layout/LayoutConfig.h14
-rw-r--r--Mode/ModeConfig.cpp3
3 files changed, 72 insertions, 13 deletions
diff --git a/Layout/LayoutConfig.cpp b/Layout/LayoutConfig.cpp
index dc28738..dd044fa 100644
--- a/Layout/LayoutConfig.cpp
+++ b/Layout/LayoutConfig.cpp
@@ -3,21 +3,71 @@
LayoutConfig::LayoutConfig(DOGS102* lcd)
: Layout(lcd),
_lMode(0, 0, "Configuration"),
- _lHelp1(0, 2, "Connect USB debug"),
- _lHelp2(0, 3, "to PC at 115200"),
- _lHelp3(0, 4, "baud to configure")
-{}
+ _fHeader(0, 1, 17),
+ _fMsg1(0, 3, 17),
+ _fMsg2(0, 4, 17),
+ _fMsg3(0, 5, 17)
+{
+ _timer.start();
+}
LayoutConfig::~LayoutConfig() {}
void LayoutConfig::display() {
clear();
startUpdate();
-
writeLabel(_lMode);
- writeLabel(_lHelp1);
- writeLabel(_lHelp2);
- writeLabel(_lHelp3);
-
endUpdate();
+ update1of3();
+}
+
+void LayoutConfig::roll(){
+ if(_timer.read_ms() < _duration){
+ return;
+ }
+ if(_screen == 3){
+ _screen = 1;
+ }
+ else
+ _screen++;
+
+ switch(_screen){
+ case 1:
+ update1of3();
+ break;
+ case 2:
+ update2of3();
+ break;
+ case 3:
+ update3of3();
+ break;
+ }
+}
+
+void LayoutConfig::update1of3() {
+ _screen = 1;
+ _timer.reset();
+ _duration = 4000;
+ writeField(_fHeader, string("1 of 3"), true);
+ writeField(_fMsg1, string("Connect to MTMDK"), true);
+ writeField(_fMsg2, string("using the 8 pin"), true);
+ writeField(_fMsg3, string("ribbon cable."), true);
+}
+
+void LayoutConfig::update2of3() {
+ _timer.reset();
+ _duration = 3000;
+ writeField(_fHeader, string("2 of 3"), true);
+ writeField(_fMsg1, string("Plug MTMDK into a"), true);
+ writeField(_fMsg2, string("PC."), true);
+ writeField(_fMsg3, string(""), true);
+}
+
+void LayoutConfig::update3of3() {
+ _timer.reset();
+ _duration = 5000;
+ writeField(_fHeader, string("3 of 3"), true);
+ writeField(_fMsg1, string("Run com s/w on"), true);
+ writeField(_fMsg2, string("new TTY/COM at"), true);
+ writeField(_fMsg3, string("115200bps."), true);
}
diff --git a/Layout/LayoutConfig.h b/Layout/LayoutConfig.h
index 0fdba1c..5a58433 100644
--- a/Layout/LayoutConfig.h
+++ b/Layout/LayoutConfig.h
@@ -9,12 +9,20 @@ class LayoutConfig : public Layout {
~LayoutConfig();
void display();
+ void roll();
private:
Label _lMode;
- Label _lHelp1;
- Label _lHelp2;
- Label _lHelp3;
+ Field _fHeader;
+ Field _fMsg1;
+ Field _fMsg2;
+ Field _fMsg3;
+ Timer _timer;
+ uint8_t _screen;
+ uint32_t _duration;
+ void update1of3();
+ void update2of3();
+ void update3of3();
};
#endif
diff --git a/Mode/ModeConfig.cpp b/Mode/ModeConfig.cpp
index bd9e183..6fbeae0 100644
--- a/Mode/ModeConfig.cpp
+++ b/Mode/ModeConfig.cpp
@@ -143,7 +143,8 @@ bool ModeConfig::start() {
//Run terminal session
while (running) {
-
+ _lc.roll();
+
osEvent e = Thread::signal_wait(buttonSignal, 20);
if (e.status == osEventSignal) {
ButtonHandler::ButtonEvent _be = _buttons->getButtonEvent();