* [dshot] fix dshot telemetry and provide pprz message support
each dshot driver supports it's own telemetry uart
pprz message ESC can be sent over telemetry or flight recorder
configuration is done by giving the uart number
* [dshot] send RPM Abi message from DSHOT driver
* [nav] fix survey hybrid
- call init function
- set to valid at the end of setup so it works with mission correctly
* [nav] fix unit, indexes and doc for survey hybrid
Survey based on the OSAM algo for rotorcraft. Instead of going from one
sweep line to the next with a line, a circle aligns the aircraft with
the next line.
Circles radius at the start of lines can be either automatic (sweep distance),
fixed or direct line (equivalent to original rotorcraft).
The code itself is reorganized to use a global structure instead of many
variables.
The flight speed is adapted to the circle radius according to the
maximum bank angle allowed.
The oval implemented in base rotorcraft nav is also compatible with the
hybrid primitives registered in nav.
* [nav] takeoff and land module
Functions for takeoff and landing (fixedwing and rotorcraft), can be
called from the flight plan or from the mission module.
Two flight plan examples are provided.
Various options are possible, see module description and header file.
* [sim] ins_sim module is only doing INS, not AHRS
add AHRS requirement for sim target, if needed provided by ahrs_sim
* [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
This is a complete rework of the navigation for rotorcraft with the key features:
- all nav functions and interface in float
- nav function are registered (decoupling between nav API and implementation of standard pattern)
- submodes to specify if setpoint is a position (legacy), speed or accel (better integration of algorithms like GVF)
- guidance (H and V) is reorganized with default function to implement (run_pos, run_speed, run_accel)
- guidance control (the old default PID) is separated from the guidance logic
---------
Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
* [supervision] disable build and clean buttons during build/clean.
* [supervision] Move AC color at the left.
* [supervision] Add shortcuts and rename "flash" to "upload".
* [supervision] Fix telemetry select base path.
* [supervision] return key terminate program.
* [supervision] Add option to keep "build" programs after they finished.
* [plotter] implementing a realtime plotter in python
based on pyqtgraph
it should implement most of the functionalities of the legacy ocaml plotter
it is replacing the previous implementation in python
* Format code.
* Add requirements
* refactor plotter
---------
Co-authored-by: Fabien-B <fabien.bonneval@gmail.com>
* [USB Serial] Cleanup serial USB configuration.
* [USB Serial] Add 2nd serial.
* [USB Serial] Add udev symlinks.
* [ChibiOS Mass storage] Change USB stop sequence. (Seems to works better this way)
* [USB Serial] Fix thread blocked when port is not opened.
* [USB Serial] Adapt number of CDC to the number of endpoints.
STM32F7: 2 serial
STM32F4: 1 serial
* Mark telemetry_transparent_usb as deprecated.