Fixed linker errors

This commit is contained in:
2021-12-28 13:41:12 +01:00
parent 9145853649
commit b3d03989d7
18 changed files with 321 additions and 255 deletions

View File

@ -36,6 +36,7 @@ set(headers
bmsutils.h bmsutils.h
buildserver.h buildserver.h
buttons.h buttons.h
bobbybuttons.h
can.h can.h
changevaluedisplay_bluetoothmode.h changevaluedisplay_bluetoothmode.h
changevaluedisplay_controlmode.h changevaluedisplay_controlmode.h
@ -261,6 +262,7 @@ set(sources
bmsutils.cpp bmsutils.cpp
buildserver.cpp buildserver.cpp
buttons.cpp buttons.cpp
bobbybuttons.cpp
can.cpp can.cpp
changevaluedisplay_bluetoothmode.cpp changevaluedisplay_bluetoothmode.cpp
changevaluedisplay_controlmode.cpp changevaluedisplay_controlmode.cpp

65
main/bobbybuttons.cpp Normal file
View File

@ -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);
}

26
main/bobbybuttons.h Normal file
View File

@ -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;
};

View File

@ -1,70 +1 @@
#include "bobbychangevaluedisplay.h" #include "bobbychangevaluedisplay.h"
template<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::buttonReleased(espgui::Button button)
{
Base::buttonReleased(button);
}

View File

@ -1,13 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <changevaluedisplay.h> #include <changevaluedisplay.h>
// local includes // local includes
#include "bobbydisplay.h" #include "bobbybuttons.h"
template<typename Tvalue> template<typename Tvalue>
class BobbyChangeValueDisplay : public espgui::ChangeValueDisplay<Tvalue> class BobbyChangeValueDisplay : public espgui::ChangeValueDisplay<Tvalue>
@ -21,3 +18,72 @@ public:
void buttonPressed(espgui::Button button) override; void buttonPressed(espgui::Button button) override;
void buttonReleased(espgui::Button button) override; void buttonReleased(espgui::Button button) override;
}; };
template<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::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<typename Tvalue>
void BobbyChangeValueDisplay<Tvalue>::buttonReleased(espgui::Button button)
{
//Base::buttonReleased(button);
}

View File

