Files
evDash/BoardInterface.h
Lubos Petrovic 3dcfab24ea update
2020-12-05 11:24:20 +01:00

52 lines
1.7 KiB
C++

#ifndef BOARDINTERFACE_H
#define BOARDINTERFACE_H
#include "LiveData.h"
#include "CarInterface.h"
class BoardInterface {
private:
public:
// Screens, buttons
byte displayScreen = SCREEN_AUTO;
byte displayScreenAutoMode = 0;
byte displayScreenSpeedHud = false;
byte displayScreenCount = 7;
bool btnLeftPressed = true;
bool btnMiddlePressed = true;
bool btnRightPressed = true;
bool testDataMode = false;
bool scanDevices = false;
// Debug screen - next command with right button
uint16_t debugCommandIndex = 0;
String debugAtshRequest = "ATSH7E4";
String debugCommandRequest = "220101";
String debugLastString = "620101FFF7E7FF99000000000300B10EFE120F11100F12000018C438C30B00008400003864000035850000153A00001374000647010D017F0BDA0BDA03E8";
String debugPreviousString = "620101FFF7E7FFB3000000000300120F9B111011101011000014CC38CB3B00009100003A510000367C000015FB000013D3000690250D018E0000000003E8";
//
LiveData* liveData;
CarInterface* carInterface;
void setLiveData(LiveData* pLiveData);
void attachCar(CarInterface* pCarInterface);
virtual void initBoard()=0;
virtual void afterSetup()=0;
virtual void mainLoop()=0;
virtual bool skipAdapterScan() {return false;};
// Graphics & GUI
virtual void displayMessage(const char* row1, const char* row2)=0;
virtual void setBrightness(byte lcdBrightnessPerc)=0;
virtual void redrawScreen()=0;
// Menu
virtual void showMenu()=0;
virtual void hideMenu()=0;
// Common
void shutdownDevice();
void saveSettings();
void resetSettings();
void loadSettings();
void customConsoleCommand(String cmd);
};
#endif // BOARDINTERFACE_H