Fairy Light Addressing
Naturally, with every light initially addressed to a single identical
address, it is necessary to provide a means to generate a new address unique to each light. This is
done through the control board and the fairy lights themselves.
When the control board begins configuration, it goes through each of the
possible addresses (one byte address) available on the string of (up to 80)
lights it is currently commuicating with. As each fairy light detects its own
address, it turns on, enabling the control board to take a reading of the
current consumption down the string and determine whether 0, 1, or >1
lights are switched on. From this a bit pattern of addresses is formed,
determining which addresses are clear, and which have collisions.
Initially, of course, all lights will collide at a single address, however,
once the lights have been informed that a collision has occurred, they will
jump randomly to one of the clear addresses and the detection process will
begin again.
Typically, for 80 lights on a single byte address it will take
approximately 3 iterations for each light to have a unique address.