@ -26,7 +26,7 @@ void BobbyDisplay::rawButtonReleased(uint8_t button)
//Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case 0: buttonReleased(Button::Left); break; case 0: buttonReleased(Button::Left); break;
case 1: buttonReleased(Button::Right); break; case 1: buttonReleased(Button::Right); break;
case 2: buttonReleased(Button::Up); break; case 2: buttonReleased(Button::Up); break;
@ -44,7 +44,7 @@ void BobbyDisplay::rawButtonReleased(uint8_t button)
void BobbyDisplay::buttonPressed(espgui::Button button) void BobbyDisplay::buttonPressed(espgui::Button button)
{ {
Base::buttonPressed(button); //Base::buttonPressed(button);
switch (BobbyButton(button)) switch (BobbyButton(button))
{ {
@ -62,5 +62,5 @@ void BobbyDisplay::buttonPressed(espgui::Button button)
void BobbyDisplay::buttonReleased(espgui::Button button) void BobbyDisplay::buttonReleased(espgui::Button button)
{ {
Base::buttonReleased(button); //Base::buttonReleased(button);
} }

View File

@ -1,22 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <display.h> #include <display.h>
enum BobbyButton // local includes
{ #include "bobbybuttons.h"
Profile0 = espgui::Button::ButtonMax + 1,
Profile1,
Profile2,
Profile3,
Left2,
Right2,
Up2,
Down2
};
class BobbyDisplay : public espgui::Display class BobbyDisplay : public espgui::Display
{ {

View File

@ -5,7 +5,7 @@ void BobbyDisplayWithTitle::rawButtonPressed(uint8_t button)
//Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case 0: buttonPressed(Button::Left); break; case 0: buttonPressed(Button::Left); break;
case 1: buttonPressed(Button::Right); break; case 1: buttonPressed(Button::Right); break;
case 2: buttonPressed(Button::Up); break; case 2: buttonPressed(Button::Up); break;
@ -26,7 +26,7 @@ void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button)
//Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case 0: buttonReleased(Button::Left); break; case 0: buttonReleased(Button::Left); break;
case 1: buttonReleased(Button::Right); break; case 1: buttonReleased(Button::Right); break;
case 2: buttonReleased(Button::Up); break; case 2: buttonReleased(Button::Up); break;
@ -44,7 +44,7 @@ void BobbyDisplayWithTitle::rawButtonReleased(uint8_t button)
void BobbyDisplayWithTitle::buttonPressed(espgui::Button button) void BobbyDisplayWithTitle::buttonPressed(espgui::Button button)
{ {
Base::buttonPressed(button); //Base::buttonPressed(button);
switch (BobbyButton(button)) switch (BobbyButton(button))
{ {
@ -62,5 +62,5 @@ void BobbyDisplayWithTitle::buttonPressed(espgui::Button button)
void BobbyDisplayWithTitle::buttonReleased(espgui::Button button) void BobbyDisplayWithTitle::buttonReleased(espgui::Button button)
{ {
Base::buttonReleased(button); //Base::buttonReleased(button);
} }

View File

@ -1,13 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <displaywithtitle.h> #include <displaywithtitle.h>
// local includes // local includes
#include "bobbydisplay.h" #include "bobbybuttons.h"
class BobbyDisplayWithTitle : public espgui::DisplayWithTitle class BobbyDisplayWithTitle : public espgui::DisplayWithTitle
{ {

View File

@ -1,70 +1 @@
#include "bobbygraphdisplay.h" #include "bobbygraphdisplay.h"
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::buttonReleased(espgui::Button button)
{
Base::buttonReleased(button);
}

View File

@ -1,13 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <graphdisplay.h> #include <graphdisplay.h>
// local includes // local includes
#include "bobbydisplay.h" #include "bobbybuttons.h"
template<size_t COUNT> template<size_t COUNT>
class BobbyGraphDisplay : public espgui::GraphDisplay<COUNT> class BobbyGraphDisplay : public espgui::GraphDisplay<COUNT>
@ -21,3 +18,72 @@ public:
void buttonPressed(espgui::Button button) override; void buttonPressed(espgui::Button button) override;
void buttonReleased(espgui::Button button) override; void buttonReleased(espgui::Button button) override;
}; };
template<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::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<size_t COUNT>
void BobbyGraphDisplay<COUNT>::buttonReleased(espgui::Button button)
{
//Base::buttonReleased(button);
}

View File

@ -5,7 +5,7 @@ void BobbyMenuDisplay::rawButtonPressed(uint8_t button)
//Base::rawButtonPressed(button); //Base::rawButtonPressed(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case 0: buttonPressed(Button::Left); break; case 0: buttonPressed(Button::Left); break;
case 1: buttonPressed(Button::Right); break; case 1: buttonPressed(Button::Right); break;
case 2: buttonPressed(Button::Up); break; case 2: buttonPressed(Button::Up); break;
@ -26,7 +26,7 @@ void BobbyMenuDisplay::rawButtonReleased(uint8_t button)
//Base::rawButtonReleased(button); //Base::rawButtonReleased(button);
switch (button) switch (button)
{ {
using espgui::Button; using espgui::Button;
case 0: buttonReleased(Button::Left); break; case 0: buttonReleased(Button::Left); break;
case 1: buttonReleased(Button::Right); break; case 1: buttonReleased(Button::Right); break;
case 2: buttonReleased(Button::Up); break; case 2: buttonReleased(Button::Up); break;
@ -62,5 +62,5 @@ void BobbyMenuDisplay::buttonPressed(espgui::Button button)
void BobbyMenuDisplay::buttonReleased(espgui::Button button) void BobbyMenuDisplay::buttonReleased(espgui::Button button)
{ {
Base::buttonReleased(button); //Base::buttonReleased(button);
} }

View File

@ -1,13 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <menudisplay.h> #include <menudisplay.h>
// local includes // local includes
#include "bobbydisplay.h" #include "bobbybuttons.h"
class BobbyMenuDisplay : public espgui::MenuDisplay class BobbyMenuDisplay : public espgui::MenuDisplay
{ {

View File

@ -1,70 +1 @@
#include "bobbysplitgraphdisplay.h" #include "bobbysplitgraphdisplay.h"
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::buttonReleased(espgui::Button button)
{
Base::buttonReleased(button);
}

View File

@ -1,13 +1,10 @@
#pragma once #pragma once
// system includes
#include <type_traits>
// 3rdparty lib includes // 3rdparty lib includes
#include <splitgraphdisplay.h> #include <splitgraphdisplay.h>
// local includes // local includes
#include "bobbydisplay.h" #include "bobbybuttons.h"
template<std::size_t COUNT0, std::size_t COUNT1> template<std::size_t COUNT0, std::size_t COUNT1>
class BobbySplitGraphDisplay : public espgui::SplitGraphDisplay<COUNT0, COUNT1> class BobbySplitGraphDisplay : public espgui::SplitGraphDisplay<COUNT0, COUNT1>
@ -21,3 +18,73 @@ public:
void buttonPressed(espgui::Button button) override; void buttonPressed(espgui::Button button) override;
void buttonReleased(espgui::Button button) override; void buttonReleased(espgui::Button button) override;
}; };
template<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::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<std::size_t COUNT0, std::size_t COUNT1>
void BobbySplitGraphDisplay<COUNT0, COUNT1>::buttonReleased(espgui::Button button)
{
//Base::buttonReleased(button);
}

View File

@ -51,7 +51,7 @@ void MetersDisplay::redraw()
meters[5].redraw(fixCurrent(controllers.back.feedback.right.dcLink), -10, 10); 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); Base::buttonPressed(button);

View File

@ -17,8 +17,7 @@
#include "icons/alert.h" #include "icons/alert.h"
#include "battery.h" #include "battery.h"
class StatusDisplay : class StatusDisplay : public BobbyDisplay
public BobbyDisplay
{ {
using Base = BobbyDisplay; using Base = BobbyDisplay;