This commit is contained in:
2023-04-02 17:03:24 +02:00
parent 33fe6916ed
commit f20f4938e4
14 changed files with 95 additions and 95 deletions
+57
View File
@@ -0,0 +1,57 @@
/**
* @file controlPad.cpp
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-03-30
*
* @copyright Copyright (c) 2023
*
*/
#include "controlPad.h"
ControlPad::ControlPad() {
}
bool ControlPad::loop() {
if (millis() - this->lastLoopMillis < this->loopDelay)
return false;
this->lastLoopMillis = millis();
if(!this->connected)
return false;
if (millis() - this->lastMessageReceive > this->disconnectTime) {
this->connected = false;
return false;
}
if (this->menuControl && this->controlInput.buttons > 0 && this->updated)
if (!this->firstButtonPress)
this->menuControl->printMenu();
if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::Left))
this->menuControl->left();
else if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::Right))
this->menuControl->right();
else if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::Up))
this->menuControl->up();
else if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::Down))
this->menuControl->down();
else if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::Yes))
this->menuControl->yes();
else if (ControlPadButton::isControlPadButtonPressed(&this->controlInput, ControlPadButton::PadButton::No))
this->menuControl->no();
this->menuControl->update();
return true;
}
const ControlPadInput * ControlPad::getControlPadDataPtr(uint16_t maxElapsedTime) const {
if (maxElapsedTime && millis() - this->lastMessageReceive > maxElapsedTime)
return nullptr;
return &this->controlInput;
}