Libraries/IOControl/include/IO/RS485/Device.h
Go to the documentation of this file.
A Controller is responsible for serialising requests for a physical bus.
Definition: IOControl/include/IO/Controller.h:42
Abstract class which allows device instances to be created.
Definition: Libraries/IOControl/include/IO/Device.h:45
Handles requests for a specific device; the requests are executed by the relevant controller.
Definition: Libraries/IOControl/include/IO/Device.h:36
Controller & controller
Definition: Libraries/IOControl/include/IO/Device.h:234
Definition: IOControl/include/IO/RS485/Controller.h:32
Definition: Libraries/IOControl/include/IO/RS485/Device.h:37
const FlashString & controllerClass() const override
Return the expected controller type for this device class, e.g. 'rs485'.
Definition: Libraries/IOControl/include/IO/RS485/Device.h:44
IO::Device * createDevice(IO::Controller &controller, const char *id) const override
Create a new device instance.
Definition: Libraries/IOControl/include/IO/RS485/Device.h:39
Base device class for communicating with an RS485 slave.
Definition: Libraries/IOControl/include/IO/RS485/Device.h:34
unsigned timeout() const
Definition: Libraries/IOControl/include/IO/RS485/Device.h:112
ErrorCode init(JsonObjectConst config) override
Device(Controller &controller, const char *id)
Definition: Libraries/IOControl/include/IO/RS485/Device.h:80
ErrorCode init(const Config &config)
uint16_t address() const override
Devices with a numeric address should implement this method.
Definition: Libraries/IOControl/include/IO/RS485/Device.h:97
unsigned baudrate() const
Definition: Libraries/IOControl/include/IO/RS485/Device.h:107
void handleEvent(IO::Request *request, Event event) override
Implementations may override this method to customise event handling.
Controller & getController()
Definition: Libraries/IOControl/include/IO/RS485/Device.h:92
const DeviceType type() const override
Definition: Libraries/IOControl/include/IO/RS485/Device.h:87
uint8_t segment() const
Definition: Libraries/IOControl/include/IO/RS485/Device.h:102
void parseJson(JsonObjectConst json, Config &cfg)
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:80
Json json
Definition: IOControl/include/IO/RS485/Controller.h:28
constexpr unsigned DEFAULT_TIMEOUT
Definition: Libraries/IOControl/include/IO/RS485/Device.h:28
constexpr unsigned DEFAULT_BAUDRATE
Definition: Libraries/IOControl/include/IO/RS485/Device.h:27
Definition: IOControl/include/IO/Controller.h:26
@ RS485
Inherited classes expand this definition as required.
Definition: Libraries/IOControl/include/IO/Device.h:80
Definition: Libraries/IOControl/include/IO/RS485/Device.h:55
unsigned timeout
Definition: Libraries/IOControl/include/IO/RS485/Device.h:75
uint8_t segment
Definition: Libraries/IOControl/include/IO/RS485/Device.h:67
uint16_t address
Definition: Libraries/IOControl/include/IO/RS485/Device.h:59
unsigned baudrate
Definition: Libraries/IOControl/include/IO/RS485/Device.h:71
RS485 configuration.
Definition: Libraries/IOControl/include/IO/RS485/Device.h:53
IO::Device::Config base
Definition: Libraries/IOControl/include/IO/RS485/Device.h:54
Slave slave
Definition: Libraries/IOControl/include/IO/RS485/Device.h:77