Working with multiple drones

Firmware/software/electronics/mechanics
Post Reply
Kaiser1401
Beginner
Posts: 11
Joined: Tue Apr 21, 2020 11:36 am

Working with multiple drones

Post by Kaiser1401 »

Hi,

I am trying to implement a swarm, therefore i have some practical questions regarding deploying and instance independent firmware:

1) Is there a way to simultaneously update multiple drones? (nrf and firmware), (via radio? via cable/pins?)
2) I need some automatic enumeration / ID. In the firmware, can i ask for a device unique ID? Or has anyone done automatic enumeration using the radio (e.g. first powered on gets 0, second 1, ....)?

-Klaus
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: Working with multiple drones

Post by kristoffer »

There is currently no way to flash multiple crazyflies in parallel but sequential flashing can be automated. See cload_all_nrf.sh and cload_all_stm.sh for inspiration https://github.com/bitcraze/crazyflie-l ... m_test_rig

The channel/id is used for identification, see the scripts above.
Kaiser1401
Beginner
Posts: 11
Joined: Tue Apr 21, 2020 11:36 am

Re: Working with multiple drones

Post by Kaiser1401 »

Hi kristoffer,

this should help a bit with (1), thanks.
- Is there also a way I can set the crazyfly into bootloader mode with a command (python? local headers on the drone?)?
- Can I enumerate the addresses automatically (via python/firmware)? Do the drones have other internal IDs I can access for this maybe?
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: Working with multiple drones

Post by kimberly »

  • If you are using the scripts that kristoffer showed in his reply, you do not have to put them in bootloader mode by hand. They go into bootloader mode automatically (-w = 'warmboot').
  • Currently I think it is handier to just do this through the cfclient in the address-set functionality for each crazyflie. This will be stored on an onewire memory and does not have to be changed with each restart. If you want to access that ID, this example this code from my previous research can access the address' last digit in the nrf firmware
Post Reply