Hello, everyone!
I have a Crazyflie 2.0 and Crayradio PA.
By using basiclog.py script which I took from crazyflie-lib-python-master/examples, I was able to log some data from CF.
Variables to be logged I took from TOC (group.name and type).
I logged and saved the received data into a file for the following parameters:
kalman.stateX (float), kalman.stateY (float), kalman.stateZ (float)
and everything worked well.
But once I tried to log all the data which are in TOC (except that are not on the CF, like gps), the data was not received back. And then I looked through log.py script in crazyflie-lib-python-master/cflib/crazyflie, and as it turned out the max size of a CRTP packet payload is 30(2) bytes.
I have used the following trick:
- I instantiated LogConfig() 21 times with variables that have a total payload of fewer than 30 bytes. Then I was able to log all 138 variables from CF and successfully saved them into a file.
But the thing is, I want to log data from all five crazyflies. To do so I started them in a swarm sequence.
They all took off, but several (different number in each flight) of them just fell down.
In the terminal was Error:
Error 12 when adding id=... (No more memory available)
Is there a way to log all the parameters(data) from 5(or more...) CFs?
Because their total amount is a way larger than 30 bytes. My calculations say that the total amount I'm trying to load from crazyflie is about 600 bytes.
I appreciate any help.
Logging all the data at once
Re: Logging all the data at once
If you need your data after the flight only, I suggest using the uSD card deck: You can log more variables at higher frequency. Otherwise, you will have to use more radios (e.g., one radio per CF), where each radio operates in its own frequency band.