- JC3636W518 sketches: pioarduino 51.03.05 (Arduino core 3.0.5), ESP32-S3 16MB QIO / OPI PSRAM, vendor libs via lib_extra_dirs, per-project lv_conf.h - display_gif_embedded uses default_16MB.csv (firmware 3.4 MB > huge_app) - elm327_wifi_bridge: espressif32 6.10.0 on esp32dev, pinned lib_deps - elmulator: library in lib/, one env per example, duplicate copies removed - .ino -> src/main.cpp, headers/lv_conf.h -> include/ 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 |