Lighthouse deck
https://wiki.bitcraze.io/projects:crazyflie2:expansionboards:lighthouse
we have 3 x https://www.bitcraze.io/products/lighthouse-positioning-deck/
UART
The deck has two UARTs connected too P1 and P3. Only use P1
https://www.bitcraze.io/documentation/hardware/lighthouse_deck/lighthouse_deck-revd.pdf
NOTE that bitcraze is saying that you should use the 2.54mm header (i.e P3) but that will not work.
Protocol
Example code which has been modified from this repo:
https://github.com/bitcraze/lighthouse-fpga/blob/V6/tools/print_frame.py
At power up the deck is in boot and communicates at 115200.
[ 0x00 , 0x00 ]: UART Break condition used to just sync the device
[ 0xBC , 0x02 ]: enabled UART a.k.a protocol_reset() and get bootloader version a.k.a get_version()
[ 0x00 ]: Boot a.k.a boot() a.k.a load application code
After the device is in application the communication changes to 230400... when the unit is in application the RED LED will turn OFF.
First the deck will send 12 x 0xFF which is used for sync and if a HTC transmitter is present it will start too send data:
The data is described here:
https://github.com/bitcraze/lighthouse-fpga/tree/V6
Configure a car with the lighthouse deck
We are using an adapter board between the lighthouse module and the RC car. The ribbon cable is simply connected to the cars flash socket.
Flashing the Lighthouse deck
Make sure to use the latest FW (of this writing is version 6) . You can flash the deck using a crazyfly like this:
https://www.bitcraze.io/documentation/repository/crazyflie-clients-python/master/userguides/userguide_client/ → “Deck firmware“
More detailed instructions on sub-page: Crazyflie Deck Flashing