My controllers use two LEDs to indicate controller status.
H1 – DMX Activity flashes to indicate DMX data has been received and processed.
H2 – Power / Error is on to indicating Power is ON and there are no errors. H2 flashes various patterns to indicate the type of error.
The change of a relevant channel is indicated by a flashing green LED.
flashing | DMX data has been received and processed. | Normal Operation. |
The red LED repeats error codes until cleared:
Pattern | Error | Solution | |
flashing | There is no signal connected to the transceiver. | Connect the transceiver to the DMX bus. | |
double flashing | The received signal is not DMX. | Try swapping D+ and D- at the DMX connector. | |
triple flashing | Future Functionality. | N/A. | |
constant on | DMX received and no errors. | Normal Operation |
This error indicator is easily implemented with the following code:
void indicate(void) {
static uint8_t count;
if (++count >= 10)
count = 0; // reset every 5 secs
if(Blink ==0) CLEAR(H1);
else if (count <= Blink)
TOGGLE(H1); // toggle LED
}
Each error condition is given an unique Odd number.
The LED Flash period is set by an timer overflow.