# Conflicts: # docs/payloads.md # examples/companion_radio/DataStore.cpp # examples/companion_radio/DataStore.h # examples/companion_radio/MyMesh.cpp # examples/companion_radio/MyMesh.h # examples/companion_radio/NodePrefs.h # examples/companion_radio/main.cpp # examples/simple_room_server/MyMesh.cpp # examples/simple_room_server/MyMesh.h # examples/simple_sensor/SensorMesh.cpp # platformio.ini # src/Utils.cpp # src/helpers/CommonCLI.cpp # src/helpers/CommonCLI.h # src/helpers/NRF52Board.cpp # src/helpers/nrf52/SerialEthernetInterface.cpp # src/helpers/radiolib/CustomLLCC68.h # src/helpers/radiolib/CustomLLCC68Wrapper.h # src/helpers/radiolib/CustomLR1110.h # src/helpers/radiolib/CustomSTM32WLxWrapper.h # src/helpers/radiolib/CustomSX1262.h # src/helpers/radiolib/CustomSX1268.h # src/helpers/radiolib/CustomSX1268Wrapper.h # src/helpers/ui/ST7735Display.cpp # test/mocks/Stream.h # variants/minewsemi_me25ls01/target.h # variants/wio-tracker-l1/platformio.ini
31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <Arduino.h>
|
|
|
|
#define MAX_FRAME_SIZE 176 // +4 for transport codes (region scoping)
|
|
|
|
class BaseSerialInterface {
|
|
protected:
|
|
BaseSerialInterface() { }
|
|
|
|
public:
|
|
virtual void enable() = 0;
|
|
virtual void disable() = 0;
|
|
virtual bool isEnabled() const = 0;
|
|
|
|
virtual bool isConnected() const = 0;
|
|
virtual void loop() {};
|
|
|
|
virtual bool isReadBusy() const = 0;
|
|
virtual bool isWriteBusy() const = 0;
|
|
// True while application-level transport work still needs loop service.
|
|
// Backends whose busy methods are throttling/high-water signals should
|
|
// override this with their actual queue state.
|
|
virtual bool hasPendingIO() const { return isReadBusy() || isWriteBusy(); }
|
|
// Returns true once for each pending Bluetooth pairing prompt. Non-BLE
|
|
// transports keep the default implementation so UI code can poll safely.
|
|
virtual bool takePairingRequest() { return false; }
|
|
virtual size_t writeFrame(const uint8_t src[], size_t len) = 0;
|
|
virtual size_t checkRecvFrame(uint8_t dest[]) = 0;
|
|
};
|