error message transmission now happens via uarthandler
This commit is contained in:
+29
-5
@@ -14,7 +14,7 @@ UartHandler::~UartHandler()
|
||||
}
|
||||
}
|
||||
|
||||
UartHandler &UartHandler::getInstance()
|
||||
UartHandler &UartHandler::getInstance() noexcept
|
||||
{
|
||||
static UartHandler instance;
|
||||
return instance;
|
||||
@@ -46,8 +46,13 @@ bool UartHandler::isOpen() const noexcept
|
||||
return (bool)Serial;
|
||||
}
|
||||
|
||||
void UartHandler::poll()
|
||||
void UartHandler::poll() noexcept
|
||||
{
|
||||
if (!isOpen()) {
|
||||
StateMachine::getInstance().raiseError("Serial closed!");
|
||||
return;
|
||||
}
|
||||
|
||||
size_t bytesAvail = Serial.available();
|
||||
if (bytesAvail) {
|
||||
// Consume at max one byte at a time to give consumers a chance to consume packets
|
||||
@@ -67,7 +72,7 @@ void UartHandler::poll()
|
||||
}
|
||||
}
|
||||
|
||||
void UartHandler::pushPacket()
|
||||
void UartHandler::pushPacket() noexcept
|
||||
{
|
||||
memset(packetRingBuf + packetRingBufWritePos * PACKET_SIZE, 0x00, PACKET_SIZE);
|
||||
memcpy(packetRingBuf + packetRingBufWritePos * PACKET_SIZE, inBuf, inBufPos);
|
||||
@@ -80,7 +85,7 @@ void UartHandler::pushPacket()
|
||||
}
|
||||
}
|
||||
|
||||
bool UartHandler::getNextPacket(char* dest)
|
||||
bool UartHandler::getNextPacket(char* dest) noexcept
|
||||
{
|
||||
if (!numPacketsAvailable) {
|
||||
return false;
|
||||
@@ -92,8 +97,27 @@ bool UartHandler::getNextPacket(char* dest)
|
||||
return true;
|
||||
}
|
||||
|
||||
size_t UartHandler::send(const char *buf, size_t nbytes)
|
||||
{
|
||||
if (!isOpen()) {
|
||||
StateMachine::getInstance().raiseError("Serial closed!");
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t UartHandler::getNumAvailablePackets() const
|
||||
return Serial.write(buf, nbytes);
|
||||
}
|
||||
|
||||
size_t UartHandler::send(const String& str)
|
||||
{
|
||||
if (!isOpen()) {
|
||||
StateMachine::getInstance().raiseError("Serial closed!");
|
||||
return;
|
||||
}
|
||||
|
||||
return Serial.write(str.c_str(), str.length());
|
||||
}
|
||||
|
||||
uint8_t UartHandler::getNumAvailablePackets() const noexcept
|
||||
{
|
||||
return numPacketsAvailable;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user