counting per-channel traffic

This commit is contained in:
rusefillc 2023-03-16 13:25:25 -04:00
parent 8ef2af44f3
commit a09d1bcbc4
2 changed files with 14 additions and 4 deletions

View File

@ -24,11 +24,14 @@ void SerialTsChannel::stop() {
}
void SerialTsChannel::write(const uint8_t* buffer, size_t size, bool /*isEndOfPacket*/) {
chnWriteTimeout(m_driver, buffer, size, BINARY_IO_TIMEOUT);
size_t transferred = chnWriteTimeout(m_driver, buffer, size, BINARY_IO_TIMEOUT);
bytesOut += transferred;
}
size_t SerialTsChannel::readTimeout(uint8_t* buffer, size_t size, int timeout) {
return chnReadTimeout(m_driver, buffer, size, timeout);
size_t transferred = chnReadTimeout(m_driver, buffer, size, timeout);
bytesIn += transferred;
return transferred;
}
#endif // HAL_USE_SERIAL
@ -57,11 +60,16 @@ void UartTsChannel::stop() {
}
void UartTsChannel::write(const uint8_t* buffer, size_t size, bool) {
uartSendTimeout(m_driver, &size, buffer, BINARY_IO_TIMEOUT);
size_t transferred = uartSendTimeout(m_driver, &size, buffer, BINARY_IO_TIMEOUT);
bytesOut += transferred;
}
size_t UartTsChannel::readTimeout(uint8_t* buffer, size_t size, int timeout) {
// nasty in/out parameter approach:
// in entry: number of data frames to receive
// on exit the number of frames actually received
uartReceiveTimeout(m_driver, &size, buffer, timeout);
bytesIn += size;
return size;
}
#endif // HAL_USE_UART

View File

@ -75,7 +75,9 @@ void UartDmaTsChannel::start(uint32_t baud) {
size_t UartDmaTsChannel::readTimeout(uint8_t* buffer, size_t size, int timeout) {
// Instead of reading from the device, read from our custom RX queue
return iqReadTimeout(&fifoRxQueue, buffer, size, timeout);
size_t transferred = iqReadTimeout(&fifoRxQueue, buffer, size, timeout);
bytesIn += transferred;
return transferred;
}
#endif // HAL_USE_UART && EFI_USE_UART_DMA