New message can set position, speed, acceleration and heading setpoint
for an accurate trajectory tracking.
Also fix the update of ref when h_ref is disabled.
* [guided] rewrite guided mode example with a separated lib
* [Settings] Allows to set setting by name.
---------
Co-authored-by: Fabien-B <Fabien-B@github.com>
Gtk3 doesn't support all features of gtk2 (or have a different interface), so if only gtk3 is found, GUI tools are not compiled, only CLI tools based only on glib.
If no gtk found, tools based on glib/gtk are not compiled.
Remove two old tools not used and not supported by gtk3.
* [generator] add support for matrix and struct in airframe
update ENAC airframe and code for indi G1 matrix and IMU calib
* update calibration tool output
* JP aircraft removed from ENAC
* Silent compile warnings GVF
* silent warning: periodic freq must be dividable by telemetry freq
* NPS_COMMANDS_NB
* gzip -f since compiling make small targets in a row can have the same file name if compiling is too fast.
* [fix] fix dep solver to recursively check suggested module
the issue was that suggested modules can depend on modules that should
be found from the suggested list
also enforce that an autopilot should have at least an ins or a ahrs
* move dep to targets
Add two new items in module's dependency:
- recommends: a recommended module tells the sorting algo that if the module is found, it should be sorted accordingly. It is useful for optional dependencies, like shell or mission in some modules
- suggests: if a functionality is not provided by the user, a module can suggest a list of modules that can provide them. It is a convenient way to have "default" modules.
As a result the former autoload node is removed and replaced by suggested modules.
* fix guidance_v in flight plan and remove old settings
* nav radius, descend and climb
* [stab] make a attitute set quat function
* fix function name
* fix parsing of variables in proc, don't use = in fp
* fix nav heading in modules
* fix some more errors
* fix var name
Most of the pprz.xlib is used by the legacy GCS only, using in
particular the deprecated canvans.
This PR is isolating the relevant part to the GCS folder, so it will be
easier in the future to avoid the compilation of this part by default.
Conditional compilation of the old GCS: test if glade is installed
to build supervision, logplotter and the (legacy) GCS.
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
* [ocaml] apply a second topological sort to modules
After the first one, all functionalities are checked, but corresponding
modules are not ordered with the other one.
This second sorting algorithm (simpler) is just checking that final
selection of modules is correctly ordered and check for possible cyclic
dependencies not yet found.
ahrs_common dep node is fixed to avoid such a situation.
* [modules] trying to fix cyclic dependency in rotorcraft gnc modules
the main issue is that the rotorcraft navigation is not explicitely
included by the user but automagically included, which is not a good
idea, same goes for guidance.
* [modules] fix dep
system_core is already provided by firmware module and @no_settings
was making a cyclic dep for fbw
* [ocaml] drop of compat for Ocaml < 4.05
this is linked to Ubuntu 16.04 that have reached end of life
* [pprzlink] update pprzlink for removed old compat
* [conf] fix health script, remove flightplans that reference missing files, fix illegal XML that python can not load.
* [fixes] removed modules with missing c-code, solved bad XML formats, fixed missing modules in airframes, solved health-tools (Python3)
* [airframe] removed unexisting modules
* [calib] unreferenced calibrations
- support depends, conflicts and provides nodes, all under a 'dep' node
- autoload are kept for now and are not moved yet
- modules are updated for new dep format
- it is now required that module's name and filename are the same
SRTM data are no more available for direct download, using ESA data
instead. The new SRTM data are SRTM3 GL1 (1 arcsec instead of 3
previously), so the code is now adapted to support both formats,
the most accurate available will be used first.
The only way to force the update of new files is to remove the previous
ones from data/srtm folder.
close#2642
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.
* [server] Send real ID with CONFIG message instead of the original ID.
* Fix pprz_connect to accept non integer ac ids.
Makes "conf_by_id" docstring true.
* Makes suggested modifications.
* [log] add the latest generated settings if available to log file
This way, the exact order of the settings used during the flight might
be available.
The only false case would be to start a server, rebuild and aircraft
with different parameters or target, then flash and start the plane. In
this case, there is no guarantee that the information is correct.
However, this is the best we can do, since we can't know when starting
the server with which target the aircraft will be used.
close#2563
* [fix] use correct FP dumping tool for replay
* Updated pprzlink library to the latest version
* Added try...except to crazyradio2ivy.py to be safer after pprzlink API changes. paparazzi/pprzlink#117
* Updated request messages with the new pprzlink API
* Added a #noqa comment so linters won't remove the seemingly unused import.
* Updated the guided_mode_example.py to have a wait timeout.
* [ocaml] massive update of the build process
convert individual code generator to a single process, parsing everything once and calling the required generators
- remove all subsystems makefiles
- fix module name
- example of radio file without ctl attribute
* [build] start with flight plan to make semaphore happy
* [ocaml] move the buffer outside the lazy block
for some reason, it seems to make problems with compilation server
Semaphore
it really makes no sense, but nevermind...
fix usage of Bytes and String
drop support of ocaml < 4.02
we keep Compat for functions that need ocaml 4.03 until end of life of
Ubuntu Xenial 16.04, drop support of previous releases
enforce type safe_string option to prevent future errors
replace Pervasives by Stdlib (depreciated in latest ocaml vesions)
only use ocamlnet >= 4.0.4