skube wrote:I corrected the spelling of the mapping file (xbox360_model -> xbox360_mode1) and that worked! Well, I was able to affect Crazyflie with the XBox controller, however the mappings are all messed up for some reason. (Thrust is on the right joystick and diagonal!). Though the output on the xboxdrv tab appears correct, so I'm assuming it must be something with the cfheadless client.
Hm... I just created a new mapping file by running the regular cf client once on the Pi. I copied mine
here for you to try, mapping is as follows:
- Left analog stick: pitch, roll
- Right analog stick: yaw
- Right analog trigger (shoulder button): thrust
- Button pad: trimming for pitch and roll
- Start: kill switch (not tested yet)
- Back: exit app (not tested yet)
For the record, I found manipulating thrust via the shoulder button to be way more easier for me than via the analog stick but your mileage may vary.
foosel wrote: As you are running cfheadless as root (why?)
Probably cause I don't know what I'm doing
Does it matter though? Can I just leave running as root as is?
Of course you can. It's just not something that's usually done or recommended, since you should never trust any application to have access to the whole system. First job after uni was as a sys admin, never got the "eeek, it's running as root" out of my system, sorry
Also, when trying to start the xboxdrv, it seems to only work when I switch to root (su -)
That's at least what I remembered too, hence the sudo I mentioned above... If your crazyflie happens to work with the mapping above, next step would be to figure out what's wrong with your udev stuff... do you get any hints in the syslog? What happens if you execute the two scripts under /root/bin manually (you'll have to give start as a parameter, e.g. /root/bin/cfheadless start), does it start up xboxdrv respectively the client then?