Here is a draft for the release note:
GPS:
- The main change in this version is for sure the code brought by EOSBandi regarding navigation (supported long time as a standolone MultiWii 2.3navi B7) . Thanks to this major contribution, MultiWii can now navigate trought multiple WPs in an autonomous way.
The documentation about all define option can be found in this post:
viewtopic.php?f=8&t=3989
For the moment, at least 2 GUI can support this code to program a mission: WinGui from EOSBandi / EZ-GUI from Ezio. No support in java GUI MultiWiiConf.
In order to work with current dev WinGUI, the version number should be switched back to 230.
otherwise an error message will occur.
in MultiWii.h , line: #define VERSION 230
Do not forget to activate #define USE_MSP_WP to be able to use waypoints.
The overall code without GPS is much shorter. However due to the change on GPS code, it is no more compatible with a 32u4 proc.
The GPS code without nav might still work on 328p proc.
A mega proc is mandatory to benefit from all the GPS functionalities.
- dissociate frame parsing & frame computation
- I2C GPS is no more used as an extension with nav computation. It is now supported as a simple GPS device, and all computations stay in the FC, exactly like Serial GPS device.
- GPS Serial frame parsing is now part of generic Serial decoding code
- UBLOX GPS frame parsing improvement
IMU computation:
- mostly optimization on computation time not visible for end users: less float and more 16bit integer where it's possible / some specific avr asm multiplication.
- better accuracy InvSqrt
- heading is computed even with no mag
- hungry tasks has been reduced or divided in order to minimize the jitter of loop time. With this improvement, a constant loop time is set a little bit higher than the average and default to 2.8ms.
ACC:
- Nunchuk is no more suported
Baro MS561101:
- a little bit paradoxal regarding other portion of code approach in multiwii, but float computation tooked from APM appears to be shorter and faster with a minimal approximation.
- computation time smoothed thanks to a task split
- #define ALTITUDE_RESET_ON_ARM option is added
note the baro is still always reset when doing a gyro calibration
I2C:
- no more speed change on the fly: all sensors are default to 400kHz.
The only exception is when a legacy WMP is still used with a 100kHz speed. So no need to bother any longer about this speed if you don't own a genuine WMP.
- In case of I2C errors at the init stage, initialization occurs up to 5 times. This should prevent some remaining I2C errors.
Brushed motor option:
- brushed motors option on 32u4 proc at 8/16/32 kHz
- brushed motors option on 328p proc at 1/4/32 kHz
(viewtopic.php?f=8&t=3635&p=36883#p36877)
RX receiver:
- SUMD RX type introduction
- SBUS improvement / SBUS signal scaling to match other receiver range
- code factorization for all Serial type RX (Spektrum/SUMD/SBUS)
- adjustable averaging sample (AVERAGING_ARRAY_LENGTH) for non Serial RX. For Serial RX, the averaging code is removed because the signal is already natively digital.
- Serial RX should now be usable with no glitch during LCD conf
- RSSI injection on a rc channel
MSP:
- MSP message for ACC TRIM (not used in java MultiWiiConf)
- MSP message for cells voltage
- MSP messages for GPS navigation
- remove MSP ack for MSP_SET_RAW_RC
Sonar:
- fix Devantech SRFxx code that was broken some time ago. But still no code integrated for alt lock using sonar.
Heli:
- experimental : piro compensation
- experimental : heli yaw precomp dependant on collective pitch
- experimental : better tail lock tacking intoo account collective pitch
Voltage:
- compute watts
- experimental : individual cells voltage monitoring (alarm portion undone yet)
reference version to compile sketch:
- windows version of Arduino IDE 1.0.6
- processing 1.5.1 with modified verison of ControlP5 to remove blue triangles in value box
download link:
https://code.google.com/p/multiwii/
https://drive.google.com/uc?export=down ... TJRTG5JVmM
Please use this post to relate feedbacks. What works well, what does not work.
Please don't use this post as a whishlist.