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