Crazyflie_Communication_between each other

Firmware/software/electronics/mechanics
kimberly
Bitcraze
Posts: 523
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

In a sense, anything you would like and can translate in a 60 by uint8_t array. At this point it would be better if you would look into the code and doc I've provided earlier.
Hada Hamdi
Beginner
Posts: 9
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi,
For example, I have 3 crazyflies; what I understood that p2p communication is like CF1 broadcasts messages to the others CFs: listeners, what I want, that all send messages to each other, in this case, all in mode broadcasts I think, there is no risk of information collision?.
kimberly
Bitcraze
Posts: 523
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

Yes there is chance of message collision. With broadcast it doesn't care about this since it does not expect a return message (the ACK). Normally, in non-broadcast mode, the CF that transmits will keep on sending the same message until he gets a reply. That is how he handles the message 'collision'

With broadcasting, just send the message several times and hope for the best. With 3 I don't think you will need to worry about it too much
Hada Hamdi
Beginner
Posts: 9
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi,

is that the modified firmware for the communication between crazyflies? https://github.com/knmcguire/SGBA_CF2_App_layer

Thanks!
kimberly
Bitcraze
Posts: 523
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

you can look at that repository as an example yes. Its still a very simple implementation though. Good luck!
Hada Hamdi
Beginner
Posts: 9
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi Kimberly,

Thanks a lot for your reply!
p2p communication is like all CFs in mode broadcast, there is no reply, for example, if CF1 sends a message to CF2 and CF3, CF2 and CF3 cant reply!
what I understand, it does not be, as ESB protocol is like a star network topology, only one receiver, and transmitters. I don' t know if I'm correct?
like in this figure!
Attachments
Screen Shot 2020-08-13 at 11.21.15 AM.png
kimberly
Bitcraze
Posts: 523
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

Broadcast mode does not wait for the reply of others (ACK). If you just send it every once in a while, or have a time.sleep() with different times based on the crazyflie IDs, that will be fine untill up to 6-7 crazyflies. Otherwise you can also implement some kind of round robin style (CF1 starts, CF2 sends next after receiving from CF1, CF3 goes next).

The p2p functionality is still basic so you will need to implement the timing protocol yourself. However, there is now an applayer example in the crazyflie-firmware repository to get started (https://github.com/bitcraze/crazyflie-f ... er_to_peer).
Post Reply