Refactored to have a pure virtual bas class and added telnet capability

This commit is contained in:
2024-08-07 08:57:07 -04:00
parent 6281fc9e7c
commit b5d9c9d666
5 changed files with 379 additions and 201 deletions

View File

@@ -2,14 +2,14 @@
#include "SerialMessage.h"
#include <Arduino.h>
template <uint16_t byteSize>
class USBMessage : public SerialMessage<byteSize>{
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
class USBMessage : public Message<SERIAL_BUFFER_SIZE, MAX_ARGS>{
public:
/**
* @brief Construct a new Bluetooth Serial Message object
* @brief Construct a new USB Serial Message object
*/
USBMessage(USBCDC *serial);
void Init(uint32_t baudRate = 115200) override;
void Init(uint32_t baudRate) override;
/**
* @brief prints the args array to the serial monitor
*/
@@ -23,26 +23,26 @@ class USBMessage : public SerialMessage<byteSize>{
};
template <uint16_t byteSize>
char USBMessage<byteSize>::getChar(){
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
USBMessage<SERIAL_BUFFER_SIZE, MAX_ARGS>::USBMessage(USBCDC *USBSerial) : serial(USBSerial){}
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
char USBMessage<SERIAL_BUFFER_SIZE, MAX_ARGS>::getChar(){
return serial->read();
}
template <uint16_t byteSize>
uint32_t USBMessage<byteSize>::dataAvailable(){
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
uint32_t USBMessage<SERIAL_BUFFER_SIZE, MAX_ARGS>::dataAvailable(){
return serial->available();
}
template <uint16_t byteSize>
USBMessage<byteSize>::USBMessage(USBCDC *serial) : serial(serial){}
template <uint16_t byteSize>
void USBMessage<byteSize>::Init(uint32_t baudRate){
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
void USBMessage<SERIAL_BUFFER_SIZE, MAX_ARGS>::Init(uint32_t baudRate){
serial->begin();
}
template <uint16_t byteSize>
void USBMessage<byteSize>::PrintArgs(){
template <uint32_t SERIAL_BUFFER_SIZE, uint32_t MAX_ARGS>
void USBMessage<SERIAL_BUFFER_SIZE, MAX_ARGS>::PrintArgs(){
serial->print("Current number of args: ");
serial->println(this->populatedArgs);
for (int i = 0; i < this->populatedArgs; i++) {