M5Unit-RS485 0.1.0 git rev:8a0af48
Loading...
Searching...
No Matches
m5::unit::UnitSP485 Class Reference

RS-485 unit using the SP485EEN transceiver (auto direction control) More...

#include <unit_SP485.hpp>

Inheritance diagram for m5::unit::UnitSP485:
m5::unit::RS485Component

Public Member Functions

 UnitSP485 ()
 Constructor.
 
virtual ~UnitSP485 ()=default
 Destructor.
 
- Public Member Functions inherited from m5::unit::RS485Component
virtual ~RS485Component ()=default
 Destructor.
 
virtual bool begin () override
 Begin using the registered UART adapter.
 
config_t config ()
 Gets the configuration.
 
void config (const config_t &cfg)
 Sets the configuration.
 
 operator bool () const
 Returns true if the unit is registered.
 
int available ()
 Returns the number of available bytes to read.
 
int availableForWrite ()
 Returns the number of bytes that can be written without blocking.
 
int peek ()
 Peeks the next incoming byte without removing it.
 
int read ()
 Reads one byte.
 
size_t read (uint8_t *buffer, const size_t size)
 Reads up to size bytes into buffer.
 
size_t read (char *buffer, const size_t size)
 Reads up to size bytes into buffer.
 
size_t readBytes (uint8_t *buffer, const size_t length)
 Reads bytes with timeout defined by underlying Serial.
 
size_t readBytes (char *buffer, const size_t length)
 Reads bytes with timeout defined by underlying Serial.
 
void flush ()
 Flushes the serial port.
 
void flush (const bool txOnly)
 Flushes the serial port.
 
size_t write (const uint8_t d, const bool flush=true)
 Writes one byte.
 
size_t write (const uint8_t *buffer, const size_t size, const bool flush=true)
 Writes bytes from buffer.
 
size_t write (const char *buffer, const size_t size, const bool flush=true)
 Writes bytes from buffer.
 
size_t write (const char *s, const bool flush=true)
 Writes a null-terminated string.
 
template<typename T , bool LittleEndian = true>
bool readValue (T &value)
 Read a trivially copyable value.
 
template<typename T , bool LittleEndian = true>
bool writeValue (const T value)
 Write a trivially copyable value.
 

Additional Inherited Members

- Protected Member Functions inherited from m5::unit::RS485Component
 RS485Component (const uint8_t addr)
 Base constructor (concrete subclasses pass their DEFAULT_ADDRESS)
 
ISerial * iserial ()
 
virtual std::unique_ptr< ISerial > make_serial (AdapterUART *ad)
 Factory hook: build the concrete ISerial to be used by begin().
 
- Static Protected Member Functions inherited from m5::unit::RS485Component
template<typename T >
static T byteswap_if_needed (T v)
 
template<typename T >
static T byteswap_if_needed_impl (T v, byteswap_int_tag)
 
template<typename T >
static T byteswap_if_needed_impl (T v, byteswap_float_tag)
 
template<typename T >
static T byteswap_if_needed_impl (T v, byteswap_none_tag)
 
- Protected Attributes inherited from m5::unit::RS485Component
std::unique_ptr< ISerial > _serial {}
 
config_t _cfg {}
 

Detailed Description

RS-485 unit using the SP485EEN transceiver (auto direction control)