Commit Graph

18 Commits

Author SHA1 Message Date
Fabien-B
a05854c3b3 [test] improve module tests (#3517)
Co-authored-by: Fabien-B <Fabien-B@github.com>.
2025-08-15 15:48:51 +02:00
Fabien-B
fda93554d6 CAN abstraction (#3430)
Some checks failed
Doxygen / build (push) Has been cancelled
---------

Co-authored-by: Fabien-B <Fabien-B@github.com>
2025-02-14 09:09:11 +01:00
Fabien-B
02b08b08c4 Threads abstraction (#3423)
* Threads and synchronization abstractions for paparazzi.
* Test module for the threads abstraction.
* Replace old mutexes by the new ones.

---------

Co-authored-by: Fabien-B <Fabien-B@github.com>
2025-02-03 14:05:16 +01:00
Gautier Hattenberger
dfd8e93927 State interface input filter (#3409)
* [generator] generate unique ID and names table for modules
* [state] add accessors for the state origin
* [state] don't access directly to state origin, use getters
* [state] filter inputs with module ID
* [ahrs] convert AHRS modules to state input filter
- selection of ahrs with settings from each module
- init functions for each ahrs modules
- remove old chimu
* update unit test
* [ins] decoupled INS implementation
To allow multiple INS at the same time:
- remove weak functions from ins.c
- remove the INS_TYPE_H define
- use ABI message to trigger INS reset
* [state] protect for c++
2024-12-03 22:34:27 +01:00
Gautier Hattenberger
ce7fe4c23f [control] rework the stabilization for rotorcraft (#3248)
Introducing several changes to the control stask for the stabilization:
- new structures: stabilization, stab (att and/or rates) and thrust (vector)
- more functional approach: stabilization receives the stab and thrust
  setpoints from guidance and fill command vector at the end
- modes and sub-modes are redefined (split stab and guidance modes),
  some AP modes are removed (FLIP and MODULE)
- RC read functions are removed and replaced by ABI bindings, one for
  each part (AP, stab, guidance_h, guidance_v) with dedicated functions
- transition ratio (float in [0-1]) replace transition_percentage (int)
- the AP_MODULE mode is replaced by generated autopilot
- the ABI hack for guidance indi is not needed anymore
- AP generator supports a new 'store' attribute to use return values of
  functions
- cleaning of the stabilization API (for setter functions)
2024-05-21 17:01:38 +02:00
Gautier Hattenberger
de6a1ad38d [fix] led_hw.h fix dummy interface for testing (#3112) 2023-10-02 12:09:54 +02:00
Freek van Tienen
46055fc8f8 [chibios] Fix i2c error handling (#2898)
* [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
2022-10-07 15:27:43 +02:00
Freek van Tienen
ff37e63af4 [imu] Fix new imu structure 2022-09-20 14:37:58 +02:00
Freek van Tienen
5f64a1c0d3 [tests] Remove and fix warnings (#2877) 2022-05-09 11:35:08 +02:00
Gautier Hattenberger
e436d78c84 [autopilot] merge AP and FBW in normal operation (#2828)
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
2022-03-10 14:21:04 +01:00
Gautier Hattenberger
a117c9a374 [modules] enable test for telemetry modules 2021-11-29 11:24:55 +01:00
Gautier Hattenberger
389754d1f8 [cv] test optical flow module and fix warnings 2021-11-29 11:03:44 +01:00
Gautier Hattenberger
1e14fd5bde [modules] clean some remaining traces of subsystems 2021-11-13 00:48:14 +01:00
Gautier Hattenberger
eef2792d39 [modules] move datalink from subsystems to modules 2021-11-13 00:48:14 +01:00
Gautier Hattenberger
f638a40b83 [modules] move radio control to modules 2021-11-13 00:48:08 +01:00
Gautier Hattenberger
6694dd4e72 [modules] move ABI interface to modules 2021-11-13 00:46:56 +01:00
Gautier Hattenberger
10d59311a2 update various code for errors and warnings or fit reorg 2021-07-27 13:34:23 +02:00
Gautier Hattenberger
494e3f3ad9 [tests] add a compilation test node to modules (#2653)
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.
2021-02-08 17:24:19 +01:00