To run:
cd src/lib/mixer
make tests
This will validate the C++ implementation by taking the python
implementation as ground-truth. It runs through various actuator control
command values for all airmode variations and several mixer types.
The python script also allows to prototype new mixer algorithms.
It is not integrated into the existing build system, because it's easier
to use that way, with less dependencies, and faster testing workflow.
It could however be a bit more integrated.
Reference: https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation
Provides a more generic desaturation algorithm, making it easier to
handle the different mixer strategies.
python reference implementation:
https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation
The behavior for non-airmode and roll/pitch airmode should be the
same as before.
CPU load is slightly higher for the non-airmode case (+0.5%), for airmode
it is the same.
This updating of the driver setting is for EMI issue with GPS and FCC.
With this setting the clock is sinusoidal
N.B. sd_bench fails on SanDISK HC, but Passes SanDISK **HC1** and
Kingston cards.
****Use HC1 or Kingston cards!***
Testing done on SanDISK HC all failed sd_bench with Drive/Slew other
than default and _PIN_OUTPUT_FAST|_PIN_OUTPUT_HIGHDRIVE
_PIN_OUTPUT_FAST|_PIN_OUTPUT_HIGHDRIVE Square noisy, pass SanDISK HC
_PIN_OUTPUT_FAST|_PIN_OUTPUT_LOWDRIVE Square noisy, pass SanDISK HC
_PIN_OUTPUT_HIGHDRIVE|_PIN_OUTPUT_SLOW sinusoidal fail SanDISK HC, pass SanDISK HC1
_PIN_OUTPUT_LOWDRIVE |_PIN_OUTPUT_SLOW sinusoidal fail SanDISK HC, pass SanDISK HC1
_PIN_OUTPUT_SLOW sinusoidal fail SanDISK HC, pass SanDISK HC1
- landing_gear: refactor state name
- Add the keep state to the landing gear message
- Adapt FlightTaskManual, FlightTaskAutoMapper, mc_pos_control,
to review message definition