Commit Graph

77 Commits

Author SHA1 Message Date
Tomaso Maria Luigi De Ponti 67edd8ab68 Oneloop Controller updates (#3405) 2024-11-01 17:58:50 +01:00
Ewoud Smeur 92f467f8cc Bound function also bounds NaN (#3118)
* Bound function also bounds nan

* Update comment

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

* Bound defaults to min in case of NaN

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
2023-09-30 13:04:53 +02:00
Gautier Hattenberger 28ef30ed80 Nav rotorcraft rework (#2964)
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>
2023-03-02 22:15:23 +01:00
Gautier Hattenberger 2ac79b3430 [nav] add a guided instruction for the flight plan
It allows (for rotorcraft) to use all the possibilities of the guided
mode from a single instruction in the flight plan, but without leaving
the NAV mode as it was done before. Thus all capabilities of the FP are
still accessible.
2022-10-15 23:56:09 +02:00
Freek van Tienen 5f64a1c0d3 [tests] Remove and fix warnings (#2877) 2022-05-09 11:35:08 +02:00
Gautier Hattenberger 0b62eb89ef [fix] collection of fixes after AP/FBW merge
some errors after #2828
- fix all airframes using dual boards
- fix calls to ap_state or old imcu API
- fix some includes
- protect some code to compile test programs (without 'commands' API)

close #2840
2022-03-11 16:39:43 +01: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 6d36c581cb Restructure bebop camera settings and ISP (#2364) 2019-01-28 15:44:22 +01:00
Kirk Scheper f7f7f6b1ee change Chop to Clip (#2365) 2018-12-06 15:43:58 -08:00
Gautier Hattenberger f1c3753352 [build] handle fallthru warning in flight plans due to NextStage 2018-02-08 17:25:09 +01:00
Felix Ruess 43fb3bc22f [math] print warnings when using deprecated macros (#1773) 2016-06-28 22:10:49 +02:00
kirkscheper 4f8fd9c7d3 [refactor] Converted traffic_info from subsystem to module with upgraded interface 2016-06-17 16:17:14 +02:00
Felix Ruess 5c1e4260fe replace bool_t with C99 bool from stdbool.h 2016-03-31 15:26:44 +02:00
Christophe De Wagter 63c1aa1f8e [mavlink] include -> submodule 2015-11-06 13:17:27 +01:00
Christophe De Wagter 3c3c69b4b2 [image] silent compile warnings in nps 2015-09-14 16:30:48 +02:00
Felix Ruess a2cc6cbb9d move STRINGIFY macro to std.h and use it a bit more 2015-03-11 14:26:50 +01:00
Felix Ruess 2fce396db4 declare pprz_version as extern C 2015-01-02 13:14:18 +01:00
Felix Ruess e3be6f938a [messages] replace BOOT with AUTOPILOT_VERSION 2014-12-21 03:32:29 +01:00
Felix Ruess f296ca7146 add get_pprz_git_version and use in mavlink custom_version 2014-12-19 16:28:58 +01:00
Felix Ruess 19fdef9c68 [airborne] add pprz_version and send it with BOOT 2014-12-19 15:58:09 +01:00
Freek van Tienen b8ac2ef752 [mavlink] Basic implementation (needs cleanup) 2014-12-11 14:18:09 +01:00
Freek van Tienen 44e02c4152 [uart] Fix weak handler 2014-11-16 21:20:50 +01:00
Felix Ruess 51a9f6a49f [NPS] Fixed NPS warnings on OS X
OS X uses clang to compile the code, thus we have a bit different
warning system. Now the C++ code is being compiled with the G++ clang
compiler instead of GCC.
Actually compile C++ files with CXX and C files with CC.

Also fixed some other warnings including UTF-16 character usage.
Converted config report warningt to PRINT_CONFIG_MSG.
We need to push the diagnostics first for clang.
Added GNU99 standard flag to the C targets.
2014-08-16 22:22:43 +02:00
Felix Ruess be58988fbf remove some old AVR macros 2014-08-16 22:09:41 +02:00
Felix Ruess e18631c425 brackets for some macros 2014-06-24 12:08:45 +02:00
Felix Ruess f5a8565cc9 [fixedwing] convert disc_survey to module 2014-03-10 23:02:43 +01:00
Felix Ruess a23aa37eb5 [include] message_pragmas.h 2014-03-06 11:58:16 +01:00
Gautier Hattenberger 6ff0fc973b [chibios] add chibios-libopencm3 support
Only the realtime scheduler and SDIO driver from ChibiOS is used.
This brings the support of the SD log on Apogee boards. The current
solution is not fully satisfactory and is an intermediate solution
before switching to a 'pure' ChibiOS arch.
Some of the implementations can be cleaned and/or improved, but since it
is not a long term solution, I doubt it is worth the effort here.
Normal bare-metal libopencm3 code is of course still working.
Git submodules:
- chibios: 2.6.2
- fatfs: patched version for chibios+pprz
2014-01-24 12:59:08 +01:00
Gautier Hattenberger 3717ead582 [fix] fix compile warning with c++ (nps) 2013-10-23 18:37:37 +02:00
Gautier Hattenberger 1bff48ec2d [telemetry] new periodic telemetry system
- only FW currently, rotorcraft coming soon
- compared to before:
 - no macros (easier to debug)
 - the default channel/device cannot be set for all the messages at the
   same time (it will be possible when we finally replace messages
   macros and define proper C struct for that)
 - the register function only register for a single process (not
   possible to reuse the function for an other process unless you
   explicitely register for it)
2013-06-14 09:44:31 +02:00
Felix Ruess b37d956cff [airborne] std.h: define NULL if not already done 2013-03-01 18:33:47 +01:00
Felix Ruess 2b2be3b290 [uart] get rid of all lower case Uart[01235]Foo
use only upper case for configuration and string concatenation in macros
2013-02-26 19:14:55 +01:00
Felix Ruess cb630dd360 [airborne] only print config messages at compile time if PRINT_CONFIG is defined 2013-02-11 20:33:08 +01:00
Felix Ruess a106e85577 macros to print vars with values during compile time 2013-01-13 18:52:19 +01:00
Felix Ruess d5b53269ba cleanup: remove ident from source files. 2012-11-11 16:10:31 +01:00
Felix Ruess 76502e02a1 attempt to fix the bounding of a wrapped value: psi setpoint from rc should be within certain range of current yaw 2012-11-07 22:39:34 +01:00
Felix Ruess 9e5f7b3246 cleanup some trailing whitespaces 2012-10-26 23:13:58 +02:00
Ewoud Smeur 098b9a6042 [feature] adding the quadshot led_driver module 2012-10-25 17:53:20 -07:00
Felix Ruess e7e51166f5 wrap define of ABS in ifndef in std.h 2012-04-11 14:09:57 +02:00
Felix Ruess 225111d9bc start defining all control gains with positive values: changed H_CTL_COURSE_PGAIN to positive 2011-11-29 19:00:02 +01:00
Felix Ruess f6b48698d8 started making gps a general subsystem, already used for rotorcrafts 2011-02-24 16:47:44 +01:00
Felix Ruess f4bef9b1aa uuups, of course use angle brackets for standard c math.h library 2010-10-26 01:20:19 +00:00
Felix Ruess 5ddb0aaa47 use double quotes instead of angle brackets for math includes 2010-10-25 22:55:42 +00:00
Antoine Drouin 3893500cdc added default in switch 2010-04-24 03:01:03 +00:00
Gautier Hattenberger 90aad6cccb RunOnceEvery prescaler with 16 bits 2009-09-11 08:18:04 +00:00
Antoine Drouin 252b77dd23 a little bit of UART code cleaning 2009-07-10 17:35:10 +00:00
Antoine Drouin e7d72b5bd8 2009-05-27 18:16:51 +00:00
Gautier Hattenberger 609dd83f26 add stdbool.h to standard types 2009-04-22 19:30:34 +00:00
Antoine Drouin 4776b66cd0 cosmetics 2009-04-17 04:20:34 +00:00
Antoine Drouin 430774b036 *** empty log message *** 2009-02-26 11:51:43 +00:00