diff --git a/components/esp-gui-lib b/components/esp-gui-lib index 4cb29d1..3d01a04 160000 --- a/components/esp-gui-lib +++ b/components/esp-gui-lib @@ -1 +1 @@ -Subproject commit 4cb29d1d3b271cb0b567c55719e000c599ef2b02 +Subproject commit 3d01a04aa4bb8554887fd233963e205ccf2b7933 diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 5a17f57..d2be5da 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -36,6 +36,7 @@ set(headers bmsutils.h buildserver.h buttons.h + bobbybuttons.h can.h changevaluedisplay_bluetoothmode.h changevaluedisplay_controlmode.h @@ -261,6 +262,7 @@ set(sources bmsutils.cpp buildserver.cpp buttons.cpp + bobbybuttons.cpp can.cpp changevaluedisplay_bluetoothmode.cpp changevaluedisplay_controlmode.cpp diff --git a/main/bobbybuttons.cpp b/main/bobbybuttons.cpp new file mode 100644 index 0000000..58318a0 --- /dev/null +++ b/main/bobbybuttons.cpp @@ -0,0 +1,65 @@ +#include "bobbybuttons.h" + +void BobbyButtons::rawButtonPressed(uint8_t button) +{ + //Base::rawButtonPressed(button); + switch (button) + { + using espgui::Button; + case 0: buttonPressed(Button::Left); break; + case 1: buttonPressed(Button::Right); break; + case 2: buttonPressed(Button::Up); break; + case 3: buttonPressed(Button::Down); break; + case 4: buttonPressed(Button(BobbyButton::Profile0)); break; + case 5: buttonPressed(Button(BobbyButton::Profile1)); break; + case 6: buttonPressed(Button(BobbyButton::Profile2)); break; + case 7: buttonPressed(Button(BobbyButton::Profile3)); break; + case 8: buttonPressed(Button(BobbyButton::Left2)); break; + case 9: buttonPressed(Button(BobbyButton::Right2)); break; + case 10: buttonPressed(Button(BobbyButton::Up2)); break; + case 11: buttonPressed(Button(BobbyButton::Down2)); break; + } +} + +void BobbyButtons::rawButtonReleased(uint8_t button) +{ + //Base::rawButtonReleased(button); + switch (button) + { + using espgui::Button; + case 0: buttonReleased(Button::Left); break; + case 1: buttonReleased(Button::Right); break; + case 2: buttonReleased(Button::Up); break; + case 3: buttonReleased(Button::Down); break; + case 4: buttonReleased(Button(BobbyButton::Profile0)); break; + case 5: buttonReleased(Button(BobbyButton::Profile1)); break; + case 6: buttonReleased(Button(BobbyButton::Profile2)); break; + case 7: buttonReleased(Button(BobbyButton::Profile3)); break; + case 8: buttonReleased(Button(BobbyButton::Left2)); break; + case 9: buttonReleased(Button(BobbyButton::Right2)); break; + case 10: buttonReleased(Button(BobbyButton::Up2)); break; + case 11: buttonReleased(Button(BobbyButton::Down2)); break; + } +} + +void BobbyButtons::buttonPressed(espgui::Button button) +{ + //Base::buttonPressed(button); + switch (BobbyButton(button)) + { + case BobbyButton::Profile0: /* TODO */ break; + case BobbyButton::Profile1: /* TODO */ break; + case BobbyButton::Profile2: /* TODO */ break; + case BobbyButton::Profile3: /* TODO */ break; + case BobbyButton::Left2: /* TODO */ break; + case BobbyButton::Right2: /* TODO */ break; + case BobbyButton::Up2: /* TODO */ break; + case BobbyButton::Down2: /* TODO */ break; + default:; + } +} + +void BobbyButtons::buttonReleased(espgui::Button button) +{ + //Base::buttonReleased(button); +} diff --git a/main/bobbybuttons.h b/main/bobbybuttons.h new file mode 100644 index 0000000..db93d2f --- /dev/null +++ b/main/bobbybuttons.h @@ -0,0 +1,26 @@ +#pragma once + +// 3rdparty lib includes +#include "buttonsinterface.h" + +enum BobbyButton +{ + Profile0 = espgui::Button::ButtonMax + 1, + Profile1, + Profile2, + Profile3, + Left2, + Right2, + Up2, + Down2 +}; + +class BobbyButtons : public virtual espgui::ButtonsInterface +{ +public: + void rawButtonPressed(uint8_t button) override; + void rawButtonReleased(uint8_t button) override; + + void buttonPressed(espgui::Button button) override; + void buttonReleased(espgui::Button button) override; +}; diff --git a/main/displays/bobbychangevaluedisplay.cpp b/main/displays/bobbychangevaluedisplay.cpp index b51c0f1..780a2ad 100644 --- a/main/displays/bobbychangevaluedisplay.cpp +++ b/main/displays/bobbychangevaluedisplay.cpp @@ -1,70 +1 @@ #include "bobbychangevaluedisplay.h" - -template -void BobbyChangeValueDisplay::rawButtonPressed(uint8_t button) -{ - //Base::rawButtonPressed(button); - switch (button) - { - using espgui::Button; - case 0: buttonPressed(Button::Left); break; - case 1: buttonPressed(Button::Right); break; - case 2: buttonPressed(Button::Up); break; - case 3: buttonPressed(Button::Down); break; - case 4: buttonPressed(Button(BobbyButton::Profile0)); break; - case 5: buttonPressed(Button(BobbyButton::Profile1)); break; - case 6: buttonPressed(Button(BobbyButton::Profile2)); break; - case 7: buttonPressed(Button(BobbyButton::Profile3)); break; - case 8: buttonPressed(Button(BobbyButton::Left2)); break; - case 9: buttonPressed(Button(BobbyButton::Right2)); break; - case 10: buttonPressed(Button(BobbyButton::Up2)); break; - case 11: buttonPressed(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbyChangeValueDisplay::rawButtonReleased(uint8_t button) -{ - //Base::rawButtonReleased(button); - switch (button) - { - using espgui::Button; - case 0: buttonReleased(Button::Left); break; - case 1: buttonReleased(Button::Right); break; - case 2: buttonReleased(Button::Up); break; - case 3: buttonReleased(Button::Down); break; - case 4: buttonReleased(Button(BobbyButton::Profile0)); break; - case 5: buttonReleased(Button(BobbyButton::Profile1)); break; - case 6: buttonReleased(Button(BobbyButton::Profile2)); break; - case 7: buttonReleased(Button(BobbyButton::Profile3)); break; - case 8: buttonReleased(Button(BobbyButton::Left2)); break; - case 9: buttonReleased(Button(BobbyButton::Right2)); break; - case 10: buttonReleased(Button(BobbyButton::Up2)); break; - case 11: buttonReleased(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbyChangeValueDisplay::buttonPressed(espgui::Button button) -{ - Base::buttonPressed(button); - - switch (BobbyButton(button)) - { - case BobbyButton::Profile0: /* TODO */ break; - case BobbyButton::Profile1: /* TODO */ break; - case BobbyButton::Profile2: /* TODO */ break; - case BobbyButton::Profile3: /* TODO */ break; - case BobbyButton::Left2: /* TODO */ break; - case BobbyButton::Right2: /* TODO */ break; - case BobbyButton::Up2: /* TODO */ break; - case BobbyButton::Down2: /* TODO */ break; - default:; - } -} - -template -void BobbyChangeValueDisplay::buttonReleased(espgui::Button button) -{ - Base::buttonReleased(button); -} diff --git a/main/displays/bobbychangevaluedisplay.h b/main/displays/bobbychangevaluedisplay.h index 69e2d53..ea6d504 100644 --- a/main/displays/bobbychangevaluedisplay.h +++ b/main/displays/bobbychangevaluedisplay.h @@ -1,13 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include // local includes -#include "bobbydisplay.h" +#include "bobbybuttons.h" template class BobbyChangeValueDisplay : public espgui::ChangeValueDisplay @@ -21,3 +18,72 @@ public: void buttonPressed(espgui::Button button) override; void buttonReleased(espgui::Button button) override; }; + +template +void BobbyChangeValueDisplay::rawButtonPressed(uint8_t button) +{ + //Base::rawButtonPressed(button); + switch (button) + { + using espgui::Button; + case 0: buttonPressed(Button::Left); break; + case 1: buttonPressed(Button::Right); break; + case 2: buttonPressed(Button::Up); break; + case 3: buttonPressed(Button::Down); break; + case 4: buttonPressed(Button(BobbyButton::Profile0)); break; + case 5: buttonPressed(Button(BobbyButton::Profile1)); break; + case 6: buttonPressed(Button(BobbyButton::Profile2)); break; + case 7: buttonPressed(Button(BobbyButton::Profile3)); break; + case 8: buttonPressed(Button(BobbyButton::Left2)); break; + case 9: buttonPressed(Button(BobbyButton::Right2)); break; + case 10: buttonPressed(Button(BobbyButton::Up2)); break; + case 11: buttonPressed(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbyChangeValueDisplay::rawButtonReleased(uint8_t button) +{ + //Base::rawButtonReleased(button); + switch (button) + { + using espgui::Button; + case 0: buttonReleased(Button::Left); break; + case 1: buttonReleased(Button::Right); break; + case 2: buttonReleased(Button::Up); break; + case 3: buttonReleased(Button::Down); break; + case 4: buttonReleased(Button(BobbyButton::Profile0)); break; + case 5: buttonReleased(Button(BobbyButton::Profile1)); break; + case 6: buttonReleased(Button(BobbyButton::Profile2)); break; + case 7: buttonReleased(Button(BobbyButton::Profile3)); break; + case 8: buttonReleased(Button(BobbyButton::Left2)); break; + case 9: buttonReleased(Button(BobbyButton::Right2)); break; + case 10: buttonReleased(Button(BobbyButton::Up2)); break; + case 11: buttonReleased(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbyChangeValueDisplay::buttonPressed(espgui::Button button) +{ + Base::buttonPressed(button); + + switch (BobbyButton(button)) + { + case BobbyButton::Profile0: /* TODO */ break; + case BobbyButton::Profile1: /* TODO */ break; + case BobbyButton::Profile2: /* TODO */ break; + case BobbyButton::Profile3: /* TODO */ break; + case BobbyButton::Left2: /* TODO */ break; + case BobbyButton::Right2: /* TODO */ break; + case BobbyButton::Up2: /* TODO */ break; + case BobbyButton::Down2: /* TODO */ break; + default:; + } +} + +template +void BobbyChangeValueDisplay::buttonReleased(espgui::Button button) +{ + //Base::buttonReleased(button); +} diff --git a/main/displays/bobbydisplay.cpp b/main/displays/bobbydisplay.cpp index 7f20721..09b0c50 100644 --- a/main/displays/bobbydisplay.cpp +++ b/main/displays/bobbydisplay.cpp @@ -26,7 +26,7 @@ void BobbyDisplay::rawButtonReleased(uint8_t button) //Base::rawButtonReleased(button); switch (button) { - using espgui::Button; + using espgui::Button; case 0: buttonReleased(Button::Left); break; case 1: buttonReleased(Button::Right); break; case 2: buttonReleased(Button::Up); break; @@ -44,7 +44,7 @@ void BobbyDisplay::rawButtonReleased(uint8_t button) void BobbyDisplay::buttonPressed(espgui::Button button) { - Base::buttonPressed(button); + //Base::buttonPressed(button); switch (BobbyButton(button)) { @@ -62,5 +62,5 @@ void BobbyDisplay::buttonPressed(espgui::Button button) void BobbyDisplay::buttonReleased(espgui::Button button) { - Base::buttonReleased(button); + //Base::buttonReleased(button); } diff --git a/main/displays/bobbydisplay.h b/main/displays/bobbydisplay.h index e0e005e..0a542f0 100644 --- a/main/displays/bobbydisplay.h +++ b/main/displays/bobbydisplay.h @@ -1,22 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include -enum BobbyButton -{ - Profile0 = espgui::Button::ButtonMax + 1, - Profile1, - Profile2, - Profile3, - Left2, - Right2, - Up2, - Down2 -}; +// local includes +#include "bobbybuttons.h" class BobbyDisplay : public espgui::Display { diff --git a/main/displays/bobbydisplaywithtitle.cpp b/main/displays/bobbydisplaywithtitle.cpp index eae9db5..088ea63 100644 --- a/main/displays/bobbydisplaywithtitle.cpp +++ b/main/displays/bobbydisplaywithtitle.cpp @@ -5,7 +5,7 @@ void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button) //Base::rawButtonPressed(button); switch (button) { - using espgui::Button; + using espgui::Button; case 0: buttonPressed(Button::Left); break; case 1: buttonPressed(Button::Right); break; case 2: buttonPressed(Button::Up); break; @@ -26,7 +26,7 @@ void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button) //Base::rawButtonReleased(button); switch (button) { - using espgui::Button; + using espgui::Button; case 0: buttonReleased(Button::Left); break; case 1: buttonReleased(Button::Right); break; case 2: buttonReleased(Button::Up); break; @@ -44,7 +44,7 @@ void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button) void BobbyDisplayWithTitle::buttonPressed(espgui::Button button) { - Base::buttonPressed(button); + //Base::buttonPressed(button); switch (BobbyButton(button)) { @@ -62,5 +62,5 @@ void BobbyDisplayWithTitle::buttonPressed(espgui::Button button) void BobbyDisplayWithTitle::buttonReleased(espgui::Button button) { - Base::buttonReleased(button); + //Base::buttonReleased(button); } diff --git a/main/displays/bobbydisplaywithtitle.h b/main/displays/bobbydisplaywithtitle.h index 21905ea..84e8884 100644 --- a/main/displays/bobbydisplaywithtitle.h +++ b/main/displays/bobbydisplaywithtitle.h @@ -1,13 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include // local includes -#include "bobbydisplay.h" +#include "bobbybuttons.h" class BobbyDisplayWithTitle : public espgui::DisplayWithTitle { diff --git a/main/displays/bobbygraphdisplay.cpp b/main/displays/bobbygraphdisplay.cpp index 2711cfc..31e66e4 100644 --- a/main/displays/bobbygraphdisplay.cpp +++ b/main/displays/bobbygraphdisplay.cpp @@ -1,70 +1 @@ #include "bobbygraphdisplay.h" - -template -void BobbyGraphDisplay::rawButtonPressed(uint8_t button) -{ - //Base::rawButtonPressed(button); - switch (button) - { - using espgui::Button; - case 0: buttonPressed(Button::Left); break; - case 1: buttonPressed(Button::Right); break; - case 2: buttonPressed(Button::Up); break; - case 3: buttonPressed(Button::Down); break; - case 4: buttonPressed(Button(BobbyButton::Profile0)); break; - case 5: buttonPressed(Button(BobbyButton::Profile1)); break; - case 6: buttonPressed(Button(BobbyButton::Profile2)); break; - case 7: buttonPressed(Button(BobbyButton::Profile3)); break; - case 8: buttonPressed(Button(BobbyButton::Left2)); break; - case 9: buttonPressed(Button(BobbyButton::Right2)); break; - case 10: buttonPressed(Button(BobbyButton::Up2)); break; - case 11: buttonPressed(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbyGraphDisplay::rawButtonReleased(uint8_t button) -{ - //Base::rawButtonReleased(button); - switch (button) - { - using espgui::Button; - case 0: buttonReleased(Button::Left); break; - case 1: buttonReleased(Button::Right); break; - case 2: buttonReleased(Button::Up); break; - case 3: buttonReleased(Button::Down); break; - case 4: buttonReleased(Button(BobbyButton::Profile0)); break; - case 5: buttonReleased(Button(BobbyButton::Profile1)); break; - case 6: buttonReleased(Button(BobbyButton::Profile2)); break; - case 7: buttonReleased(Button(BobbyButton::Profile3)); break; - case 8: buttonReleased(Button(BobbyButton::Left2)); break; - case 9: buttonReleased(Button(BobbyButton::Right2)); break; - case 10: buttonReleased(Button(BobbyButton::Up2)); break; - case 11: buttonReleased(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbyGraphDisplay::buttonPressed(espgui::Button button) -{ - Base::buttonPressed(button); - - switch (BobbyButton(button)) - { - case BobbyButton::Profile0: /* TODO */ break; - case BobbyButton::Profile1: /* TODO */ break; - case BobbyButton::Profile2: /* TODO */ break; - case BobbyButton::Profile3: /* TODO */ break; - case BobbyButton::Left2: /* TODO */ break; - case BobbyButton::Right2: /* TODO */ break; - case BobbyButton::Up2: /* TODO */ break; - case BobbyButton::Down2: /* TODO */ break; - default:; - } -} - -template -void BobbyGraphDisplay::buttonReleased(espgui::Button button) -{ - Base::buttonReleased(button); -} diff --git a/main/displays/bobbygraphdisplay.h b/main/displays/bobbygraphdisplay.h index 6019ed4..6eedcbc 100644 --- a/main/displays/bobbygraphdisplay.h +++ b/main/displays/bobbygraphdisplay.h @@ -1,13 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include // local includes -#include "bobbydisplay.h" +#include "bobbybuttons.h" template class BobbyGraphDisplay : public espgui::GraphDisplay @@ -21,3 +18,72 @@ public: void buttonPressed(espgui::Button button) override; void buttonReleased(espgui::Button button) override; }; + +template +void BobbyGraphDisplay::rawButtonPressed(uint8_t button) +{ + //Base::rawButtonPressed(button); + switch (button) + { + using espgui::Button; + case 0: buttonPressed(Button::Left); break; + case 1: buttonPressed(Button::Right); break; + case 2: buttonPressed(Button::Up); break; + case 3: buttonPressed(Button::Down); break; + case 4: buttonPressed(Button(BobbyButton::Profile0)); break; + case 5: buttonPressed(Button(BobbyButton::Profile1)); break; + case 6: buttonPressed(Button(BobbyButton::Profile2)); break; + case 7: buttonPressed(Button(BobbyButton::Profile3)); break; + case 8: buttonPressed(Button(BobbyButton::Left2)); break; + case 9: buttonPressed(Button(BobbyButton::Right2)); break; + case 10: buttonPressed(Button(BobbyButton::Up2)); break; + case 11: buttonPressed(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbyGraphDisplay::rawButtonReleased(uint8_t button) +{ + //Base::rawButtonReleased(button); + switch (button) + { + using espgui::Button; + case 0: buttonReleased(Button::Left); break; + case 1: buttonReleased(Button::Right); break; + case 2: buttonReleased(Button::Up); break; + case 3: buttonReleased(Button::Down); break; + case 4: buttonReleased(Button(BobbyButton::Profile0)); break; + case 5: buttonReleased(Button(BobbyButton::Profile1)); break; + case 6: buttonReleased(Button(BobbyButton::Profile2)); break; + case 7: buttonReleased(Button(BobbyButton::Profile3)); break; + case 8: buttonReleased(Button(BobbyButton::Left2)); break; + case 9: buttonReleased(Button(BobbyButton::Right2)); break; + case 10: buttonReleased(Button(BobbyButton::Up2)); break; + case 11: buttonReleased(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbyGraphDisplay::buttonPressed(espgui::Button button) +{ + Base::buttonPressed(button); + + switch (BobbyButton(button)) + { + case BobbyButton::Profile0: /* TODO */ break; + case BobbyButton::Profile1: /* TODO */ break; + case BobbyButton::Profile2: /* TODO */ break; + case BobbyButton::Profile3: /* TODO */ break; + case BobbyButton::Left2: /* TODO */ break; + case BobbyButton::Right2: /* TODO */ break; + case BobbyButton::Up2: /* TODO */ break; + case BobbyButton::Down2: /* TODO */ break; + default:; + } +} + +template +void BobbyGraphDisplay::buttonReleased(espgui::Button button) +{ + //Base::buttonReleased(button); +} diff --git a/main/displays/bobbymenudisplay.cpp b/main/displays/bobbymenudisplay.cpp index ff531fc..91adb16 100644 --- a/main/displays/bobbymenudisplay.cpp +++ b/main/displays/bobbymenudisplay.cpp @@ -5,7 +5,7 @@ void BobbyMenuDisplay::rawButtonPressed(uint8_t button) //Base::rawButtonPressed(button); switch (button) { - using espgui::Button; + using espgui::Button; case 0: buttonPressed(Button::Left); break; case 1: buttonPressed(Button::Right); break; case 2: buttonPressed(Button::Up); break; @@ -26,7 +26,7 @@ void BobbyMenuDisplay::rawButtonReleased(uint8_t button) //Base::rawButtonReleased(button); switch (button) { - using espgui::Button; + using espgui::Button; case 0: buttonReleased(Button::Left); break; case 1: buttonReleased(Button::Right); break; case 2: buttonReleased(Button::Up); break; @@ -62,5 +62,5 @@ void BobbyMenuDisplay::buttonPressed(espgui::Button button) void BobbyMenuDisplay::buttonReleased(espgui::Button button) { - Base::buttonReleased(button); + //Base::buttonReleased(button); } diff --git a/main/displays/bobbymenudisplay.h b/main/displays/bobbymenudisplay.h index 204579f..bb94e3a 100644 --- a/main/displays/bobbymenudisplay.h +++ b/main/displays/bobbymenudisplay.h @@ -1,13 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include // local includes -#include "bobbydisplay.h" +#include "bobbybuttons.h" class BobbyMenuDisplay : public espgui::MenuDisplay { diff --git a/main/displays/bobbysplitgraphdisplay.cpp b/main/displays/bobbysplitgraphdisplay.cpp index a44a1bb..8176b27 100644 --- a/main/displays/bobbysplitgraphdisplay.cpp +++ b/main/displays/bobbysplitgraphdisplay.cpp @@ -1,70 +1 @@ #include "bobbysplitgraphdisplay.h" - -template -void BobbySplitGraphDisplay::rawButtonPressed(uint8_t button) -{ - //Base::rawButtonPressed(button); - switch (button) - { - using espgui::Button; - case 0: buttonPressed(Button::Left); break; - case 1: buttonPressed(Button::Right); break; - case 2: buttonPressed(Button::Up); break; - case 3: buttonPressed(Button::Down); break; - case 4: buttonPressed(Button(BobbyButton::Profile0)); break; - case 5: buttonPressed(Button(BobbyButton::Profile1)); break; - case 6: buttonPressed(Button(BobbyButton::Profile2)); break; - case 7: buttonPressed(Button(BobbyButton::Profile3)); break; - case 8: buttonPressed(Button(BobbyButton::Left2)); break; - case 9: buttonPressed(Button(BobbyButton::Right2)); break; - case 10: buttonPressed(Button(BobbyButton::Up2)); break; - case 11: buttonPressed(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbySplitGraphDisplay::rawButtonReleased(uint8_t button) -{ - //Base::rawButtonReleased(button); - switch (button) - { - using espgui::Button; - case 0: buttonReleased(Button::Left); break; - case 1: buttonReleased(Button::Right); break; - case 2: buttonReleased(Button::Up); break; - case 3: buttonReleased(Button::Down); break; - case 4: buttonReleased(Button(BobbyButton::Profile0)); break; - case 5: buttonReleased(Button(BobbyButton::Profile1)); break; - case 6: buttonReleased(Button(BobbyButton::Profile2)); break; - case 7: buttonReleased(Button(BobbyButton::Profile3)); break; - case 8: buttonReleased(Button(BobbyButton::Left2)); break; - case 9: buttonReleased(Button(BobbyButton::Right2)); break; - case 10: buttonReleased(Button(BobbyButton::Up2)); break; - case 11: buttonReleased(Button(BobbyButton::Down2)); break; - } -} - -template -void BobbySplitGraphDisplay::buttonPressed(espgui::Button button) -{ - Base::buttonPressed(button); - - switch (BobbyButton(button)) - { - case BobbyButton::Profile0: /* TODO */ break; - case BobbyButton::Profile1: /* TODO */ break; - case BobbyButton::Profile2: /* TODO */ break; - case BobbyButton::Profile3: /* TODO */ break; - case BobbyButton::Left2: /* TODO */ break; - case BobbyButton::Right2: /* TODO */ break; - case BobbyButton::Up2: /* TODO */ break; - case BobbyButton::Down2: /* TODO */ break; - default:; - } -} - -template -void BobbySplitGraphDisplay::buttonReleased(espgui::Button button) -{ - Base::buttonReleased(button); -} diff --git a/main/displays/bobbysplitgraphdisplay.h b/main/displays/bobbysplitgraphdisplay.h index e9d6c9b..45c7fab 100644 --- a/main/displays/bobbysplitgraphdisplay.h +++ b/main/displays/bobbysplitgraphdisplay.h @@ -1,13 +1,10 @@ #pragma once -// system includes -#include - // 3rdparty lib includes #include // local includes -#include "bobbydisplay.h" +#include "bobbybuttons.h" template class BobbySplitGraphDisplay : public espgui::SplitGraphDisplay @@ -21,3 +18,73 @@ public: void buttonPressed(espgui::Button button) override; void buttonReleased(espgui::Button button) override; }; + +template +void BobbySplitGraphDisplay::rawButtonPressed(uint8_t button) +{ + //Base::rawButtonPressed(button); + switch (button) + { + using espgui::Button; + case 0: buttonPressed(Button::Left); break; + case 1: buttonPressed(Button::Right); break; + case 2: buttonPressed(Button::Up); break; + case 3: buttonPressed(Button::Down); break; + case 4: buttonPressed(Button(BobbyButton::Profile0)); break; + case 5: buttonPressed(Button(BobbyButton::Profile1)); break; + case 6: buttonPressed(Button(BobbyButton::Profile2)); break; + case 7: buttonPressed(Button(BobbyButton::Profile3)); break; + case 8: buttonPressed(Button(BobbyButton::Left2)); break; + case 9: buttonPressed(Button(BobbyButton::Right2)); break; + case 10: buttonPressed(Button(BobbyButton::Up2)); break; + case 11: buttonPressed(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbySplitGraphDisplay::rawButtonReleased(uint8_t button) +{ + //Base::rawButtonReleased(button); + switch (button) + { + using espgui::Button; + case 0: buttonReleased(Button::Left); break; + case 1: buttonReleased(Button::Right); break; + case 2: buttonReleased(Button::Up); break; + case 3: buttonReleased(Button::Down); break; + case 4: buttonReleased(Button(BobbyButton::Profile0)); break; + case 5: buttonReleased(Button(BobbyButton::Profile1)); break; + case 6: buttonReleased(Button(BobbyButton::Profile2)); break; + case 7: buttonReleased(Button(BobbyButton::Profile3)); break; + case 8: buttonReleased(Button(BobbyButton::Left2)); break; + case 9: buttonReleased(Button(BobbyButton::Right2)); break; + case 10: buttonReleased(Button(BobbyButton::Up2)); break; + case 11: buttonReleased(Button(BobbyButton::Down2)); break; + } +} + +template +void BobbySplitGraphDisplay::buttonPressed(espgui::Button button) +{ + Base::buttonPressed(button); + + switch (BobbyButton(button)) + { + case BobbyButton::Profile0: /* TODO */ break; + case BobbyButton::Profile1: /* TODO */ break; + case BobbyButton::Profile2: /* TODO */ break; + case BobbyButton::Profile3: /* TODO */ break; + case BobbyButton::Left2: /* TODO */ break; + case BobbyButton::Right2: /* TODO */ break; + case BobbyButton::Up2: /* TODO */ break; + case BobbyButton::Down2: /* TODO */ break; + default:; + } +} + +template +void BobbySplitGraphDisplay::buttonReleased(espgui::Button button) +{ + //Base::buttonReleased(button); +} + diff --git a/main/displays/metersdisplay.cpp b/main/displays/metersdisplay.cpp index c815c2d..c7e3f3e 100644 --- a/main/displays/metersdisplay.cpp +++ b/main/displays/metersdisplay.cpp @@ -51,7 +51,7 @@ void MetersDisplay::redraw() meters[5].redraw(fixCurrent(controllers.back.feedback.right.dcLink), -10, 10); } -void StatusDisplay::buttonPressed(espgui::Button button) +void MetersDisplay::buttonPressed(espgui::Button button) { Base::buttonPressed(button); diff --git a/main/displays/statusdisplay.h b/main/displays/statusdisplay.h index adf72ae..e810b0d 100644 --- a/main/displays/statusdisplay.h +++ b/main/displays/statusdisplay.h @@ -17,8 +17,7 @@ #include "icons/alert.h" #include "battery.h" -class StatusDisplay : - public BobbyDisplay +class StatusDisplay : public BobbyDisplay { using Base = BobbyDisplay;