2020-06-27 16:36:32 +02:00
|
|
|
#ifndef WiThrottle_h
|
|
|
|
#define WiTHrottle_h
|
|
|
|
|
|
|
|
|
|
|
|
struct MYLOCO {
|
|
|
|
char throttle;
|
|
|
|
int cab;
|
|
|
|
};
|
|
|
|
|
|
|
|
class WiThrottle {
|
|
|
|
public:
|
|
|
|
static void loop();
|
2020-06-29 12:37:05 +02:00
|
|
|
void parse(Print & stream, byte * cmd);
|
2020-06-27 16:36:32 +02:00
|
|
|
static WiThrottle* getThrottle(Print & stream, int wifiClient);
|
|
|
|
|
|
|
|
private:
|
|
|
|
WiThrottle(Print & stream, int wifiClientId);
|
|
|
|
~WiThrottle();
|
|
|
|
|
|
|
|
static const int MAX_MY_LOCO=10;
|
|
|
|
static const int HEARTBEAT_TIMEOUT=10;
|
|
|
|
static WiThrottle* firstThrottle;
|
2020-06-29 12:37:05 +02:00
|
|
|
static int getInt(byte * cmd);
|
|
|
|
static int getLocoId(byte * cmd);
|
2020-06-27 16:36:32 +02:00
|
|
|
|
|
|
|
WiThrottle* nextThrottle;
|
|
|
|
int clientid;
|
|
|
|
|
|
|
|
MYLOCO myLocos[MAX_MY_LOCO];
|
|
|
|
bool heartBeatEnable;
|
|
|
|
unsigned long heartBeat;
|
|
|
|
|
2020-06-29 12:37:05 +02:00
|
|
|
void multithrottle(Print & stream, byte * cmd);
|
|
|
|
void locoAction(Print & stream, byte* aval, char throttleChar, int cab);
|
|
|
|
void accessory(Print & stream, byte* cmd);
|
2020-06-27 16:36:32 +02:00
|
|
|
void checkHeartbeat();
|
|
|
|
};
|
|
|
|
#endif
|