Commit Graph

11647 Commits

Author SHA1 Message Date
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
Gautier Hattenberger 90bd77f07e [chibios] fix ICU config 2021-02-02 21:12:10 +01:00
Gautier Hattenberger 2e7ba37cf6 [conf] drop discovery boards
if test board from ST should be used, better use the more recent
nucleo144
2021-02-02 18:37:24 +01:00
Gautier Hattenberger 095bb75e49 [conf] drop support of XVert
never really worked it seems, and the frame is no longer available
2021-02-02 18:32:26 +01:00
Gautier Hattenberger de7a96c292 [conf] drop support of VMS ECU board and related modules 2021-02-02 18:27:17 +01:00
Alexandre Bustico a1d306bb40 upgrade paparazzi board config for ChibiOS 2021-02-01 17:03:12 +01:00
Alexandre Bustico ab31d37d77 upgrade to chibios 20.3 2021-02-01 11:08:37 +01:00
Pietro Campolucci 9230b506be [computer vision] Driver addition for mateksys_PMW3901_l0x (#2655) 2021-01-30 22:54:08 +01:00
Matteo Barbera c6c33572db [computer vision] Opticflow multiple cameras (#2618)
* cv.c changes to support multiple cameras, compiles but untested
* opticflow module runs on both cameras
* modified airframe to showcase module running with two cameras
* updated OPTICFLOW ABI message to send camera id info
* now possible to subscribe to the ABI message from a specific camera
* Added camera_id field to conform with new telemetry message
* Updated pprzlink
2021-01-30 18:30:12 +01:00
Gautier Hattenberger 409ac5efcb Apply suggestions from code review 2021-01-29 13:36:37 +01:00
xp31 79dcd14ef1 prevent RC while failsafe 2021-01-29 13:36:37 +01:00
Fabien-B aeef76a527 [Tracker] Fix tracker route. 2021-01-22 15:28:30 +01:00
Gautier Hattenberger e37090e14e [board] support Matek F7 Wing 2021-01-21 13:01:45 +01:00
Fabien-B a64f5fbdd0 [chibios] enable overriding UART registers. (#2650) 2021-01-20 22:11:47 +01:00
Fabien-B 704b36d8f1 [Tawaki] Define pin for UART[68]_TX. (#2649)
UART6 default to TX:TRUE, RX:FALSE.
2021-01-19 15:46:12 +01:00
Gautier Hattenberger b0d9eaf6ae [gec] fix compilation of secure telemetry module gec_dl (#2646)
* [gec] fix compilation of secure telemetry module gec_dl
* [chibios] add RNG support to ChibiOS arch
* Force clearning Cargo.lock files
* change unlock order

thread stack should have around 2 Kb free
both AP and FBW in case of fixedwing

Co-authored-by: Michal Podhradsky <mpodhradsky@galois.com>
2021-01-16 10:16:52 +01:00
Michal Podhradsky 3ef68882ce Update key generator (#2645) 2021-01-13 22:18:35 +01:00
Gautier Hattenberger 06ac6fc1c7 [dshot] fix dshot driver for F4 (no DMA cache) (#2637)
* [dshot] fix dshot driver for F4 (no DMA cache)

* [board] remove dcache_mem field from apogee board config

* [board] remove all dcache_mem...
2021-01-13 22:14:10 +01:00
Tom van Dijk 244f212595 Add explicit python*2* to sw/ext/Makefile mavlink target (#2644)
Add explicit python*2* instead of python to mavlink build target in sw/ext/Makefile after bug report from @matteobarbera 

@matteobarbera : can you test this PR to see if it fixes the problem?
2021-01-13 22:13:30 +01:00
Tom van Dijk da8818b090 SPI SD Logger: download over other serial link (#2632)
* Make sd logger listen to settings on download port

* Improve compilation conditions for download port listener

* Rename SDLOGGER_DOWNLINK_DEVICE to DOWNLOAD_DEVICE

Co-authored-by: Tom van Dijk <tomvand@users.noreply.github.com>
2021-01-11 14:13:29 +01:00
Fabien-B 26cde5c700 [tracker] Start automatically. Add setting to start/stop it. (#2640) 2021-01-11 09:45:56 +01:00
Gautier Hattenberger 2b0f2c330a [nav] in_flight detection is not implemented in fixedwing firmware (#2641)
this case the nav_home to fail in vertical control
2021-01-06 21:33:33 +01:00
Gautier Hattenberger e0b299acd4 [shell] add a shell module with ChibiOS (#2634)
* [shell] add a shell module with ChibiOS

- add a set of core commands
- allow to add custom commands from external modules at runtime
- fix small errors in rtos_mon module

* [shell] only for ap target at the moment
2021-01-05 16:01:40 +01:00
Fabien-B 614f6a1c6a [tracker] Identifier is now stored in the tracker, not the autopilot. (#2638) 2021-01-05 11:26:14 +01:00
Gautier Hattenberger f98a7ffdd4 Fix pwm index (#2633)
* [fix] offset of 1 for pwm channels from boardGen
* [fix] pwm index for nucleo144
2020-12-17 17:18:24 +01:00
Gautier Hattenberger 905a396246 [module] fix formation flight module and load from flight plan (#2630) 2020-12-11 17:03:05 +01:00
Tom van Dijk 172f8fe44b SPI SD Logger updates (#2605)
* modify spi sd logger for arbitrary downlink devices
* Update sglogger_download to pprzlink v2
* Fix logger_sd_spi_direct enum settings
* Change commented printf to DEBUG_PRINT
* settings_xml_parse.py: print errors and warnings to stderr

Co-authored-by: Tom van Dijk <tomvand@users.noreply.github.com>
2020-12-10 09:41:41 +01:00
Gautier Hattenberger fbf19a8fa1 [fix] log plotter not crashing with ubuntu 20.4 in debug mode
For unknown reason, log plotter is crashing with ubuntu 20.04, but seems
to work when the ocaml tools are compiled with debug flag. This should
not slow down execution but produce bigger code.
A proper fix or replacement should still be found to this issue.

see #2621
2020-12-03 09:16:41 +01:00
Gautier Hattenberger d9d3498ca2 [board] add nucleo144 dev board (#2624)
* [board] add nucleo144 dev board

it is a cheap dev board for testing, using the same processor than the
Tawaki autopilot and configured (almost) with the same pins (except for
the leds and some original servo and aux pins)

* remove SD card support for nucleo144

* clean cfg file
2020-12-02 09:57:37 +01:00
Gautier Hattenberger 688ac6aeca [fix] fix DSHOT driver and corresponding boards (#2625) 2020-12-02 08:47:51 +01:00
Gautier Hattenberger 4a41d1ebf6 [fix] wrong adc for VBAT (from boardGen script, fixed) 2020-11-25 15:19:09 +01:00
hendrixgr ce5d9680e6 Fix some errors, added two modules and improved OSD files (#2614) 2020-11-15 22:22:19 +01:00
Fabien-B 03a937c2d8 [server] Remove aircraft on AIRCRAFT_DIE message. (#2619) 2020-11-12 15:42:45 +01:00
Fabien-B bb7986f8ec [Server] modify ac_id field of CONFIG message for replay sessions (#2616)
* [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.
2020-11-10 16:42:45 +01:00
jburns11 5887bf9746 Added extern statement for oval_status in firmwares/fixedwing/nav.h, so that this variable can be used in flight plans. If you try to compile with flight_plans/cube.xml, you can see the undefined error for this variable. (#2610) 2020-11-07 22:12:39 +01:00
jburns11 3ced6ffe2c Fixed paths in nav_cube.xml module file. Also fixed setter macros in nav_cube.h for offset values (#2609)
close  #2608
2020-11-03 23:51:58 +01:00
Gautier Hattenberger 9dd0a81f11 [fix] parse correctly settings with names (#2604)
the appear with a ~ in the settings list which should be removed before
testing for modules
2020-10-29 10:35:42 +01:00
Gautier Hattenberger 6f216e3e2f [nav] bio-inspired navigation module (#2597)
* [nav] bio-inspired navigation module

based on the preliminary work of an internship
integrate a bio-inspired navigation based on the behavior of fish

* update pprzlink ref

* add citation to module description
2020-10-22 10:54:59 +02:00
hendrixgr dbff73a054 Some minor improvements and probably the last ones. (#2602)
* removed "MAX7456_SLAVE_IDX" redefined warnings

 changed <define name="MAX7456_SPI_DEV" value="spi2" /> AND  <define name="MAX7456_SLAVE_IDX" value="SPI_SLAVE1" />
to  <configure name="MAX7456_SPI_DEV" value="spi2" /> AND  <configure name="MAX7456_SLAVE_IDX" value="SPI_SLAVE1" />
otherwise i was getting to many warnings about "MAX7456_SLAVE_IDX" redefined

* improved osd busy flag checks

Removed one static function and the code now checks both the OSD busy flag and the OSD Reset flag.

* Added THE OSD status register bits

Added two more definitions about the OSD busy flag and the OSD reset flag.

* Made the busy flag check a litle more strict.

Removed one static function and the code now checks both the OSD busy flag and the OSD Reset flag.

* Changed the busy flag check

Removed one static function and the code now checks both the OSD busy flag and the OSD Reset flag always after writing to the OSD
The code is also a bit cleaner.

* changed the OSD STATUS register bit positions 

I changed the OSD status register bit positions and names to better blend with the rest of the file.
They weren't used anywhere else except for the busy flag checks.

* STATUS register bit position names and style change

I changed the OSD status register bit positions and names to better blend with the rest of the file and to look better to the eye.
Those and the older ones are only used to check the busy flag.

* Made the BUSY flag check more robust.

The busy flag (actually the NVRAM Busy FLAG) and the Power On Reset flag now is checked every time the code writes something to NVRAM.

* Delete max7456.c
2020-10-15 22:42:13 +02:00
hendrixgr 8b56049d21 [board] add support of the MatekF405 board
includes baro bmp280 and updated max7456 osb

Squashed commit of the following:

commit 647ec61a9a16966b523bbf5f535ce85679785c9a
Author: Gautier Hattenberger <gautier.hattenberger@enac.fr>
Date:   Wed Oct 14 18:33:02 2020 +0200

    [conf] matek board module only configure internal sensors

    it makes it easier to reuse by other people

commit 9bfa96685d
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:41:32 2020 +0300

    Easyglider with Matek F405 Wing autopilot airframes

    Added coordinated turning using both the ailerons and the rudder in Auto2

commit e736781ac3
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:40:05 2020 +0300

    Easyglider with Matek F405 Wing autopilot airframes.

    I added the combi switch for coordinated turns using both the alilerons and the rudder in Auto2.

commit 8be348a1d8
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:39:02 2020 +0300

    Easyglider with Matek F405 Wing autopilot

    I added the combi switch for coordinated turns using both the alilerons and the rudder in Auto2.

commit c0f7339686
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:19:35 2020 +0300

    Easyglider and Matek wing autopilot module autoload file

    I just added some comments.

commit c4645705ad
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:12:44 2020 +0300

    Easyglider with Matek wing autopilot and module autoload/

    This airframe file needs the paparazzi/conf/module/board_matek_wing.xml file in order to compile.

commit 2c273589d3
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:04:50 2020 +0300

    board module for auto loading the required modules

    I don't usually change those airframe modules so i put them all in the board module file.

commit 58e1e551d1
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:34:18 2020 +0300

    Removed the Baro definitions and cleaned up the file.

commit a1a47ec150
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:30:02 2020 +0300

    Corrected the autopilot type and link to the manufacturer.

commit 870f2d2e94
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:26:41 2020 +0300

    Removed the .xml file type from modules and changed the spoken aircraft name.

commit 700141cc9c
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 08:05:31 2020 +0300

    Added support for the Matek F405 Wing autopilot OSD.

    Removed all warning and pragma messages and used PRINT_CONFIG_MSG() instead.
    Added support for rotorcrafts which i don't like....
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit fe17c0250c
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 07:30:11 2020 +0300

    Update osd_max7456.xml

    I removed the PAL or NTSC selection because i think this should be done in the airframe file.

commit a1966511f9
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 22:38:21 2020 +0300

    Matek F405 Wing OSD support

    Added support for rotorcrafts which i don't like....
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit 4edaecc3bf
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 21:34:38 2020 +0300

    Matek OSD support

    I changed the HOME waypoint altitude to ground alt in order to avoid a compiler error about not finding  waypoints[WP_HOME].a
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit 201d5e7793
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 19:51:15 2020 +0300

    Delete Easystar_matek_f405_wing.xml

commit a6730fb148
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 19:49:50 2020 +0300

    Easyglider airframe file corrected.

    It had the parachute radio channel in it which doesn't exist but strangely it was compiling fine here until i deleted the aircraft and created a new one.

commit a430091754
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:26:31 2020 +0300

    Baro BMP280 files

    I can only test the BMP280 in I2C mode so SPI must wait...

commit 2bc25212ac
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:22:47 2020 +0300

    Barometer BMP280 files

    This time only double precision is available.

commit 03dc09de77
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:18:16 2020 +0300

    Matek F405 Wing board header file

    The Matek autopilot can measure up to 104A so logically 104 /4096 step of the ADC should give 25,3 ma for every adc count.
    Some measurements are needed.

commit c77c2365da
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:04:49 2020 +0300

    Barometer BMP280 module XML file.

commit 2e3721bbad
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 16:21:06 2020 +0300

    Improved OSD and Matek type OSD support.

    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit f67172d1a6
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:48:54 2020 +0300

    Radio file for OPENTX radios and 8 channels PPM signal

commit 294341357e
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:45:37 2020 +0300

    Telemetry file for use with the orangerx loaded with the OPENLRSNG firmware

    Telemetry file for use with the orangerx 433 Mhz receiver or any other OPENLRSNG capable receiver.
    The OPENLRSNG receivers have a transparent serial datalink built in to the radio control signal thus eliminating the need for a separate modem.

commit e8905c8158
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:38:53 2020 +0300

    Easystar glider with the MATEK F405 WING

    Airframe file of the Easystar powered glider with the Matek F405 Wing autopilot.

commit de3f5f54b3
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 12:33:09 2020 +0300

    improved osd

    Matek osd will work now, TEXT artificial horizon, additional string format capabilities, able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting.

commit 78ae7cccc3
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 12:27:56 2020 +0300

    matek f405 wing autopilot makefile
2020-10-14 21:30:16 +02:00
Gautier Hattenberger 972b17a37f [board] make the Tawaki header file more generic (#2596)
it is fixing some wrong pin and timer assigments
2020-10-13 14:06:48 +02:00
Fabien-B adce81e35e [Python libs] Start python settings and flight plan libs. (#2592)
* [Python libs] Start python settings and flight plan libs.

* [Python libs] Robustify XML attribute getters.

* [Python libs] Adds WP number, improve getters.

* [Python libs] Adds license headers.
2020-10-13 11:19:16 +02:00
Gautier Hattenberger f8f4142f6b [fix] use aligned_alloc only if glibc >= 2.16 (#2598) 2020-10-13 11:14:45 +02:00
Christophe De Wagter 9ace12432c MAVLab course update: typos, comments (tudelft pr#64) (#2593)
* MAVLab course update: typos, comments (tudelft pr#64)

* used more recent functions to update waypoints

Co-authored-by: Matteo Barbera <matteo.barbera97@gmail.com>
2020-10-13 11:13:43 +02:00
Gautier Hattenberger fab1253574 [stm32] add support of TIM9 and TIM12 for PPM input (#2584)
with libopencm3 and stm32F4
2020-10-01 12:47:51 +02:00
Gautier Hattenberger f15a2c8653 [pprzlink] update pprzlink for bug fix
tools using request messages in python (for example pprz_connect) are
currently crashing
2020-09-25 17:02:42 +02:00
Gautier Hattenberger 603c0c17bc [pprzlink] fix bug in request message callback
- update pprzlink to fix bug for the number of parameters in callback
- also split pprzlink makefile rules for update and install (it allows
to install the libraries with local changes)
2020-09-24 22:02:36 +02:00
Hector Garcia de Marina 82a81cbf24 gvf and python3 ubuntu 20.04 (#2588)
* compatible python3 ubuntu 20.04

* python3 by default
2020-09-23 09:28:05 +02:00
Gautier Hattenberger 5e041b5090 [nav] selectable navigation functions from flight plan (#2585) 2020-09-21 14:38:56 +02:00
Hector Garcia de Marina f38be8110c GVF Parametric (#2559)
Co-authored-by: Hector Garcia de Marina <hgdemarina@gmail.com>
2020-09-18 20:52:35 +02:00