diff --git a/Drv/LinuxUartDriver/LinuxUartDriver.cpp b/Drv/LinuxUartDriver/LinuxUartDriver.cpp index a0d08f9ec12..7decbd4ec88 100644 --- a/Drv/LinuxUartDriver/LinuxUartDriver.cpp +++ b/Drv/LinuxUartDriver/LinuxUartDriver.cpp @@ -31,6 +31,8 @@ LinuxUartDriver ::LinuxUartDriver(const char* const compName) m_fd(-1), m_allocationSize(0), m_device("NOT_EXIST"), + m_bytesSent(0), + m_bytesReceived(0), m_quitReadThread(false) {} bool LinuxUartDriver::open(const char* const device, @@ -308,6 +310,9 @@ void LinuxUartDriver ::send_handler(const FwIndexType portNum, Fw::Buffer& serBu Fw::LogStringArg _arg = this->m_device; this->log_WARNING_HI_WriteError(_arg, static_cast(stat)); status = Drv::ByteStreamStatus::OTHER_ERROR; + } else { + this->m_bytesSent += static_cast(stat); + this->tlmWrite_BytesSent(this->m_bytesSent); } } // Return the buffer back to the caller @@ -356,9 +361,12 @@ void LinuxUartDriver ::serialReadTaskEntry(void* ptr) { } else if (stat > 0) { buff.setSize(static_cast(stat)); status = ByteStreamStatus::OP_OK; // added by m.chase 03.06.2017 + comp->m_bytesReceived += static_cast(stat); + comp->tlmWrite_BytesRecv(comp->m_bytesReceived); } else { status = ByteStreamStatus::OTHER_ERROR; // Simply to return the buffer } + comp->recv_out(0, buff, status); // added by m.chase 03.06.2017 } } diff --git a/Drv/LinuxUartDriver/LinuxUartDriver.hpp b/Drv/LinuxUartDriver/LinuxUartDriver.hpp index 419bbe915f7..f9b2bd788a4 100644 --- a/Drv/LinuxUartDriver/LinuxUartDriver.hpp +++ b/Drv/LinuxUartDriver/LinuxUartDriver.hpp @@ -116,7 +116,9 @@ class LinuxUartDriver final : public LinuxUartDriverComponentBase { Os::Task m_readTask; //!< task instance for thread to read serial port - bool m_quitReadThread; //!< flag to quit thread + FwSizeType m_bytesSent; //!< number of bytes sent + FwSizeType m_bytesReceived; //!< number of bytes received + bool m_quitReadThread; //!< flag to quit thread }; } // end namespace Drv diff --git a/Drv/LinuxUartDriver/Telemetry.fppi b/Drv/LinuxUartDriver/Telemetry.fppi index ec8fd1ce516..5bf7af63adc 100644 --- a/Drv/LinuxUartDriver/Telemetry.fppi +++ b/Drv/LinuxUartDriver/Telemetry.fppi @@ -1,5 +1,5 @@ @ Bytes Sent -telemetry BytesSent: U32 id 0 +telemetry BytesSent: FwSizeType id 0 @ Bytes Received -telemetry BytesRecv: U32 id 1 +telemetry BytesRecv: FwSizeType id 1