Assign LPS Node to 'Bootloader' Mode

All discussions related to the Loco Positioning system
Post Reply
Posts: 14
Joined: Mon Nov 26, 2018 2:20 pm

Assign LPS Node to 'Bootloader' Mode

Post by HuzayfaaN »


Hardware: 2 x CFs, 6 x LPS Nodes in TDoA3 and 1 x Z-Ranger

CF2.0 A = [LPS Tag Deck + Z-Ranger Deck]

CF2.0 B = [LPS Tag Deck + One LPS Node]

I am looking to set the LPS node, as part of CF2.0 B, to 'bootloader' mode during CF2.0 A flight so that I can then fly/move CF2.0 B (with its LPS in bootload mode) and thereafter assign CF2.0 B's new position to its LPS Node and include it back in the LPS configuration for CF2.0 A.

I have been able to achieve autonomous flight using Python scripts (on windows) and acquire the position of the CF2.0 A using an LPS configuration. I am now exploring the ability to set one of the LPS nodes to 'bootloader' mode so that it is not actively communicating with the CF2.0 A (as a reference LPS node) for the duration of it moving from point a to b. I have been able to send a command to the a LPS node using the following code which is able to reboot the node only and it does this successfully

Code: Select all

        anchors = LoPoAnchor(cf)
        for retry in range(10):
            anchors.reboot(5, anchors.REBOOT_TO_BOOTLOADER)
However I can not get it to reboot/boot in bootloader mode, so that it is not actively partaking in the LPS configuration and I can therefore move/fly it to a new location using CF2.0 B without its movement effecting CF2.0 A

I have viewed the crazyflie-lib-python/lpslib/ file and can not figure out what command to send (if there is a command) to set the LPS node to bootload. Can I please ask if this is possible and if so, how?

At the moment I send out repetitive reboot signals to prevent the LPS node from partaking in the LPS system arrangement, however it would be ideal to set to to bootloader as opposed to repetitively rebooting it for a set duration of time.

I would appreciate any help and would like to thank you in advance.

Post Reply