LightHub 4.6.0
Open-source smart home controller firmware
Loading...
Searching...
No Matches
out_dmx Class Reference

DMX512 output driver. More...

#include <out_dmx.h>

Inheritance diagram for out_dmx:

Public Member Functions

int Setup () override
 Initializes the channel state (CST_INITIALIZED).
int Stop () override
 Marks the channel as unknown.
int getChanType () override
 Returns CH_RGB / CH_RGBW / CH_RGBWW based on the number of configured channels (otherwise the item type).
virtual int PixelCtrl (itemCmd cmd, char *subItem=NULL, bool show=true, bool authorized=false) override
 Writes the command value to the DMX channels: single-channel dimmer percents, or RGB/RGBW/RGBWW color (color temperature split into the two white channels for RGBWW).
Public Member Functions inherited from colorChannel
 colorChannel ()
 Default constructor.
void link (Item *_item)
 Attach to an item; retrieve and store the base address and the number of channel addresses.
int Ctrl (itemCmd cmd, char *subItem=NULL, bool toExecute=true, bool authorized=false) override
 Dispatch /set, /HSV and /cmd ON/OFF commands to PixelCtrl.
short getChannelAddr (short n=0)
 Get the pin address of the n-th channel (n=0 - base address).
Public Member Functions inherited from abstractOut
 abstractOut ()
virtual int isActive ()
virtual bool isAllowed (itemCmd cmd)
virtual itemCmd getDefaultOnVal ()
virtual int Status () override
virtual void setStatus (uint8_t status) override
Item * getItem ()
Public Member Functions inherited from abstractCh
 abstractCh ()
virtual ~abstractCh ()
virtual int Poll (short cause)

Additional Inherited Members

Protected Member Functions inherited from abstractOut
int pubAction (bool state)
Protected Member Functions inherited from abstractCh
int publishTopic (const char *topic, long value, const char *subtopic=NULL)
int publishTopic (const char *topic, float value, const char *subtopic=NULL)
int publishTopic (const char *topic, const char *value, const char *subtopic=NULL, const char *suffix=NULL)
Protected Attributes inherited from colorChannel
short iaddr
short numArgs
Protected Attributes inherited from abstractOut
Item * item
 Item currently linked to this driver.

Detailed Description

DMX512 output driver.

Channel type depends on the number of configured DMX channels: 1-2 -> CH_DIMMER = 0, 3 -> CH_RGB = 2, 4 -> CH_RGBW = 1, 5 -> CH_RGBWW = 17.

JSON config (itemArg): [dch1, dch2, ...] - 1 to 5 DMX channel numbers starting at the channel base address.

Member Function Documentation

◆ getChanType()

int out_dmx::getChanType ( )
overridevirtual

Returns CH_RGB / CH_RGBW / CH_RGBWW based on the number of configured channels (otherwise the item type).

Reimplemented from abstractOut.

◆ PixelCtrl()

int out_dmx::PixelCtrl ( itemCmd cmd,
char * subItem = NULL,
bool show = true,
bool authorized = false )
overridevirtual

Writes the command value to the DMX channels: single-channel dimmer percents, or RGB/RGBW/RGBWW color (color temperature split into the two white channels for RGBWW).

Implements colorChannel.

◆ Setup()

int out_dmx::Setup ( )
overridevirtual

Initializes the channel state (CST_INITIALIZED).

Reimplemented from abstractOut.

◆ Stop()

int out_dmx::Stop ( )
overridevirtual

Marks the channel as unknown.

Reimplemented from abstractCh.


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