Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
Esp32HardwareSerialAdapter.hxx
Go to the documentation of this file.
1
36#ifndef _FREERTOS_DRIVERS_ESP32_ESP32SERIAL_HXX_
37#define _FREERTOS_DRIVERS_ESP32_ESP32SERIAL_HXX_
38
39#include <HardwareSerial.h>
40
41namespace openmrn_arduino {
42
44{
45public:
49 Esp32HardwareSerialAdapter(HardwareSerial &serial)
50 : serial_(serial)
51 {
52 }
53
56 {
57 return serial_.availableForWrite();
58 }
59
64 size_t write(const char *buffer, size_t len)
65 {
66 return serial_.write((uint8_t *)buffer, len);
67 }
68
70 size_t available()
71 {
72 return serial_.available();
73 }
74
79 size_t read(const char *buffer, size_t len)
80 {
81 return serial_.readBytes((char *)buffer, len);
82 }
83
84private:
86 HardwareSerial &serial_;
87};
88
89} // namespace openmrn_arduino
90
92
93#endif /* _FREERTOS_DRIVERS_ESP32_ESP32SERIAL_HXX_ */
size_t availableForWrite()
Returns the usable capacity of the underlying HardwareSerial transmit buffer.
Esp32HardwareSerialAdapter(HardwareSerial &serial)
Constructor.
HardwareSerial & serial_
HardwareSerial device being wrapped.
size_t read(const char *buffer, size_t len)
Reads a byte stream from the underlying HardwareSerial device.
size_t write(const char *buffer, size_t len)
Writes a byte stream to the underlying HardwareSerial device.