I've been working hard on getting 1.2 put together and documented. I had a few setbacks over the past week or so, but now we're here. Some updates:
- SBUS receiver support
- MPU9250 support
- New IMU/radio selection: simple defines in beginning of code
- IMU gyro and accelerometer scale selection: up to +/-2000 deg/sec and +/-16 Gs
- Added switchRollYaw() function (see documentation for details)
- Added printServoCommands() function
- Switch between controller types with a logical statement in the main loop
- Minor bug fixes & tidying up
I highly recommend you check out the updated documentation. For expedited setup, check out the "General Instructions for First-Time Setup" tutorial at the end of the document to get up and running as fast as possible.
The MPU9250 integration was difficult to say the least, but I think I finally got it working. The MPU9250 requires some special attention when it comes to soldering up with the Teensy as well as adjusting some filtering parameters for it. You'll also have to do some calibration, but that is as simple as uncommenting a function at the end of the void setup() and performing the calibration by rotating the IMU for a minute or so. Check out the "MPU9250 Integration" tutorial for more information on everything to do with the MPU9250. I will still HIGHLY recommend sticking to the MPU6050, as that is the IMU that this code was originally built around.
There were some small bugs that were fixed. You can now seamlessly switch between controller types (angle or rate) in the main loop with a logical statement should you code that in. Also fixed an error/bug with processing the IMU data.
Speaking of the IMU data, I need to thank jihlein on RcGroups for his amazing help overhauling the IMU data gathering (enabling MPU9250 use too). He is responsible for the new define section at the beginning of the code that makes selecting IMU, IMU data scales, and receiver type extremely easy to do. So big thanks to him!
One thing you will now need to do is copy the required libraries (included in the dRehmFlight download) and paste them in your Arduino libraries folder. More details in the 'Software Setup' section of the documentation.
Looking forward to seeing some of you get flying!