Libraries/IOControl/include/IO/Device.h
Go to the documentation of this file.
Controller & controller
Definition: Libraries/IOControl/include/IO/Device.h:228
virtual DevNode::ID nodeIdMin() const
Get minimum valid Node ID for this device.
Definition: Libraries/IOControl/include/IO/Device.h:183
State getState()
Get current device state.
Definition: Libraries/IOControl/include/IO/Device.h:173
Controller & getController() const
Obtain the owning controller.
Definition: Libraries/IOControl/include/IO/Device.h:165
virtual ErrorCode stop()
Device(Controller &controller, const char *id)
Device constructor.
Definition: Libraries/IOControl/include/IO/Device.h:109
const CString & getName() const
Optional descriptive name for the device.
Definition: Libraries/IOControl/include/IO/Device.h:144
virtual DevNode::States getNodeStates(DevNode node) const
Return the current set of states for all nodes controlled by this device.
Definition: Libraries/IOControl/include/IO/Device.h:210
virtual const FlashString & deviceClass() const =0
Return the Device class name, e.g. 'r421a'.
virtual const DeviceType type() const =0
Definition: IOControl/include/IO/Controller.h:25
bool operator==(const String &className) const
Definition: Libraries/IOControl/include/IO/Device.h:69
virtual DevNode::ID nodeIdMax() const
Get maximum valid Node ID for this device.
Definition: Libraries/IOControl/include/IO/Device.h:191
Handles requests for a specific device; the requests are executed by the relevant controller...
Definition: Libraries/IOControl/include/IO/Device.h:35
void parseJson(JsonObjectConst json, Config &cfg)
Abstract class which allows device instances to be created.
Definition: Libraries/IOControl/include/IO/Device.h:44
virtual void handleEvent(Request *request, Event event)
Implementations may override this method to customise event handling.
virtual ErrorCode start()
Class to manage a NUL-terminated C-style string When storing persistent strings in RAM the regular St...
Definition: CString.h:26
Json json
virtual Request * createRequest()=0
Create a request object for this device.
A Controller is responsible for serialising requests for a physical bus.
Definition: IOControl/include/IO/Controller.h:41
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:75
Base class template for linked items with type casting.
Definition: LinkedObject.h:61
Inherited classes expand this definition as required.
Definition: Libraries/IOControl/include/IO/Device.h:80
virtual uint16_t address() const
Devices with a numeric address should implement this method.
Definition: Libraries/IOControl/include/IO/Device.h:152
ErrorCode init(const Config &config)
virtual uint16_t maxNodes() const
Determine maximum number of nodes supported by the devicce.
Definition: Libraries/IOControl/include/IO/Device.h:200
bool operator==(const String &id) const
Definition: Libraries/IOControl/include/IO/Device.h:136
void submit(Request *request)
const CString & getId() const
The unique device identifier.
Definition: Libraries/IOControl/include/IO/Device.h:131
virtual Device * createDevice(IO::Controller &controller, const char *id) const =0
Create a new device instance.
virtual const FlashString & controllerClass() const =0
Return the expected controller type for this device class, e.g. 'rs485'.
1.8.13