2025-01-28 20:30:15 +11:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
2025-01-29 10:12:22 +11:00
|
|
|
#define MAX_FRAME_SIZE 172
|
2025-01-28 20:30:15 +11:00
|
|
|
|
|
|
|
|
class BaseSerialInterface {
|
|
|
|
|
protected:
|
|
|
|
|
BaseSerialInterface() { }
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
virtual void enable() = 0;
|
|
|
|
|
virtual void disable() = 0;
|
|
|
|
|
virtual bool isEnabled() const = 0;
|
|
|
|
|
|
|
|
|
|
virtual bool isConnected() const = 0;
|
2026-05-20 18:24:55 +02:00
|
|
|
// Returns true when a BLE companion app is connected. Default delegates to
|
|
|
|
|
// isConnected(); override in dual-interface wrappers that always report
|
|
|
|
|
// isConnected()=true but still need to distinguish BLE from USB state.
|
|
|
|
|
virtual bool isBLEConnected() const { return isConnected(); }
|
2025-01-28 20:30:15 +11:00
|
|
|
|
|
|
|
|
virtual bool isWriteBusy() const = 0;
|
|
|
|
|
virtual size_t writeFrame(const uint8_t src[], size_t len) = 0;
|
|
|
|
|
virtual size_t checkRecvFrame(uint8_t dest[]) = 0;
|
|
|
|
|
};
|