ESP32_ChinaDieselHeater_Con.../Arduino/BTCDieselHeater/BluetoothAbstract.h
rljonesau 668870580e Added code to allow injection of test commands into unknown protocol values to see if some sort of
reaction could be found - none so far.
Added Blue LED flash on ESP32 when Rx'ing serial blue wire data.
Created a UtilClasses.h file for utility classes.
2018-11-06 20:43:54 +11:00

33 lines
No EOL
909 B
C++

#include <Arduino.h>
#include "UtilClasses.h"
class CProtocol;
extern void Command_Interpret(const char* pLine); // decodes received command lines, implemented in main .ino file!
class CBluetoothAbstract {
protected:
sRxLine _rxLine;
CContextTimeStamp _timeStamp;
public:
virtual void init() {};
virtual void setRefTime() {
_timeStamp.setRefTime();
};
virtual void sendFrame(const char* pHdr, const CProtocol& Frame, bool lineterm=true) {
_timeStamp.report(pHdr);
DebugReportFrame(pHdr, Frame, lineterm ? "\r\n" : " ");
};
virtual void check() {};
virtual void collectRxData(char rxVal) {
// provide common behviour for bytes received from a bluetooth client
if(isControl(rxVal)) { // "End of Line"
Command_Interpret(_rxLine.Line);
_rxLine.clear();
}
else {
_rxLine.append(rxVal); // append new char to our Rx buffer
}
};
};