Commit Graph

91 Commits

Author SHA1 Message Date
Christophe De Wagter cf7c8b3797 MAVLab Course2026 Updates (p1) (#3632)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
* updated distance measurement script.
- automatically shows which ids are available
- filter out big jumps
- plot_summary.py shows distance over time with recording regions

* Adding config file for radiomaster pocket joystick ble/usb (#108)

* added radiomaster tx16s xml (#123)

Co-authored-by: Wiebe van der Knaap <wkvanderknaap@tudelft.nl>

* Fix joystick device argument parsed as single token in control panel sessions (#118)

The `-d 0` joystick device flag was passed as a single `flag` attribute,
causing the joystick program to receive it as one token instead of two
separate arguments. This prevented the device number from being recognized,
breaking joystick input in the Simulation - Gazebo and Flight UDP sessions.

Fixed by splitting into `<arg flag="-d" constant="0"/>`.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fixed names of variables and resolution bugs, added documentation (#113)

Co-authored-by: macoman <macoman@student.tudelft.nl>

* Update Gazebo Models: Gate, Plants, Logo

* Added some (math) tests (#114)

* added a test for paparazzi's math librarie's int sqrt function and int quaternion normalization function
* Keep essential tests

Reduced the number of tests planned from 9 to 6 and removed tests for int32_sqrt.

---------

Co-authored-by: LSSchef <l.s.scheffer@student.tudelft.nl>
Co-authored-by: AniketBehura <aniketbehura1023@gmail.com>
Co-authored-by: diaa <D.abbasi@student.tudelft.nl>

* Feat: readme update for submodule installation (#115)

* feat: readme update for submodule installation

* Rename README to README.md

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>

---------

Co-authored-by: robinferede <robinferede@tudelft.nl>
Co-authored-by: Robin Euger <robin.euger@gmail.com>
Co-authored-by: Wiebe van der Knaap <wkvanderknaap@tudelft.nl>
Co-authored-by: EAbbenhuis <113993394+EAbbenhuis@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Mihai Coman <127535163+miki133@users.noreply.github.com>
Co-authored-by: macoman <macoman@student.tudelft.nl>
Co-authored-by: Swayam Kuckreja <110131770+swayamkuckreja@users.noreply.github.com>
Co-authored-by: LSSchef <l.s.scheffer@student.tudelft.nl>
Co-authored-by: AniketBehura <aniketbehura1023@gmail.com>
Co-authored-by: diaa <D.abbasi@student.tudelft.nl>
Co-authored-by: Douwe-Rijs <Douwe@standofl.nl>
2026-04-09 15:37:28 +02:00
Fabien-B e2c11a4265 [sys_time] sys_time cleanup (#3580)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2026-02-03 13:00:54 +01:00
Gautier Hattenberger 37a86bb389 [indi] rewrite indi stabilization and guidance for modularity (#3565)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
This PR allows to redefine the outer-loop for stabilization and
guidance, and to specify the guidance model for something else than a
quarotor (but still not an hybrid).
Two use case are proposed:
- replace the PD control of the outer-loop (still used by default) by
  and Hinfinity controller
- parametrize the guidance for an hexa-copter with tilted motors,
  allowing to produce side force for lateral motion control.
2026-02-02 18:41:03 +01:00
Fabien-B 06a7cde92e Uavcan update (#3579)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
* Make UAVCAN arch independant
* Comply with uavcan info requests
* Comply with uavcan transfer_ids specifications
* Add uavcan dynamic node id allocation server
* Add uavcan tunnel device
* Add uavcan RC input
* Use uavcan semaphores to achieve thread safety
* Add key-value store
* Various tweaks to make everything work...
2026-01-30 13:10:54 +01:00
Fabien-B b7ed10502d rename circular_buffer to framed_ring_buffer (#3570)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Co-authored-by: Fabien-B <Fabien-B@github.com>
2025-12-08 11:20:41 +01:00
Gautier Hattenberger 5cda539646 [actuator] change configuration of actuators (#3548)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
* [actuator] change configuration of actuators

- add a configuration structure to the actuators array
- limit the use of macros
- add a shell command to get and set actuator value
- update config for all boards

* fix actuator faulhaber for NPS

* add missing file in actuators nps
2025-11-25 16:58:44 +01:00
Gautier Hattenberger 4ac6279aa9 Fix compilation tests (#3550)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Docker update / build_docker_image (push) Has been cancelled
* [fix] fix some bugs

small errors from compilation tests

* Attempt to fix the detection of failing tests

Side effect: the file issues.md is not produced anymore, but still available in stdout, so needs a manual copy if needed
2025-10-20 16:57:24 +02:00
Freek van Tienen 751e2579eb [utils] Fix circular buffer and uavcan (#3544)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
* [utils] Fix circular buffer length wrapping

* [uavcan] Fix payload length to buffer length

* [utils] Fix circular buffer drop

* [utils] Fix circular buffer drop function, and add some tests

---------

Co-authored-by: Fabien-B <Fabien-B@github.com>
2025-10-08 12:05:07 +02:00
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)
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
Christophe De Wagter 4f1bd75203 [tests] Fix printing summary after testing confs (#3371) 2024-09-28 23:15:12 +02: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 41451d5422 [sim] moving the old ocaml simulator to NPS (#3167)
- 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
2023-11-07 10:21:12 +01:00
Gautier Hattenberger de6a1ad38d [fix] led_hw.h fix dummy interface for testing (#3112) 2023-10-02 12:09:54 +02:00
Fabien-B 7954fa63df [utils] Add circular buffer. (#3038) 2023-07-12 14:18:29 +02:00
Gautier Hattenberger e616cb243b [test] clean ac after runing test (#2944)
This might solve the problem of CI server running out of space
2022-11-02 10:49:16 +01: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
Kirk Scheper 6ab48de161 added explicit pyhton2 binding where ambiguous (#2373) 2019-02-01 09:41:55 +01:00
Ewoud Smeur d366b21475 math functions and high pass filter (#2142)
* 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
2017-10-31 00:25:36 +01:00
kirkscheper df91322a19 [math] added and updated utm helper funtions 2016-04-25 10:49:10 +02:00
Felix Ruess 8b6e82b1cd [tests] improve 01_compile_all_aircrafts.t
- 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
2015-12-19 13:17:32 +01:00
Felix Ruess 52326e1496 [tests] reword reporting of invalid airframe files 2015-12-18 17:50:46 +01:00
Felix Ruess 559e58a3cd [tests] fail if there were misssing airframe files 2015-11-30 21:09:30 +01:00
Felix Ruess a69a21cd3d [tests] print diag on which aircraft is compiling 2015-10-05 19:19:15 +02:00
Felix Ruess 5053cf5a6c [tests] update docs 2015-10-03 14:56:00 +02:00
Felix Ruess f277479193 [tests] make compile_all_aircrafts a bit more robust 2015-10-03 14:36:31 +02:00
Felix Ruess 7a5d25f93b [tests] rename examples folder to aircrafts 2015-09-25 14:02:43 +02:00
Felix Ruess 7be1f5d652 [tests] fix verbose output if TEST_VERBOSE=1, add test_examples target 2015-03-12 18:03:35 +01:00
Felix Ruess 81f562dc38 [build] possibilty to specify conf.xml file used for tests
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
```
2015-03-12 17:10:08 +01:00
Felix Ruess f3ee56d862 [tests] fix math tests 2015-01-02 11:39:38 +01:00
Felix Ruess f2b9ce5a90 [tests] add first tests for state interface
and quiet some build output
2014-12-08 11:09:24 +01:00
Felix Ruess 8f375b9284 [tests] add/move some geodetic tests 2014-12-05 15:58:38 +01:00
Felix Ruess da5de54450 [tests] add libpprzmath.so to LD_LIBRARY_PATH for running tests 2014-11-24 18:55:52 +01:00
Felix Ruess f7ae72dcb3 [tests] skeleton for testing math lib with libtap
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
```
2014-11-24 17:17:58 +01:00
Felix Ruess cbb497ed66 [tests] show warnings by default 2014-11-19 15:42:53 +01:00
Felix Ruess 68e907947e [tests] get number of test targets for plan 2014-11-18 17:06:05 +01:00
Felix Ruess f62c56f4e9 [tests] option to show warnings even if successfully compiled
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
2014-11-13 17:03:10 +01:00