15#include "usbconsole.h"
22#ifndef USART_CR2_STOP1_BITS
24#define USART_CR2_STOP1_BITS 0
27#define TS_PACKET_HEADER_SIZE 3
28#define TS_PACKET_TAIL_SIZE 4
34 virtual void write(
const uint8_t*
buffer,
size_t size,
bool isEndOfPacket =
false) = 0;
40 virtual bool isReady()
const {
return true; }
52 void writeCrcPacket(uint8_t responseCode,
const uint8_t* buf,
size_t size,
bool allowLongPackets =
false);
55#ifdef CUSTOM_TS_BUFFER_SIZE
56 #define scratchBuffer_SIZE CUSTOM_TS_BUFFER_SIZE
58 #define scratchBuffer_SIZE BLOCKING_FACTOR
102 virtual void start(uint32_t baud) = 0;
111 void start(uint32_t baud)
override;
112 void stop()
override;
114 void write(
const uint8_t*
buffer,
size_t size,
bool isEndOfPacket)
override;
128 void start(uint32_t baud)
override;
129 void stop()
override;
131 void write(
const uint8_t*
buffer,
size_t size,
bool isEndOfPacket)
override;
141#define BINARY_IO_TIMEOUT TIME_MS2I(1000)
144#define SR5_READ_TIMEOUT TIME_MS2I(1000)
virtual void start(uint32_t baud)=0
SerialTsChannelBase(const char *p_name)
SerialDriver *const m_driver
void write(const uint8_t *buffer, size_t size, bool isEndOfPacket) override
void start(uint32_t baud) override
size_t readTimeout(uint8_t *buffer, size_t size, int timeout) override
SerialTsChannel(SerialDriver &driver)
void crcAndWriteBuffer(const uint8_t responseCode, const size_t size)
virtual bool isReady() const
void copyAndWriteSmallCrcPacket(uint8_t responseCode, const uint8_t *buf, size_t size)
size_t read(uint8_t *buffer, size_t size)
bool isBigPacket(size_t size)
char scratchBuffer[scratchBuffer_SIZE+30]
uint32_t writePacketHeader(const uint8_t responseCode, const size_t size)
void writeCrcPacketLarge(uint8_t responseCode, const uint8_t *buf, size_t size)
virtual bool isConfigured() const
void writeCrcResponse(uint8_t responseCode)
void assertPacketSize(size_t size, bool allowLongPackets)
virtual void writeCrcPacket(uint8_t responseCode, const uint8_t *buf, size_t size, bool allowLongPackets=false)
virtual void write(const uint8_t *buffer, size_t size, bool isEndOfPacket=false)=0
virtual size_t readTimeout(uint8_t *buffer, size_t size, int timeout)=0
void sendResponse(ts_response_format_e mode, const uint8_t *buffer, int size, bool allowLongPackets=false)
UARTDriver *const m_driver
void start(uint32_t baud) override
size_t readTimeout(uint8_t *buffer, size_t size, int timeout) override
void write(const uint8_t *buffer, size_t size, bool isEndOfPacket) override
UartTsChannel(UARTDriver &driver)
Driver configuration structure.
Structure representing an UART driver.
static BigBufferHandle buffer
void startSerialChannels()
SerialTsChannelBase * getBluetoothChannel()