Libraries/IOControl/include/IO/RFSwitch/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
Controller for 433MHz transmitter.
Definition: IOControl/include/IO/RFSwitch/Controller.h:39
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:49
const FlashString & deviceClass() const override
Return the Device class name, e.g. 'r421a'.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:61
const FlashString & controllerClass() const override
Return the expected controller type for this device class, e.g. 'rs485'.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:56
IO::Device * createDevice(IO::Controller &controller, const char *id) const override
Create a new device instance.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:51
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:46
ErrorCode init(const Config &config)
IO::Request * createRequest() override
Create a request object for this device.
Timing timing
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:104
const Timing & getTiming() const
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:90
void parseJson(JsonObjectConst json, Config &cfg)
ErrorCode init(JsonObjectConst config) override
uint8_t repeats
Number of times to repeat code.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:105
uint8_t getRepeats() const
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:95
const DeviceType type() const override
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:76
static const Factory factory
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:68
Device(Controller &controller, const char *id)
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:84
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:80
#define DEFINE_FSTR_LOCAL(name, str)
Like DEFINE_FSTR except reference is declared static constexpr.
Definition: String.hpp:84
#define DECLARE_FSTR(name)
Declare a global FSTR::String& reference.
Definition: String.hpp:63
Json json
Definition: IOControl/include/IO/RFSwitch/Controller.h:26
Definition: IOControl/include/IO/Controller.h:26
@ RFSwitch
Inherited classes expand this definition as required.
Definition: Libraries/IOControl/include/IO/Device.h:80
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:70
uint8_t repeats
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:73
IO::Device::Config base
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:71
Timing timing
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:72
Protocol timings in microseconds.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:32
uint16_t period
Bit period.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:35
uint16_t startl
Width of start Low pulse.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:34
uint16_t bit1
Width of a '1' high pulse.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:37
uint16_t gap
Gap after final bit before repeating.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:38
uint16_t starth
Width of start High pulse.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:33
uint16_t bit0
Width of a '0' high pulse.
Definition: Libraries/IOControl/include/IO/RFSwitch/Device.h:36