IO::RFSwitch::Controller Class Reference

Controller for 433MHz transmitter. More...

#include <Controller.h>

Inheritance diagram for IO::RFSwitch::Controller:
Collaboration diagram for IO::RFSwitch::Controller:

Public Member Functions

 Controller (uint8_t instance, uint8_t outputPin, bool outputInvert)
 
const FlashStringclassname () const override
 Get the class name for this Controller. More...
 
void handleEvent (IO::Request *request, Event event) override
 Implementations override this method to process events as they pass through the stack. More...
 
- Public Member Functions inherited from IO::Controller
 Controller (uint8_t instance)
 Construct a controller instance. More...
 
virtual ~Controller ()
 
uint8_t getInstance () const
 Get the controller instance number. More...
 
Device::OwnedListgetDevices ()
 Get list of devices for this controller. More...
 
void freeDevices ()
 Destroy all devices for this controller. More...
 
ErrorCode createDevice (const char *id, JsonObjectConst config, Device *&device)
 Create a new devicce. More...
 
template<class DeviceClass >
ErrorCode createDevice (const char *id, const typename DeviceClass::Config &config, DeviceClass *&device)
 Create a new device as a concrete type. More...
 
DevicefindDevice (const String &id)
 Locate a device from its identifier. More...
 
virtual void start ()
 Start the controller. More...
 
virtual void stop ()
 Stop all controllers. More...
 
virtual bool canStop () const
 Check if it's OK to stop this controller. More...
 
const CStringgetId () const
 Get the fully-qualified unique controller identifier. More...
 
bool operator== (const String &id) const
 
- Public Member Functions inherited from LinkedObjectTemplate< Controller >
Controller * getNext () const
 
bool insertAfter (Controller *object)
 
Iterator begin () const
 
Iterator end () const
 
Iterator cbegin () const
 
Iterator cend () const
 
- Public Member Functions inherited from LinkedObject
virtual ~LinkedObject ()
 
virtual LinkedObjectnext () const
 
bool insertAfter (LinkedObject *object)
 
bool operator== (const LinkedObject &other) const
 
bool operator!= (const LinkedObject &other) const
 

Additional Inherited Members

- Public Types inherited from IO::Controller
using List = LinkedObjectListTemplate< Controller >
 
- Public Types inherited from LinkedObjectTemplate< Controller >
using Iterator = IteratorTemplate< Controller, Controller *, Controller & >
 
using ConstIterator = IteratorTemplate< const Controller, const Controller *, const Controller & >
 
- Static Public Member Functions inherited from IO::Controller
static void registerDeviceClass (const Device::Factory &factory)
 Register a device factory. More...
 
- Protected Member Functions inherited from IO::Controller
void submit (Request *request)
 Queue a request. More...
 
void checkDevices ()
 
void resetTransactionTime ()
 

Detailed Description

Controller for 433MHz transmitter.

Protocol is flexible but tested only with i-Lumos light switches. Written specifically for ESP8266 and uses the hardware timer to generate PWM signal via interrupts.

Constructor & Destructor Documentation

◆ Controller()

IO::RFSwitch::Controller::Controller ( uint8_t  instance,
uint8_t  outputPin,
bool  outputInvert 
)
inline

Member Function Documentation

◆ classname()

const FlashString& IO::RFSwitch::Controller::classname ( ) const
inlineoverridevirtual

Get the class name for this Controller.

Implements IO::Controller.

◆ handleEvent()

void IO::RFSwitch::Controller::handleEvent ( IO::Request request,
Event  event 
)
overridevirtual

Implementations override this method to process events as they pass through the stack.

Reimplemented from IO::Controller.


The documentation for this class was generated from the following file: