I have two issues, one which I believe is a bit beyond regular support.
I would like to fly and record some data (in particular: accelerometer, gyroscope, and control inputs). The last one is important, but I cannot find a way to log the controller inputs from the client.
I assume I can write a separate Python program that logs controller state and timestamps them, but it would be nice if I could just record these as well.
This leads me to another issue: I want to record the data to my user config directory, which seems to require that I run the client without sudo (I am on Arch linux). If I run the client with sudo, I cannot easily retrieve the logs without copying the files. If I run without sudo though, I get the following error:
Code: Select all
Error while opening/initializing input device
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/cfclient/utils/input/__init__.py", line 318, in start_input
self._selected_mux.add_device(device, role)
File "/usr/lib/python3.6/site-packages/cfclient/utils/input/mux/__init__.py", line 69, in add_device
self._open_new_device(dev, role)
File "/usr/lib/python3.6/site-packages/cfclient/utils/input/mux/__init__.py", line 55, in _open_new_device
old_dev = self._devs[role]
KeyError: '&Device'
Interestingly, the controller state is visible from the input configuration screen. I can move the sticks and it shows up there, but nothing happens outside of that screen. I also note that the bottom of the client says "Using Normal mux with N/A".
This may be a permissions issue. For the Crazyradio PA I tried adding the udev rules as described in one of the git repos, but they didn't work. Instead, I added my user to the root group, after which I can connect to the crazyflie. So, I also tried a custom rule for the controller, but that didn't work either.
So, in summary:
- Would be nice to have controller state logging
- Permissions don't work on Manjaro linux? (my Arch distribution)