* [autopilot] refactor autopilot API for both firmwares
With this, fixedwing and rotorcraft are mostly using the same interface
for the autopilot. Some specific code and messages handling are still
firmware dependent.
A large part of the autopilot logic of the fixedwing is moved from
main_ap to autopilot_static.
More getter/setter functions are provided.
* [autopilot] update the rest of the system and the conf
for using the refactored autopilot API
* [autopilot] fix some errors from CI servers
* [actuators] use dummy actuators module to prevent autoloading
* Rename Bart_heliDD_INDI.xml to tudelft_bs_helidd_indi.xml
* Rename Bart_heliDD_pid.xml to tudelft_bs_helidd_pid.xml
* Delete tudelft_course2016_bebop_colorfilter.xml
* Delete tudelft_course2016_bebop_avoider.xml
* [actuators] don't autoload actuators when set to 'none'
* [gcs] autodetect firmware for strip mode button
- While the STM32F411 can run at up to 100MHz, this is not supported out-of-the-box with libopencm3 yet.
So we use the 84MHz clock setup from the STM32F401.
- ADC pins not set up yet
* update INDI tu use full control effecitvens matrix
Instead of using commands (roll, pitch, yaw, thrust), give the
controller direct control over all actuators.
This allows for online individual actuator control effectiveness
estimation and inversion, as well as better saturation handling.
The INDI controller as it was previous is renamed to 'simple'.
* Made INDI more flexible wrt number of actuators
- 4x4 matrix inverse to accomodate the thrust axis as well
- support for more actuators
- cleanup of code
* Change filters guidance indi to butterworth
* Added body acceleration to state interface
* Better adaptation and guidance thrust increment
- Adaptation flexible wrt. number of actuators.
- Added adaptation of the specific force effectiveness of the actuators.
- Added connection to guidance INDI through ABI. The thrust increment is
caclulated in guidance INDI and sent to the stabilization.
* lower case variables
* change filter of indi to butterworth
* INDI fix array index & no declarations in for loop
- Also added doxygen comments
* Added actuators_pprz
the array actuators is used to drive the servos, so a new array to store
the command to the actuators in pprz scale is needed
* Removed hardcoded scaling
[boards] naze32: PPM input on PA0 by default
That means by default you can't use SERVOS 1 and 2 and only the pwm channels on servo connectors 3-6 are active.
Chosing RADIO_CONTROL_PPM_PIN as PA7 (RC_CH6) via
<configure name="RADIO_CONTROL_PPM_PIN" value="PA7"/>
will also enable servos 1 and 2.
That means by default you can't use SERVOS 1 and 2.
Numbering is like on the silkscreen (use servos 3-6), like "standard mode" numbering of Abusemark naze32.
Chosing RADIO_CONTROL_PPM_PIN as PA7 (RC_CH6):
Enable servos 1 and 2.