new Heltec_v3_companion_radio_wifi target

This commit is contained in:
Florent de Lamotte 2025-03-03 13:26:37 +01:00
parent 32e1115e90
commit 03293be892
4 changed files with 179 additions and 2 deletions

View file

@ -0,0 +1,51 @@
#pragma once
#include "../BaseSerialInterface.h"
#include <WiFi.h>
class SerialWifiInterface : public BaseSerialInterface {
bool deviceConnected;
bool _isEnabled;
uint32_t _pin_code;
unsigned long _last_write;
unsigned long adv_restart_time;
WiFiServer server;
WiFiClient client;
struct Frame {
uint8_t len;
uint8_t buf[MAX_FRAME_SIZE];
};
#define FRAME_QUEUE_SIZE 4
int recv_queue_len;
Frame recv_queue[FRAME_QUEUE_SIZE];
int send_queue_len;
Frame send_queue[FRAME_QUEUE_SIZE];
void clearBuffers() { recv_queue_len = 0; send_queue_len = 0; }
protected:
public:
SerialWifiInterface() : server(WiFiServer()), client(WiFiClient()) {
deviceConnected = false;
_isEnabled = false;
_last_write = 0;
send_queue_len = recv_queue_len = 0;
}
void begin(int port);
// BaseSerialInterface methods
void enable() override;
void disable() override;
bool isEnabled() const override { return _isEnabled; }
bool isConnected() const override;
bool isWriteBusy() const override;
size_t writeFrame(const uint8_t src[], size_t len) override;
size_t checkRecvFrame(uint8_t dest[]) override;
};