- Move user sketches to 10-OBD-Display-2024/, one folder per sketch - Keep 2-Program Example/Demo_Arduino vendor-only, single docs/ copy - Remove duplicate screenshots/instructions and ELMulator zip - Archive broken LVGL 9 attempt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78 lines
1.4 KiB
C++
78 lines
1.4 KiB
C++
#ifndef ELMulator_OBDWiFiComm_h
|
|
#define ELMulator_OBDWiFiComm_h
|
|
|
|
#include <Arduino.h>
|
|
#include <WiFi.h>
|
|
#include <WiFiServer.h>
|
|
#include "definitions.h"
|
|
|
|
|
|
class OBDWiFiComm
|
|
{
|
|
public:
|
|
enum STATUS
|
|
{
|
|
IDLE = 0,
|
|
READY = 1
|
|
};
|
|
|
|
OBDWiFiComm();
|
|
|
|
~OBDWiFiComm();
|
|
|
|
void init(const String &deviceName);
|
|
|
|
void writeEndOK();
|
|
|
|
void writeEndERROR();
|
|
|
|
/**
|
|
* Response for unsupported PID command or missing sensor, respond "NO DATA".
|
|
*/
|
|
void writeEndNoData();
|
|
|
|
/**
|
|
* Response for invalid AT command, or invalid PID or other bad input, respond "?"
|
|
*/
|
|
void writeEndUnknown();
|
|
|
|
void setToDefaults();
|
|
|
|
void readData(String &rxData);
|
|
|
|
void writeTo(uint8_t cChar);
|
|
|
|
void writeTo(char const *string);
|
|
|
|
void setEcho(bool echo);
|
|
|
|
void writeEnd();
|
|
|
|
bool isEchoEnable();
|
|
|
|
void setLineFeeds(bool status);
|
|
|
|
void setMemory(bool status);
|
|
|
|
void setWhiteSpaces(bool status);
|
|
|
|
void setHeaders(bool status);
|
|
|
|
void setStatus(STATUS status);
|
|
|
|
void writeEndPidTo(char const *string);
|
|
|
|
private:
|
|
STATUS status; // Operation status
|
|
bool echoEnable; // echoEnable command after received
|
|
bool lineFeedEnable;
|
|
bool memoryEnabled;
|
|
bool whiteSpacesEnabled;
|
|
bool headersEnabled;
|
|
|
|
void addSpacesToResponse(const char *response, char string[]);
|
|
|
|
WiFiClient client;
|
|
};
|
|
|
|
#endif |