DALI

What is a DALI “control gear”?

Typically, one DALI control gear is just a lamp that can be controlled using DALI.

More generally, a control gear can also be a DALI device controlling more than one physical lamp or some similar device. However, if you’re a DALI beginner, it’s much easier to think of control gear as individual lamps controllable by DALI.

Posted by Uli Köhler in DALI

How to set DAPC level (dim level) directly using DALI

In order to directly set the power level for a given control gear (lamp) using DALI, you have to send the following two bytes:

  1. The short address of the control gear, multiplied by 2
  2. The data byte containing the power level (0...255).

In order to distinguish between command messages (frames) and DAPC (direct arc power control) messages, remember that the 1st bit must always be 0 for DAPC messages.

For example, if you want to set half brightness level for the lamp with short address 3, send the following bytes:

  • 6 (= 3 * 2)
  • 127 (= half brightness)
Posted by Uli Köhler in DALI

How to convert DALI short address to address byte

In order to convert the address byte for a single DALI control gear to an address byte to send over the wire, multiply the short address by 2  and add 1. The following C macro can be used to compute the address byte:

#define DALI_SHORT_ADDR_TO_ADDR_BYTE(short_addr) (1 + (short_addr << 1))

Since the 1st bit is set (by adding 1), this will activate command mode, i.e. the control gear expects a command byte as data byte for the DALI message.

Posted by Uli Köhler in DALI