11#ifndef M5_UNIT_COMPONENT_ADAPTER_UART_HPP
12#define M5_UNIT_COMPONENT_ADAPTER_UART_HPP
25class AdapterUART :
public Adapter {
31 inline virtual HardwareSerial* getSerial()
38 virtual void flushRX()
41 virtual void setTimeout(
const uint32_t)
50 explicit SerialImpl(HardwareSerial& serial);
51 inline virtual HardwareSerial* getSerial()
override
55 virtual void flush()
override;
56 virtual void flushRX()
override;
57 virtual void setTimeout(
const uint32_t ms)
override;
58 virtual m5::hal::error::error_t readWithTransaction(uint8_t* data,
const size_t len)
override;
59 virtual m5::hal::error::error_t writeWithTransaction(
const uint8_t* data,
const size_t len,
60 const uint32_t stop)
override;
63 HardwareSerial* _serial{};
68 AdapterUART(HardwareSerial& serial);
79 inline void setTimeout(
const uint32_t ms)
81 impl()->setTimeout(ms);
84 inline UARTImpl* impl()
86 return static_cast<UARTImpl*
>(_impl.get());
88 inline const UARTImpl* impl()
const
90 return static_cast<UARTImpl*
>(_impl.get());
94 AdapterUART() : Adapter(Adapter::Type::UART, new UARTImpl())
Definition adapter_base.hpp:35
Definition adapter_uart.hpp:27
Top level namespace of M5stack.
Definition test_helper.hpp:18