Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

https://wiki.bitcraze.io/projects:crazyflie2:expansionboards:lighthouse

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

Warning

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

View file
namemarcus_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

Note

Make sure to use the latest FW . 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“

Test setup

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.

Image RemovedImage Added