|
LightHub 4.6.0
Open-source smart home controller firmware
|
Functions | |
| itemCmd | rgb2hsv (itemCmd in) |
| int | itemCtrl2 (char *name, int r, int g, int b, int w) |
| Drives a named DMX/LED item with an RGB(W) value. | |
| void | DMXImmediateUpdate (short tch, short r, short g, short b, short w) |
| void | DMXSemiImmediateUpdate (short tch, short r, short g, short b, short w) |
| void | DMXput (void) |
| Propagates received DMX input frames to the mapped items. | |
| void | DMXUpdate (void) |
| void | DMXCheck (void) |
| DMX housekeeping called from the main loop: propagates changes and services pending DMX-in updates. | |
| void | onDmxFrame (uint16_t universe, uint16_t length, uint8_t sequence, uint8_t *data, IPAddress remoteIP) |
| void | DMXinSetup (int channels) |
| Sets up the DMX input for the given number of channels. | |
| void | DMXoutSetup (int channels) |
| Sets up the DMX output for the given number of channels. | |
| void | DMXOUT_propagate () |
| Smoothly ramps the actual DMX output toward the buffered target. | |
| void | artnetSetup () |
| Initializes the Art-Net receiver and wires its frame callback. | |
| void | artnetSetChans (uint8_t minCh, uint8_t maxCh) |
| Restricts the Art-Net channel range that is forwarded. | |
| void | DmxWriteBuf (uint16_t chan, uint8_t val) |
| Writes a value into the intermediate (smoothing) DMX output buffer. | |
Variables | |
| uint8_t * | DMXin = NULL |
| volatile uint32_t | D_State =0 |
| volatile unsigned long | D_checkT =0 |
| uint8_t | DMXINChannels =0 |
| aJsonObject * | items |
| aJsonObject * | dmxArr |
| volatile uint8_t | timerHandlerBusy |
| volatile int | DMXinDoublecheck =0 |
| volatile int8_t | propagateBusy = 0 |
| void artnetSetChans | ( | uint8_t | minCh, |
| uint8_t | maxCh ) |
Restricts the Art-Net channel range that is forwarded.
| minCh | First channel (1-based) to accept. |
| maxCh | Last channel (1-based) to accept. |
| void artnetSetup | ( | ) |
Initializes the Art-Net receiver and wires its frame callback.
| void DMXCheck | ( | void | ) |
DMX housekeeping called from the main loop: propagates changes and services pending DMX-in updates.
| void DMXImmediateUpdate | ( | short | tch, |
| short | r, | ||
| short | g, | ||
| short | b, | ||
| short | w ) |
| void DMXinSetup | ( | int | channels | ) |
Sets up the DMX input for the given number of channels.
| channels | Number of DMX input channels. |
ToDo: re-init
| void DMXOUT_propagate | ( | ) |
Smoothly ramps the actual DMX output toward the buffered target.
| void DMXoutSetup | ( | int | channels | ) |
Sets up the DMX output for the given number of channels.
| channels | Number of DMX output channels. |
| void DMXput | ( | void | ) |
Propagates received DMX input frames to the mapped items.
DMX in/out is handled per platform: on the SAM3X8E (Due) a hardware USART (DmxDue) is used for both input and output; on AVR a software bit-banged driver (DmxSimple for output on pin 3/18, DMXSerial for input). ESP8266/ESP32 use ESPDMX.
| void DMXSemiImmediateUpdate | ( | short | tch, |
| short | r, | ||
| short | g, | ||
| short | b, | ||
| short | w ) |
| void DMXUpdate | ( | void | ) |
| void DmxWriteBuf | ( | uint16_t | chan, |
| uint8_t | val ) |
Writes a value into the intermediate (smoothing) DMX output buffer.
| chan | 1-based DMX channel. |
| val | Channel value 0..255. |
| int itemCtrl2 | ( | char * | name, |
| int | r, | ||
| int | g, | ||
| int | b, | ||
| int | w ) |
Drives a named DMX/LED item with an RGB(W) value.
| name | Name of the target item. |
| r | Red component. |
| g | Green component. |
| b | Blue component. |
| w | White component. |
| void onDmxFrame | ( | uint16_t | universe, |
| uint16_t | length, | ||
| uint8_t | sequence, | ||
| uint8_t * | data, | ||
| IPAddress | remoteIP ) |
| volatile unsigned long D_checkT =0 |
| volatile uint32_t D_State =0 |
|
extern |
| uint8_t* DMXin = NULL |
| uint8_t DMXINChannels =0 |
| volatile int DMXinDoublecheck =0 |
|
extern |
| volatile int8_t propagateBusy = 0 |
|
extern |