44 lines
1 KiB
C++
44 lines
1 KiB
C++
/*
|
|
* ll_consolehandler.h
|
|
*
|
|
* Created on: Nov 7, 2019
|
|
* Author: abody
|
|
*/
|
|
|
|
#ifndef LL_CONSOLEHANDLER_H_
|
|
#define LL_CONSOLEHANDLER_H_
|
|
|
|
#include "f1ll/usart_core.h"
|
|
#include "singleton.h"
|
|
|
|
namespace f1ll {
|
|
|
|
class console_handler : public usart_core, public singleton<console_handler>
|
|
{
|
|
friend class singleton<console_handler>;
|
|
|
|
public:
|
|
void print(char const *s);
|
|
|
|
private:
|
|
console_handler(USART_TypeDef *usart, DMA_TypeDef *dma, uint32_t channelRx, uint32_t channelTx);
|
|
|
|
// LL_UsartCore pure virtual function implementations
|
|
virtual void receiver_idle(void);
|
|
virtual void transmission_complete(void);
|
|
virtual void framing_error(void);
|
|
virtual void overrun(void);
|
|
virtual void rx_dma_transfer_complete(void);
|
|
virtual void rx_dma_half_transfer(void);
|
|
virtual void rx_dma_error(void);
|
|
virtual void tx_dma_transfer_complete(void);
|
|
virtual void tx_dma_half_transfer(void);
|
|
virtual void tx_dma_error(void);
|
|
|
|
char m_buffer[128];
|
|
uint16_t m_used = 0;
|
|
};
|
|
|
|
} // namespace f1ll
|
|
|
|
#endif /* LL_CONSOLEHANDLER_H_ */
|