65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
/*
|
|
* ll_consolehandler.cpp
|
|
*
|
|
* Created on: Nov 7, 2019
|
|
* Author: abody
|
|
*/
|
|
|
|
#include <ll_consolehandler.h>
|
|
#include <strutil.h>
|
|
|
|
namespace f4ll {
|
|
|
|
LL_ConsoleHandler::LL_ConsoleHandler(USART_TypeDef *usart, DMA_TypeDef *dma, uint32_t streamRx, uint32_t streamTx)
|
|
: LL_UsartCore(usart, dma, streamRx, streamTx)
|
|
{
|
|
}
|
|
|
|
void LL_ConsoleHandler::ReceiverIdle(void) {}
|
|
void LL_ConsoleHandler::TransmissionComplete(void) {}
|
|
void LL_ConsoleHandler::RxDmaTransferComplete(void) {}
|
|
void LL_ConsoleHandler::RxDmaHalfTransfer(void) {}
|
|
void LL_ConsoleHandler::RxDmaError(LL_DmaHelper::DmaErrorType reason) {}
|
|
void LL_ConsoleHandler::TxDmaTransferComplete(void)
|
|
{
|
|
LL_USART_EnableIT_TC(m_usart);
|
|
LL_DMA_DisableStream(m_txDma.GetDma(), m_txDma.GetStream());
|
|
}
|
|
void LL_ConsoleHandler::TxDmaHalfTransfer(void) {}
|
|
void LL_ConsoleHandler::TxDmaError(LL_DmaHelper::DmaErrorType reason) {}
|
|
|
|
|
|
#define ADDINFO(b,s,u) \
|
|
b += strcpy_ex(b,s); \
|
|
b += uitodec(b,u);
|
|
|
|
void LL_ConsoleHandler::PrintStats(uint8_t id, LL_HsUsart &usart)
|
|
{
|
|
char ids[] = " : ";
|
|
char *buffer = m_buffer;
|
|
LL_HsUsart::Stats const &stats(usart.GetStats());
|
|
|
|
ids[0] = id + '0';
|
|
buffer += strcpy_ex(buffer, ids);
|
|
ADDINFO(buffer, " s: ", stats.sent);
|
|
ADDINFO(buffer, " r: ", stats.rcvd);
|
|
ADDINFO(buffer, " sk: ", stats.skiped);
|
|
ADDINFO(buffer, " or: ", stats.overrun);
|
|
ADDINFO(buffer, " he: ", stats.hdrError);
|
|
ADDINFO(buffer, " pe: ", stats.payloadErrror);
|
|
buffer += strcpy_ex(buffer,",0x");
|
|
buffer += uitohex(buffer, stats.pep1, 8);
|
|
buffer += strcpy_ex(buffer,",0x");
|
|
buffer += uitohex(buffer, stats.pep2, 8);
|
|
ADDINFO(buffer, " rde: ", stats.rxDmaError);
|
|
ADDINFO(buffer, " tde: ", stats.txDmaError);
|
|
ADDINFO(buffer, " pmh: ", stats.premature_hdr);
|
|
ADDINFO(buffer, " pmp: ", stats.premature_payload);
|
|
buffer += strcpy_ex(buffer, "\r\n");
|
|
|
|
SetupTransmit(m_buffer, buffer - m_buffer + 1);
|
|
}
|
|
|
|
|
|
} /* namespace f4ll */
|
|
|