- the exact same basic model is now a NPS FDM
- sim target still woks, it is just an alias to NPS with the proper FDM
- the old ocaml files are removed
- AHRS and INS are bypassed, since the accelerations are not well calculated by the model
* [chibios] Fix i2c hanging full autopilot for 50ms and better error handling
* [airspeed] Fix ms45xx faulty readings
* [board] Fix cube orange test build
* [actuators] Remove actuators_ppm which is not implemented
* [ppm] Fix warnings for lisa mx and lisa m
* [tests] Fix test build and std.h include for TRUE/FALSE
* [chibios] Update to latest paparazzi version
There is no longer a separated FBW in normal operation for fixedwing,
only a single AP task/thread.
The code for main_ap is now factorized for all firmwares.
Dual MCU support (separated AP and FBW) is still possible, based on the
rotorcraft implementation and intermcu pprzlink messages. Relevant code
is also factorized and available in all firmwares.
The recovery mode (in case of hard fault) is still available for
fixedwing with ChibiOS implementation.
Only intermcu_uart is supported at the moment. Other options (spi/can)
might be added back in the future if really used.
Some other evolution are made:
- in the radio_control and actuators modules, now integrated to AP and
using ABI messages
- the message parsing on datalink event (defined in module) that is now
properly filtering the messages based on their class and allowing to
have multiple callbacks for the same message
- cleaning the part of code that were using the old intermcu fixedwing
interface
When adding a test node to a makefile section, with required compilation
flags, include and other options, all the files (not arch dependent
files) can be compiled with a TAP compatible program, included in the
standard tests of the CI servers.
Not all module's XML files are converted, but a large part of the most
important parts are already covered. More will be added later. The
number of tested airframes (full compilation of all targets) have been
reduced to speed the CI compile time but still covers the relevant
architecture and boards.
The main benefit is that the overall coverage is already better than
before as previous test aircraft were compiling more or less the same
part of the airborne code, while this new mechanism is more efficient to
test modules not included in any config.
* math functions and high pass filter
high pass filter uses doubles to avoid numerical errors
* determinant check
Also reverse order such that output comes first in the argument list
* removed function prototypes
- only fold arrays on 'name' for aircraft, firmware and target to not get warnings about none unique 'name' attribs for modules and subsytems
- if airframe file could not be parsed, show error at the end
If the CONF_XML environment variable is set, use that conf.xml file instead of the standard $PAPARAZZI_HOME/conf/conf.xml
Meaning you can run tests for a different conf without changing the conf.xml symlink, e.g.
```
CONF_XML=$PAPARAZZI_HOME/conf/conf_tests.xml prove tests/examples
```
using [libtap](https://github.com/zorgnax/libtap) to create a [TAP](http://testanything.org) (TestAnythingProtocol) producer.
You can also run the test (if already compiled) with prove:
```
prove --exec '' tests/math/test_pprz_math.run
```
Examples on how to test compile all aircrafts/targets in your current conf.xml:
with parallel compilation and showing full output during compilation
$ J=AUTO prove tests/examples -v
only showing full compile output if there has been an error, if there were warnings only print those
$ SHOW_WARNINGS_ONLY=1 prove test/examples
with parallel compilation and treating all warnings as errors:
$ J=AUTO USER_CFLAGS=-Werror prove tests/examples
Also replace LOCAL_CFLAGS (which wasn't used anymore) with USER_CFLAGS (and add where missing).
Now you can e.g. test compile all aircrafts/targets in your conf and add extra flags like treating warnings as errors:
$ J=AUTO USER_CFLAGS=-Werror prove conf/examples
Check exit status instead of whether output contains the word Error.
With ForceArray on xmlSimple no need to check for target separately.
Also don't filter on list of firmwares, build all..
make AIRCRAFT=BOOZ2 clean_ac nps.compile
make AIRCRAFT=LisaLv11_Aspirinv15_Overo_RC clean_ac nps.compile
make AIRCRAFT=LisaLv11_Booz2v12_RC clean_ac nps.compile
make AIRCRAFT=Quad_LisaM_2 clean_ac nps.compile