Files
Bachelorarbeit-Rover/lib/ControllPad/controlPad.h
T
2023-04-08 20:28:34 +02:00

52 lines
1.0 KiB
C++

/**
* @file controlPad.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2023-03-30
*
* @copyright Copyright (c) 2023
*
*/
#pragma once
#include <menuControl.h>
#include "controlPadInput.h"
class ControlPad {
public:
ControlPad();
bool loop();
void insertData(const uint8_t *data);
void setMenuControl(MenuControl* menuControl) { this->menuControl = menuControl; }
const ControlPadInput * getControlPadDataPtr(uint16_t maxElapsedTime = 0) const;
bool isControlPadConnected() const { return this->connected; }
private:
MenuControl* menuControl = nullptr;
ControlPadInput controlInput;
void receiveData();
bool connected = false;
bool updated = false;
bool firstButtonPress = false;
const uint8_t address[2][6] = { "rover", "ardui" };
uint16_t disconnectTime = 50;
uint16_t loopDelay = 5;
uint32_t lastMessageReceive = 0;
uint32_t lastLoopMillis = 0;
};