18#ifndef M5_UNIT_RS485_UNIT_SIT3088_HPP
19#define M5_UNIT_RS485_UNIT_SIT3088_HPP
56 virtual bool begin()
override;
97 virtual std::unique_ptr<ISerial>
make_serial(AdapterUART *ad)
override;
99 inline int8_t configured_dir_pin()
const
101 return _configured_dir_pin;
106 int8_t _configured_dir_pin{-1};
109 friend struct DirControlledSerial;
Non-instantiable base class for RS-485 transceiver units.
Definition rs485_component.hpp:37
config_t config()
Gets the configuration.
Definition rs485_component.hpp:79
RS-485 unit using the SIT3088 transceiver (manual direction control via a DIR pin)
Definition unit_SIT3088.hpp:30
config_t config()
Gets the configuration.
Definition unit_SIT3088.hpp:64
virtual bool begin() override
Configure the DIR pin, then begin using the registered UART adapter.
Definition unit_SIT3088.cpp:111
virtual std::unique_ptr< ISerial > make_serial(AdapterUART *ad) override
Factory hook: build the concrete ISerial to be used by begin().
Definition unit_SIT3088.cpp:154
void config(const config_t &cfg)
Sets the configuration.
Definition unit_SIT3088.hpp:73
virtual void configure_dir_pin(const int8_t pin)
One-time setup of the DIR pin as an output (called by begin()).
Definition unit_SIT3088.cpp:130
UnitSIT3088()
Constructor. dir_pin remains unset; set via config() before begin().
Definition unit_SIT3088.cpp:107
virtual void set_transmit(const bool tx_enable)
Switch the transceiver into transmit (true) or receive (false) mode.
Definition unit_SIT3088.cpp:145
virtual ~UnitSIT3088()=default
Destructor.
Top level namespace of M5Stack.
Common base for RS-485 transceiver units in M5UnitUnified.
Settings for begin.
Definition rs485_component.hpp:69
Settings for begin (extends RS485Component::config_t with the SIT3088 DIR pin)
Definition unit_SIT3088.hpp:41
int8_t dir_pin
DIR (DE/RE tied) GPIO number; -1 = unset (begin() fails)
Definition unit_SIT3088.hpp:42