Compare commits

...

418 Commits

Author SHA1 Message Date
Samuel Sadok ee75ebac8c Adds Smart Return To Home capability by recording the flight path in a memory optimimized format. This means the UAV can return to home by using only known-good flight paths.
The flight graph is stored as a series of delta elements at 1m resolution and a list of nodes. Both lists share the same buffer. Each delta element takes up 2 bytes or sometimes 6 bytes if the delta is large. The path can consist of multiple disconnected segments, in which case the gaps are stored as delta elements with a jump-bit set.

Once in a while or when required the graph is consolidated, which means:
 - Points that lie roughly in a line are replaced by a single line
 - Points that lie close to previously recorded lines are pruned
 - For lines that pass close to each other a node element is created

Furthermore:
 - The graph is recorded at a higher precision closer to home
 - If the graph becomes full, the overall precision is reduced and the whole graph is re-consolidated
 - If the graph becomes full once more, all data is removed except for the shortest path home at that moment. One of these actions is repeated at each subsequent fill-up.

Path finding information is generated/refreshed on demand and stored in the nodes. During return-to-home, the best direction to home is continuously evaluated by using the information stored in the nodes.

The graph recording and path finding is implemented in navigator/tracker.cpp.
The graph based return-to-home is implemented in navigator/smart_rtl.cpp.
2020-10-04 12:16:45 -04:00
Daniel Agar eabbd19c1c commander: PreFlightCheck param_find all parameters immediately
- this ensures the relevant parameters are marked active immediately
before parameter sync
 - fixes https://github.com/PX4/Firmware/issues/15872
2020-10-03 14:43:21 -04:00
blazczak 57da61dc17 posix-configs/rpi: Fix mavlink over UART (/dev/ttyAMA0)
UART is the primary interface for telemetry radio: https://docs.emlid.com/navio2/ardupilot/hardware-setup/#uart-radio

Check first if /dev/ttyUSB0 exists (https://docs.emlid.com/navio2/ardupilot/hardware-setup/#usb-radio); if not, fall back to configuring over UART (/dev/ttyAMA0).

Use stricter check for character special file (-c) rather than just file (-f).

'console=serial0,115200' needs to be removed from /cmdline.txt as additional configuration step. This should be documented in the Navio2 section of docs.px4.io. Presumably, this is already performed as part of the Raspberry Pi OS prebuilt image Emlid spins.
2020-10-03 10:51:27 -04:00
Beat Küng 91fa2002e3 kakutef7: fix output ordering
Regression from d2254c2e44, I overlooked that they were defined in
reverse order.
2020-10-03 10:45:30 -04:00
Daniel Agar 8ee0c62e57 examples: add Gyro FFT using CMSIS 5 on Cortex-m (#15104)
- this is a work in progress experiment to compute real time FFTs from raw gyro FIFO data on Cortex-m hardware (stm32f4/f7/h7, etc)
2020-10-02 11:47:27 -04:00
Daniel Agar 23aa9ac70f cmake nuttx add STM32H7 debug helpers 2020-10-02 11:31:18 -04:00
Alex Mikhalev c648d52909 uavcan: Increase uavcan main stack size
I observed stack overflows when executing `uavcan params list`, so the
stack size probably needs to be increased.

Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-02 01:31:27 -04:00
SalimTerryLi 25eca31e3a New board Scumaker AirPi HAT for Raspberry Pi B series 2020-10-01 11:22:47 -04:00
Nicolas MARTIN 967f741a0e commander: add parameter COM_REARM_GRACE to optionally disable re-arming grace period 2020-10-01 11:20:08 -04:00
Daniel Agar c1936dab1f commander: accel & gyro subsystem health set within IMU check 2020-09-30 12:17:48 -04:00
Daniel Agar 25c537bae9 commander: don't impose additional timeouts in sensor checks
- the sensors hub is responsible for sensor timeouts
2020-09-30 12:17:48 -04:00
CarlOlsson 98c8cbb27f ekf2: fix odom body rate sign bug 2020-09-30 11:34:37 -04:00
Julian Oes b454095776 commander: fix switch to loiter
Sometimes, the mission_result timestamp is the same as the
internal_state timestamp which would meant that we would not switch to
LOITER even though the takeoff is clearly done at that point.
2020-09-30 08:23:16 -04:00
David Sidrane 46f0388fc7 Reanable BL Update - Reverts b5267c06073023893d5a11b9011ef009b5291097 2020-09-29 23:44:24 -04:00
David Sidrane 68703135c3 bl_update:Respect page size if it matters
Track Changes in NuttX stm32h7 flash driver:
   The STM32H7 flash driver uses up_progmem_pagesize to
   describe minimum write size to satify the block size
   requierment for ECC.

   Therefore, the image size needs to be padded to a multiple
   of up_progmem_pagesize()
2020-09-29 23:44:24 -04:00
JaeyoungLim ff6b82cb6b Replace xacro macros to jinja templates for multivehicle (#15831)
This commit switches xacro macros to jinja templates for multivehicle simulations.
2020-09-29 15:45:57 +02:00
JaeyoungLim 9d3e159e65 Make mavsdk test runner handle generated sdf files (#15797)
Update sitl_gazebo
Fix indent errors
Fix syntax error
Fix indentation errors
Fix syntax errors
use autopep8
2020-09-29 15:44:58 +02:00
Daniel Agar c9c20666a2 sensors: sanity check differential pressure temperature (#15845)
- if valid temperature unavailable then use ICAO Standard Atmosphere 15 degrees celcius
2020-09-29 09:35:34 -04:00
Nicolas Martin da4d0e650a mc_pos_control: fix acc Z sign 2020-09-29 13:09:51 +02:00
Daniel Agar 24ffed827f ROMFS: 50000_generic_ground_vehicle remove fmu-v2 exclude
- this allows px4_fmu-v2_rover to function until we have a better mechanism for including or excluding ROMFS dependencies #15711
2020-09-28 22:43:28 -04:00
David Sidrane 59f20a26eb motor_params:Move to mixer_module
sensors having mixer_module creates a dependency on sensors for
   the param MOT_SLEW_MAX. Things that do not uses sensors.
   IE. PWM only device should not have to include them.
2020-09-28 20:47:40 -04:00
Daniel Agar f1feaf45d3 EKF2: move vehicle_odometry publish to method 2020-09-28 18:34:49 -04:00
Daniel Agar faccb0d948 Jenkins: HIL script minor improvements
- periodically send newline while checking for output or command completion (back to nsh prompt)
 - mtd test
 - fix adc test (now board_adc)
2020-09-28 16:41:28 -04:00
JaeyoungLim c342ab91b3 Fix the world path being corrupting when spawning none-default world
This fixes a bug, where the world file path was being corrupted when using non-default world paths
2020-09-28 13:07:29 -04:00
JaeyoungLim f7356d0286 Update jsbsim_bridge to latest master 2020-09-28 13:05:20 -04:00
Daniel Agar fe6a1ce882 simulator: fix airspeed temperature
- HIL_SENSOR temperature is only being sent with barometer data
2020-09-28 12:56:56 -04:00
Daniel Agar 828134c56f sensor_calibration: add link dependencies 2020-09-28 12:26:38 -04:00
David Sidrane 529d816a39 px4_fmu-v6x:Support ETM Hardware Trace 2020-09-28 10:59:39 -04:00
PX4 BuildBot 1822a678f6 Update submodule ecl to latest Mon Sep 28 12:39:19 UTC 2020
- ecl in PX4/Firmware (2b34fec0844646d13a57f78dbbed44b53813919e): https://github.com/PX4/ecl/commit/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6
    - ecl current upstream: https://github.com/PX4/ecl/commit/4c2355a63821836bf8801e996d4651dcabe0287f
    - Changes: https://github.com/PX4/ecl/compare/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6...4c2355a63821836bf8801e996d4651dcabe0287f

    4c2355a 2020-09-25 Daniel Agar - EKF: use GPS to lookup declination from WMM before full GPS checks pass
2020-09-28 10:58:33 -04:00
Daniel Agar cf26f24387 msg: add quaternion euler angle pretty print 2020-09-28 10:13:43 -04:00
justas- bb77f55f7b motor_test: Use 1-based motor indexing.
Motors in Px4 ecosystem are indexed using 1-based indexing (Airframe reference, dshot command, etc.) motor_test command is 0-based. This PR changes motor_test to use 1-based indexing.

This PR refers to Github issue #15721.
2020-09-28 10:59:41 +02:00
flochir ec7108892b batt_smbus: fix potential hardfault by checking buffer sizes (#15789)
* Added buffer length check to SMBus::block_read (triggered hardfault in batt_smbus module by writing beyond buffer end due to device returning longer byte_count than requested/expected)

Co-authored-by: Florian Olbrich <florian.olbrich@scarabot.de>
Co-authored-by: Daniel Agar <daniel@agar.ca>
Co-authored-by: BazookaJoe1900 <BazookaJoe1900@gmail.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-09-28 09:41:40 +02:00
Daniel Agar 6a08e16351 Update submodule mavlink v2.0 to latest Sat Sep 26 15:30:19 UTC 2020
- mavlink v2.0 in PX4/Firmware (aab65cdc3261a4ca315d5b91d65e0dd3e39940d0): https://github.com/mavlink/c_library_v2/commit/09524c98db4eb389d3d50f7905a17805b216a9ea
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e3d00c443602ff81cc57123fbc3b50c250b3e9ad
    - Changes: https://github.com/mavlink/c_library_v2/compare/09524c98db4eb389d3d50f7905a17805b216a9ea...e3d00c443602ff81cc57123fbc3b50c250b3e9ad

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-09-26 13:14:25 -04:00
PX4 BuildBot 6df50cb74f Update submodule ecl to latest Sat Sep 26 15:30:31 UTC 2020
- ecl in PX4/Firmware (5784cb6e5eb74fcf07f3da058692c7c2320851b9): https://github.com/PX4/ecl/commit/fab242a81f3836de716b0ed96fcc841360c3a867
    - ecl current upstream: https://github.com/PX4/ecl/commit/6b99ea2a6038c536f92aaa2b7d24ce7962e55df6
    - Changes: https://github.com/PX4/ecl/compare/fab242a81f3836de716b0ed96fcc841360c3a867...6b99ea2a6038c536f92aaa2b7d24ce7962e55df6

    6b99ea2 2020-09-24 Daniel Agar - ECL standalone build improve ECL_INFO/WARN/DEBUG
5879eaa 2020-09-25 bresch - ekf: fix variable length array error
99aafba 2020-09-14 Daniel Agar - README: remove obsolete build status
2020-09-26 13:13:51 -04:00
Tanja Baumann b5ebdb8e41 add system command to get and set system time
* add system_time command for all boards
2020-09-26 13:09:01 -04:00
PX4 BuildBot b5df4f76cc Update submodule nuttx to latest Sat Sep 26 15:30:26 UTC 2020
- nuttx in PX4/Firmware (59f5b841a6646a7ae514ae1139ba18c3f787ceb3): https://github.com/PX4/NuttX/commit/a8b7ca869e08e0ca58f20ae1e5732220ef98846f
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/0fe69f6cc0a6f202b61ff81be0560cafb8f3a89d
    - Changes: https://github.com/PX4/NuttX/compare/a8b7ca869e08e0ca58f20ae1e5732220ef98846f...0fe69f6cc0a6f202b61ff81be0560cafb8f3a89d

    0fe69f6cc0 2020-09-25 David Sidrane - [BACKPORT] stm32f7:serial Bug Fix: Ensure next buffer is processed
2020-09-26 09:47:03 -07:00
Jacob Dahl a24488328f Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Daniel Agar e792c46f20 mavlink: increase stack 2650 -> 2848 bytes (#15821) 2020-09-25 21:42:02 -04:00
Daniel Agar f37d0a85e2 Jenkins: remove remaining SITL tests (MC_avoidance/MC_safe_landing)
- MC_avoidance and MC_safe_landing are currently failing intermittently and will be migrated to Github Actions
2020-09-25 12:28:26 -04:00
Daniel Agar 861e06dfd7 mavlink: handle receiving GENERATOR_STATUS
- only published (ORB_ID(generator_status)) and logged for now
2020-09-25 11:36:58 -04:00
Daniel Agar c57a48682e Tools: ecl analysis handle estimator_innovations/estimator_innovation_variances size inconsistencies 2020-09-25 10:35:01 -04:00
Daniel Agar 2ccf664e95 commander: disarm from safety relax land detector timeout
- ensure land detector is updated before safety is checked
2020-09-25 09:41:53 -04:00
jaeyoung 1dbd7df83b Switch VERBOSE to VERBOSE_SIM
This changes the environment variable `VERBOSE` to `VERBOSE_SIM`, to explicitly state that it configures the verbose output of the simulation
2020-09-25 10:42:35 +02:00
Daniel Agar 60252dde08 Jenkins: SITL tests disable ninja build to reduce build parallelism
- test slaves have limited memory
2020-09-24 15:56:57 -04:00
Daniel Agar bbdc57a662 cmake: remove sitl_gazebo build -j2
- allow ninja build to automatically determine parallelism
2020-09-24 15:56:57 -04:00
Matthias Grob bcbc761bf6 Revert "Change defaults for MPC_LAND_ALT"
This reverts commit 59bd3e9f6e.
2020-09-24 19:18:58 +02:00
Daniel Agar 0dc8bb9c86 uORB: increase ORB_MULTI_MAX_INSTANCES 4 -> 10
- put more realistic bounds on maximum number of battery instances, gps, etc
2020-09-24 11:01:28 -04:00
Daniel Agar f04f0c89ca boards: CUAV Nora/X7pro fix BOARD_DSHOT_MOTOR_ASSIGNMENT
- BOARD_DSHOT_MOTOR_ASSIGNMENT isn't needed if there's no remapping
2020-09-24 10:53:54 -04:00
Daniel Agar 762d925d20 boards: cubepilot orange/yellow fix BOARD_DSHOT_MOTOR_ASSIGNMENT 2020-09-24 10:53:54 -04:00
Matthias Grob 5d47a4c9e0 Commander: fix rc override threshold scaling (#15807)
Improve parameter description for threshold
and lower the threshold a bit.
2020-09-24 14:52:19 +02:00
Daniel Agar 0a607bdc67 boards: CUAV CAN_GPS v1.2 cannode (stm32f412) with UAVCAN bootloader 2020-09-23 14:30:54 -04:00
Daniel Agar 8579b5dd26 uORB: Subscription add copy/move constructor and assignment 2020-09-23 10:04:54 -04:00
Matthias Grob bf248746ce mavlink_messages: cast rotation types for assert 2020-09-23 09:08:23 -04:00
Daniel Agar d5295ef4e1 mavlink: add static asserts to keep MAV_SENSOR_ROTATION in sync with PX4 ROTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 00e955cc3e rotations: sync rotation enum, SENS_BOARD_ROT, CAL_MAGx_ROT with MAV_SENSOR_ORIENTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 8b26b84fd1 Jenkins: hardware disable holybro durandal bootloader update
- this is currently bricking the board
2020-09-21 22:51:11 -04:00
Daniel Agar 43903dcb79 Jenkins: temporarily disable catkin build on ROS workspace 2020-09-21 22:48:33 -04:00
Daniel Agar d676e65294 logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765) 2020-09-21 22:17:31 -04:00
Yashom Dighe 5daca6c2c4 IntrusiveSortedList.hpp: let operator* return a reference
So that clang 12 does not complain:
loop variable 'child' is always a copy because the range of type 'List<ModuleParams *>' does not return a reference

Co-authored-by: Yashom Dighe <yashom7@gmail.com>
2020-09-21 16:55:04 -04:00
Daniel Agar e4a408bc55 cmake nuttx build modify copied nuttx repo .git to point to actual git dir
- this fixes builds that contain a px4io and use the Makefile generator rather than Ninja
2020-09-21 12:39:29 -04:00
Daniel Agar 4d97772756 vscode: SITL debug add gazebo world select 2020-09-21 11:56:25 -04:00
Daniel Agar 2728af4264 boards: cubeorange and cubeyellow disable serial console (used for ADSB on new carrier boards)
- add console builds (cubepilot_cubeorange_console) for hardware test rack and developers
2020-09-21 11:53:49 -04:00
bresch 1141cfa7c6 ekf2_main: reduce update mag bias minimum learning time to 30s
120 seconds of learning time in 3D fusion mode was too long for most normal flights. The learned bias is usually really good after a shorter period and was not used to update the parameters. 30s seems to be a good compromise.
2020-09-21 15:54:24 +02:00
Beat Küng 5ac0c7c799 List.hpp: let operator* return a reference
So that clang 12 does not complain:
loop variable 'child' is always a copy because the range of type 'List<ModuleParams *>' does not return a reference
2020-09-21 09:23:21 -04:00
Daniel Agar 09af5e0637 commander: mag calibration use expected WMM sphere radius to reject samples if GPS is available 2020-09-20 12:22:56 -04:00
bazooka joe 727b0cf530 moved posix airframe files to folder, same as in regullar init.d folder
and add some debugging info when succeeded/fail to find air-frame file
2020-09-19 21:31:39 -04:00
Daniel Agar 940dc9cca0 cmake NuttX build fix path to git dir
- this relative path was incorrect for the px4io when using the Makefile generator and built for inclusion within another build (eg px4_fmu-v5_default)
2020-09-18 21:18:36 -04:00
Daniel Agar abbd335e4e uavcannode: use correct PYTHON_EXECUTABLE and support stm32h7
- sync CMakeLists.txt with drivers/uavcan
2020-09-18 13:03:07 -04:00
Daniel Agar d61fd0e4ca update all px4-dev-base and px4-dev-nuttx container usage uniformly 2020-09-18 13:03:07 -04:00
Daniel Agar 41a2fe5bdf gitmodules update NuttX branches 2020-09-18 12:10:34 -04:00
Beat Küng 5fdff6a0e4 i2c drivers: add '-k' flag for keep_running directly to BusCLIArguments 2020-09-18 09:45:06 -04:00
Beat Küng 1bf030e8ba lps33hw: refactor and add -k flag to keep running even if no sensor found 2020-09-18 09:45:06 -04:00
jaeyoung 24adf36097 Add jsbsim multirotor targets to cmake 2020-09-18 10:25:52 +02:00
Beat Küng f106e6b266 param: add 'param show-for-airframe' command
- simplifies creation of an airframe config
- could be done from QGC, but it only knows if a param is non-default from
  metadata, which can be incorrect/missing information
- for the list of exceptions we could look at '@category', but we don't have
  that info in the build
- there might be some more exceptions to be added
2020-09-18 09:03:29 +02:00
JaeyoungLim 458420f9cb Add jsbsim bridge to enable jsbsim for px4 SITL on jsbsim (#15748)
* Add jsbsim bridge to enable jsbsim for px4 SITL/HIL on jsbsim

This is a PX4 HIL/SITL integration into JSBSim. JSBSim is an open source flight dynamics model (http://jsbsim.sourceforge.net/)

Currently there are three models available which is the rascal, quadrotor_x, hexarotor_x integrated into the bridge.

The simulation can be run with the firmware with the following command for example
```
make px4_sitl jsbsim_rascal
```

The visualization is done flightgear and is done by the bridge sending UDP packets to flightgear. To disable the visualization `HEADLESS=1` when running the make command.

The simulation can be configured through the configuration files under the `config` directory through a xml file. Senor configurations,  The xml file name should match the name of the model.

* Update Tools/sitl_run.sh

Co-authored-by: Beat Küng <beat-kueng@gmx.net>

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-09-17 20:32:42 +02:00
David Sidrane c5f479dac7 uvify_core: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 240dfaa515 spracing_h7extreme: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c7642288db px4_fmu-v6x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1a51a84130 px4_fmu-v6x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane b83fdfda37 px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 733c1b747b px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 075690af9d px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 8e3ba3b0b3 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane d2e7542e39 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane dab2069f53 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane e3f5af4887 px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 8a3f4f285a px4_fmu-v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane ccc439504d px4_fmu-v4pro: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane f5fca39253 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 3457c30ab3 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 7a50f00b00 px4_fmu-v4: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 347ab5daaa px4_fmu-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c620059076 px4_fmu-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 42b466dc45 px4_fmu-v2: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 4bc698e8e3 omnibus_f4sd: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 65ddf98d76 nxp_rddrone-uavcan146: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 94b5c961bc nxp_fmurt1062-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane a7365100f4 nxp_fmuk66-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1936ead0b4 nxp_fmuk66-v3: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 3f82b19fc7 nxp_fmuk66-e: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane afad60a0bc nxp_fmuk66-e: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 00b4807443 mro_x21: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 4f5c88fc89 mro_x21-777: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 1e55ce0839 mro_ctrl-zero-f7: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 05a415cf4a modalai_fc-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 0727db04a3 intel_aerofc-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 15c8a26a21 holybro_pix32v5: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane f77bf7f475 holybro_kakutef7: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 6681b1ac44 holybro_durandal-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 5dc5ef664f holybro_durandal-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane fc5caf382c cubepilot_cubeyellow: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 0d9d1e79e8 cubepilot_cubeorange: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 5c95d8876a cuav_x7pro: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 9bd88c34a9 cuav_nora: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 9106386613 bitcraze_crazyflie: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane aa463e31b4 av_x-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 34d1fcc704 airmind_mindpx-v2: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c17a0ebacf holybro_durandal-v1:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 848b0ea88c cuav_x7pro:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 2745ffe946 cuav_nora:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 72c681134d px4_fmu-v6x:Add support for DMA on SPI6 2020-09-16 21:32:04 -04:00
David Sidrane 768ed297f2 uavcan_stm32h7:Support is by Family Not Chip/pacakge 2020-09-16 21:32:04 -04:00
David Sidrane f0b8bc9dd6 run-shellcheck appease shell check 2020-09-16 21:32:04 -04:00
David Sidrane f3c2ed5eb6 ROMFS/CMakeLists appease shell check 2020-09-16 21:32:04 -04:00
David Sidrane 6e1078c96e NuttX-Posix least bad LGD
Nuttx now supports sh and source (.)
   sh will open a new process for each invocation.
   This means the child can not modify the parent
   env. So we must use . to matain how nuttx worked.

   Since rc.vehicle_setup is used in both we use
   source and alis as we did with sh.
2020-09-16 21:32:04 -04:00
David Sidrane 323dd389fe vehicle_imu:VehicleIMU Fix style issues 2020-09-16 21:32:04 -04:00
David Sidrane d437379142 spracing_h7extreme:qspi Fix style issues 2020-09-16 21:32:04 -04:00
David Sidrane 59ba09d73c CI use 2020-08-14 with gcc 9.3.1 2020-09-16 21:32:04 -04:00
David Sidrane 760f2ecb22 LoadMon:track upstream malloc changes 2020-09-16 21:32:04 -04:00
David Sidrane c948d41284 up_cxxinitialize:is now automatic in task start 2020-09-16 21:32:04 -04:00
David Sidrane 185ffe9e13 nsh scripting:source (.) cmd supported 2020-09-16 21:32:04 -04:00
David Sidrane df30f29a55 NuttX/Make.defs.in Support PROBEs 2020-09-16 21:32:04 -04:00
David Sidrane fbf110f6be Use EXTRAFLAGS instead of EXTRADEFINES 2020-09-16 21:32:04 -04:00
David Sidrane b2a31e15da common:board_crashdump.c track upstream API change 2020-09-16 21:32:04 -04:00
David Sidrane f77fc690c7 hott:Fix compiler error array bound is unknown
This fixes error: variable-length array bound is unknown [-Werror=vla-larger-than=]
   with gcc 9.1
2020-09-16 21:32:04 -04:00
David Sidrane e3e7cb4158 PX4 add compiler dependent: disable no-stringop-truncation 2020-09-16 21:32:04 -04:00
David Sidrane c49c767d78 NuttX add compiler dependent: disable no-stringop-truncation 2020-09-16 21:32:04 -04:00
David Sidrane 4d64065422 NuttX:Make.defs.in fix macro to not kill flock 2020-09-16 21:32:04 -04:00
David Sidrane 852d5ceb22 NuttX CMakeLists build .version file in build 2020-09-16 21:32:04 -04:00
David Sidrane 68e3fd9f37 cpuload Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 06d030b6d9 px4iofirmware Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane b32aab2d0f platform Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 97c17d5d4a uvify_core Updates for NuttX 9.1.0-
uvify_core: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f9adf861dc spracing_h7extreme Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 8cb1fe5a54 px4_io-v2 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane f870594f1d px4_fmu-v6x Updates for NuttX 9.1.0-
px4_fmu-v6x: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane acea295d5a px4_fmu-v5x Updates for NuttX 9.1.0-
px4_fmu-v5x: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane b52e10720e px4_fmu-v5 Updates for NuttX 9.1.0-
px4_fmu-v5: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f98d10bf15 px4_fmu-v4pro Updates for NuttX 9.1.0-
px4_fmu-v4pro: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 9986f63321 px4_fmu-v4 Updates for NuttX 9.1.0-
px4_fmu-v4: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 0da14887d0 px4_fmu-v3 Updates for NuttX 9.1.0-
px4_fmu-v3: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 77ce7b2457 px4_fmu-v2 Updates for NuttX 9.1.0-
px4_fmu-v2: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 9a19340dc3 omnibus_f4sd Updates for NuttX 9.1.0-
omnibus_f4sd: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 1285c79b6b kinetis uavcan_drivers Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane ddacf357a7 nxp_rddrone-uavcan146 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 5698bc254a nxp_fmurt1062-v1:Track PX4 Sensor changes 2020-09-16 21:32:04 -04:00
David Sidrane 1abe88df61 nxp_fmurt1062-v1 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane aa67fbdbcb nxp_fmuk66-e: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane 8a673c8a3d nxp_fmuk66-v3 Updates for NuttX 9.1.0-
nxp_fmuk66-v3: defconfig MMCSD enable multiblock

nxp_fmuk66-v1:Disable multiblock as it fails
2020-09-16 21:32:04 -04:00
David Sidrane aa1cb370e4 mro_x21 Updates for NuttX 9.1.0-
mro_x21: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c9a323ebcc mro_x21-777 Updates for NuttX 9.1.0-
mro_x21-777: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 2550d6f7c1 mro_ctrl-zero-f7 Updates for NuttX 9.1.0-
mro_ctrl-zero-f7: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c8ef85c090 modalai_fc-v1 Updates for NuttX 9.1.0-
modalai_fc-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 20398c3933 intel_aerofc-v1 Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane c2419e7f3d holybro_pix32v5: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane abe9f1a768 holybro_kakutef7 Updates for NuttX 9.1.0-
holybro_kakutef7: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 59f914427c holybro_durandal-v1 Updates for NuttX 9.1.0-
holybro_durandal-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane f21925f976 cubepilot_io-v2: Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane e8e463b875 cubepilot_cubeyellow Updates for NuttX 9.1.0-
cubepilot_cubeyellow: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 5691bf1dee cubepilot_cubeorange Updates for NuttX 9.1.0-
cubepilot_cubeorange: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane e16efd9643 cuav_x7pro Updates for NuttX 9.1.0-
cuav_x7pro: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 93e3b52515 cuav_nora Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
David Sidrane b8db1e6380 bitcraze_crazyflie Updates for NuttX 9.1.0-
bitcraze_crazyflie: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane e487833347 av_x-v1 Updates for NuttX 9.1.0-
av_x-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane 8e97ae323e airmind_mindpx-v2 Updates for NuttX 9.1.0-
airmind_mindpx-v2: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane c57024e6bb NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
Julian Oes 720784b9e9 workflows: update MAVSDK used for SITL test 2020-09-16 12:51:56 -04:00
Julian Oes 44b4a6eb74 mavsdk_tests: increase time for manual tests 2020-09-16 12:51:56 -04:00
Julian Oes 9ed07a7873 simulator: fix temperature setting after rebase 2020-09-16 12:51:56 -04:00
Julian Oes e7651c94f6 mavsdk_tests: use custom rootfs, reset it
Instead of messing with existing params, use a separate rootfs for
tests, as suggested by @bkueng.
2020-09-16 12:51:56 -04:00
Julian Oes 517114042a failure: use time literal 2020-09-16 12:51:56 -04:00
Julian Oes a37b839e27 simulator: add missing timestamp 2020-09-16 12:51:56 -04:00
Julian Oes b1219811c5 mavlink: SYS_FAILURE_EN is just a bool
Thanks @bkueng for the review comment.
2020-09-16 12:51:56 -04:00
Julian Oes 012763e5f1 mavsdk_tests: fly forward a bit longer
Hopefully, that's long enough for slow VTOLs.
2020-09-16 12:51:56 -04:00
Julian Oes b4ac50ced4 failure: add missing command usage docstring 2020-09-16 12:51:56 -04:00
Julian Oes 58b4135ab0 mavsdk_tests: wait even longer
Again, hopefully that's enough.
2020-09-16 12:51:56 -04:00
Julian Oes a299e2c57d mavsdk_tests: fly forward even longer
Hopefully that's enough.
2020-09-16 12:51:56 -04:00
Julian Oes 4c00c1f561 mavsdk_tests: add missing switch to POSCTL 2020-09-16 12:51:56 -04:00
Julian Oes bbef07bc80 mavsdk_tests: init RC with throttle centered 2020-09-16 12:51:56 -04:00
Julian Oes c26b769cc0 mavsdk_tests: add missing type annotation 2020-09-16 12:51:56 -04:00
Julian Oes d2cb27e0de mavsdk_tests: try with faster RC rate 2020-09-16 12:51:56 -04:00
Julian Oes f8f03835ad mavsdk_tests: increase timeouts yet again
This is after using PX4 time to check for timeouts.
2020-09-16 12:51:56 -04:00
Julian Oes 3135b94980 mavsdk_tests: use PX4 time for timeouts
This way we are less dependent on CPU load of the host.
2020-09-16 12:51:56 -04:00
Julian Oes ca0f26a003 mavsdk_tests: added posctl/altctl test 2020-09-16 12:51:56 -04:00
Julian Oes 0a7dcf26d5 mavsdk_tests: clean up includes 2020-09-16 12:51:56 -04:00
Julian Oes 630a6f3810 mavsdk_tests: clear params between test cases 2020-09-16 12:51:56 -04:00
Julian Oes a5a577a6c4 mavsdk_tests: use speed factor, increase timeouts
We had not actually properly adjusted the timeout to the lockstep speed
factor. Once we did that, we had to increase the timeouts quite a bit to
have the tests pass.
2020-09-16 12:51:56 -04:00
Julian Oes 4eb1ea10f0 mavsdk_tests: don't block inside of callback
This is required with MAVSDK v0.29.0 and later!
2020-09-16 12:51:56 -04:00
Julian Oes 8d3f1e63f0 mavsdk_tests: use all os env vars by default 2020-09-16 12:51:56 -04:00
Julian Oes 55d2bdc438 mavsdk_tests: adapt to changed inject API
We now need to say which instance, for now it's all instances.
2020-09-16 12:51:56 -04:00
Julian Oes 06ad0de5eb workflows: move to MAVSDK v0.29.0 2020-09-16 12:51:56 -04:00
Julian Oes ed357cf356 mavsdk_tests: move math things to separate header 2020-09-16 12:51:56 -04:00
Julian Oes 1eaceb17dc mavsdk_tests: adjust timeouts by lockstep speed up 2020-09-16 12:51:56 -04:00
Julian Oes 4d76ed34f3 simulator: update temperature in sync with baro
This fixes the case where the baro was not rejected if stuck because the
temperature still varied.
2020-09-16 12:51:56 -04:00
Julian Oes 20621e6744 mavsdk_tests: add tests for GPS as height source 2020-09-16 12:51:56 -04:00
Julian Oes c31246e13a mavsdk_tests: add test for stuck mag 2020-09-16 12:51:56 -04:00
Julian Oes afcfa2fbe0 mavsdk_tests: check for stuck baro 2020-09-16 12:51:56 -04:00
Julian Oes a05ad9c64c mavsdk_tests: add wildcards for case filtering 2020-09-16 12:51:56 -04:00
Julian Oes c4efcbf895 mavsdk_tests: check for baro failure in mission 2020-09-16 12:51:56 -04:00
Julian Oes 8d6ebf15b6 mavsdk_tests: test for losing mag during mission 2020-09-16 12:51:56 -04:00
Julian Oes ef7e4531f9 mavsdk_tests: enable GPS lost test for VTOL
This is in multicopter mode only for now though.
2020-09-16 12:51:56 -04:00
Julian Oes 3c499fc3a2 mavsdk_tests: add first GPS lost failsafe test 2020-09-16 12:51:56 -04:00
Julian Oes db87ba3a1c systemcmds: add new failure command
This adds a new systemcmd to inject failures into the system.
2020-09-16 12:51:56 -04:00
Julian Oes a9c4f269bd simulator: use failure injection to block GPS
This uses the new failure injection system using vehicle_commands
instead of specific parameters. For now it implements GPS only.
2020-09-16 12:51:56 -04:00
Julian Oes 53b14233a2 mavlink: handle failure injection commands
This adds handling of MAVLink failure injection commands. An
additional parameter is added as a guard to prevent triggering any
failures by accident.
2020-09-16 12:51:56 -04:00
Daniel Agar 12ab762adc sensor_calibration: silence error if priority is -1 (uninitialized parameter value) 2020-09-16 12:32:40 -04:00
Daniel Agar 033f74b1c8 sitl_run.sh remove xtrace leftover from debugging 2020-09-16 10:43:29 -04:00
Peter van der Perk aaea6b3f3b Add FMUK66-V3 RTPS target to CI 2020-09-16 09:42:34 -04:00
Peter van der Perk 0caad08dd5 Added RTPS target for FMUK66-V3 2020-09-16 09:42:34 -04:00
Beat Küng abf5c2b301 ROMFS/CMakeLists.txt: change dependencies
- moves process airframe deps to the tar generation, to ensure whenever
  airframes are processed, the tar is extracted first.
  This is required, because if the airframe processing is done on pruned
  ROMFS, it's missing the tags.
- avoid using init.d/rcS in dependencies, use a separate file instead.
  This is because pruning modifies the rcS, and the next rebuild was
  seeing a changed rcS, resulting in unnecessary regeneration.
2020-09-16 09:30:58 -04:00
Daniel Agar 2b18b05a8a vscode updates and improvements
- fix gazebo SITL debug
     - now prompts you to select vehicle
 - devcontainer.json container support https://code.visualstudio.com/docs/remote/containers
     - this allows you to jump straight into working within a container (px4-dev-nuttx) on a fresh machine
     - also helps with Codespaces https://github.com/features/codespaces
 - plugin updates
    - cpp extension pack, spell checking, CTest support
 - cleanup intellisense
     - the backup tag parser was a resource hog and didn't work very well
 - fix problemMatcher support so that you can click on a build failure
2020-09-16 09:07:54 -04:00
Nicolas MARTIN 504730386a fix COM_ARM_AUTH comment 2020-09-15 22:12:55 -04:00
Daniel Agar 0e9a4cc65f boards: px4/sitl sync all build variants and fix none default package 2020-09-15 21:13:04 -04:00
Daniel Agar 5e4e4a4573 boards: aerotenna ocpoc fix package (new ROMFSROOT was missing) 2020-09-15 21:13:04 -04:00
Daniel Agar c41f053c7b vehicle_imu/vehicle_magnetometer add calibration indicator to message
- vehicle_imu/vehicle_magnetometer add monotonically increasing `calibration_count` field so that downstream subscribers are aware of calibration changes
2020-09-15 13:12:57 -04:00
Daniel Agar 87471a988d land_detector: use hover thrust if it was valid recently
- the hover thrust estimate will often invalidate upon ground contact, but before the land detector ground_contact triggers
 - use same time throughout call to avoid subtle timing surprises
2020-09-15 10:17:25 -04:00
Daniel Agar dc507ee544 sensors: add SENS_MAG_MODE to optionally publish all magnetometers 2020-09-15 10:15:39 -04:00
Daniel Agar a04412fc1f sensors: add SENS_IMU_MODE to optionally skip IMU voting/selection 2020-09-15 10:15:39 -04:00
Mirko Denecke 5ebc4d31da CubeOrange and CubeYellow IMU heating fix 2020-09-15 10:08:58 -04:00
Beat Küng ef55680ab1 sitl: enable EMBEDDED_METADATA to add parameter metadata to ROMFS 2020-09-15 09:30:16 +02:00
Beat Küng 0a061160f7 cmake px4_add_board: add EMBEDDED_METADATA
Allowing to put additional metadata into the ROMFS, the first is
parameters.json.gz.
2020-09-15 09:30:16 +02:00
Beat Küng d5b8f6cdf9 sitl_run.sh: cleanup, kill jmavsim only if $program == jmavsim 2020-09-15 09:30:16 +02:00
Beat Küng 055fa768d8 posix: enable ROMFSROOT
This will copy the ROMFS into the build directory under etc/, and thus
needs a change of the PX4 startup parameters and mixer paths.
2020-09-15 09:30:16 +02:00
Beat Küng d3362f38d1 parameters: add parameters.json.gz as output 2020-09-15 09:30:16 +02:00
Beat Küng 809d05053b posix: add support for ROMFSROOT
- add missing ROMFS files to CMakeLists.txt
- rename genromfs to etc, so that it's clearer for SITL use
2020-09-15 09:30:16 +02:00
SalimTerryLi 28a6e82698 Introduce new generic ADC driver for ADS1115 chip (#14437) 2020-09-14 11:03:40 -04:00
Ricardo Marques c15efea429 mavlink: publish ESC_INFO and ESC_STATUS
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-09-14 09:38:44 -04:00
flbernier 0ece66dc80 Add a internal start for rgbled_ncp5623c on fmu-v2 v3 v4pro 2020-09-14 09:31:31 -04:00
JaeyoungLim 0592f6ba6e Support gliding setpoints for autonomous soaring (#14643)
* Enable offboard gliding position setpoints

Adds a capability to make the vehicle glide when given position setpoints.

Gliding setpoints are enabled by setting POSITION_TARGET_TYPEMASK_Z_IGNORE, POSITION_TARGET_TYPEMASK_VZ_IGNORE,  POSITION_TARGET_TYPEMASK_AZ_IGNORE on the typemask of position setpoints.
Include zero cruising throttle
Invalid setpoints with nan

* Handle nans for curise_throttle
2020-09-14 10:56:29 +02:00
PX4 BuildBot 8bc512dc93 Update submodule sitl_gazebo to latest Mon Sep 14 00:39:41 UTC 2020
- sitl_gazebo in PX4/Firmware (ac732cdeba): https://github.com/PX4/sitl_gazebo/commit/78bba3f25e7e240bf70878bd007dfd77b33440c1
    - sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/9d2b19784cb34bf8f397ab2e2f368f682f2d5d5a
    - Changes: https://github.com/PX4/sitl_gazebo/compare/78bba3f25e7e240bf70878bd007dfd77b33440c1...9d2b19784cb34bf8f397ab2e2f368f682f2d5d5a

    9d2b197 2020-09-12 JaeyoungLim - Use jinja templates for standard_vtol and plane model (#590)
01587e6 2020-09-12 Lorenz Meier - Include GLib2 properly The previous approach did not actually search for glib2 in the system but hardcoded the name.
e49fac5 2020-09-12 bazooka joe - cleanups: rename class vars to be with underscore
6fb9bd9 2020-09-12 bazooka joe - move initializers to h file
29999c6 2020-09-12 JaeyoungLim - Update boat gps sensor (#595)
a208640 2020-09-09 petertheprocess - fix the rudder deflection bug. (#588)
2020-09-13 21:41:22 -04:00
PX4 BuildBot 1ad2e85475 Update submodule ecl to latest Mon Sep 14 00:39:58 UTC 2020
- ecl in PX4/Firmware (3011684f9154975f4db1581d9466524a02d4cbf3): https://github.com/PX4/ecl/commit/a204c599903e6a462cab17bee061d4418a8b6b53
    - ecl current upstream: https://github.com/PX4/ecl/commit/fab242a81f3836de716b0ed96fcc841360c3a867
    - Changes: https://github.com/PX4/ecl/compare/a204c599903e6a462cab17bee061d4418a8b6b53...fab242a81f3836de716b0ed96fcc841360c3a867

    fab242a 2020-09-06 Daniel Agar - python generation add shebang, mark executable, ignore cache
2020-09-13 21:37:01 -04:00
Daniel Agar 2b04ae3a05 Update submodule mavlink v2.0 to latest Mon Sep 14 00:39:47 UTC 2020
- mavlink v2.0 in PX4/Firmware (8d63bbe7d06ac13a5e78905886cfa51a53d0de92): https://github.com/mavlink/c_library_v2/commit/efc2a1fa7e1c7814ca7b65f484f6e9968cb8f1c8
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/09524c98db4eb389d3d50f7905a17805b216a9ea
    - Changes: https://github.com/mavlink/c_library_v2/compare/efc2a1fa7e1c7814ca7b65f484f6e9968cb8f1c8...09524c98db4eb389d3d50f7905a17805b216a9ea

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-09-13 21:23:46 -04:00
Daniel Agar 13db2ebb2b accel/gyro/mag calibration set default priority uninitialized
- this allows the default priority to be set differently for internal/external sensors
 - accel and gyro initialize default priority like mag in preparation for fully supporting external sensors
 - fixes #15652
2020-09-13 21:02:53 -04:00
Daniel Agar d70e183f5b commander: sensor calibration check parameter save success 2020-09-13 21:00:40 -04:00
Daniel Agar 04214a347e lib/sensor_calibration: check param save success and comment helpers 2020-09-13 21:00:40 -04:00
Mirko Denecke ac732cdeba STM32H7 CAN: fix uninitialized pending variable 2020-09-13 18:58:57 -04:00
Beat Küng 2b0396d5df gps: use px4::atomic instead of volatile 2020-09-13 18:31:37 -04:00
Beat Küng e906106ea2 gps: fix memory leak on module exit (delete _helper) 2020-09-13 18:31:37 -04:00
Beat Küng 2956aa340e module: increase max timeout for stopping modules from 2s to 5s
The gps module might take up to 4s to stop (if stopped during module
configuration).
2020-09-13 18:31:37 -04:00
Thies Lennart Alff 531242468e fixed erroneous task_spawn 2020-09-13 18:31:02 -04:00
Daniel Agar 198466306e boards: airmind mindpx-v2 fix internal qmc5883l rotation 2020-09-13 18:28:31 -04:00
Morten Fyhn Amundsen cfe4982023 mavlink_messages: Subscribe to all distance_sensor instances
This will make all distance_sensor messages be published to
mavlink. Previously, if you ran multiple distance_sensor publishers,
typically multiple distance sensors, then you'd only get one of them
on mavlink.

The modifications to MavlinkStreamDistanceSensor are based on
MavlinkStreamBatteryStatus, which already exists with multi-instance
subscription and streaming to mavlink.

Use SubscriptionMultiArray

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-09-13 12:42:07 -04:00
Jaeyoung-Lim 0d4d21cd67 Allow gzserver verbose options through command line
Allows verbose option for gzserver with VERBOS=1 on command line.
2020-09-12 20:19:21 +02:00
CarlOlsson 2128679ab3 rename templates/module to templates/template_module 2020-09-11 09:21:33 +02:00
Quentin PERROT 9116acc431 change message critical state for arm authorization 2020-09-09 08:59:21 +02:00
Matthias Grob c6e2722b8f param: remove reset_nostart
Since we have reset_excludes and SYS_AUTOSTART and SYS_AUTOCONFIG
can be excluded like every other parameter.
2020-09-08 12:03:41 +02:00
Matthias Grob ce9954a919 param: enable reseting specific parameters from shell
Renaming previous "param reset" to "param reset_all".
2020-09-08 12:03:41 +02:00
Matthias Grob f70dda12a6 failureDetectorCheck: remove string manipulation 2020-09-08 11:42:30 +02:00
Matthias Grob 5eba25d2b5 Commander: remove duplicate flag changes 2020-09-08 11:42:30 +02:00
Matthias Grob ab17b6bad4 failureDetectorCheck: revise messageing 2020-09-08 11:42:30 +02:00
Matthias Grob 981e05c633 FailureDetector: move esc topic check into esc status update 2020-09-08 11:42:30 +02:00
Matthias Grob c180e09b9a FailureDetector: replace resetAttitudeStatus 2020-09-08 11:42:30 +02:00
Matthias Grob 390edb770d Commander: separate failure detector cases
One case could lead to the action for the other!
2020-09-08 11:42:30 +02:00
Matthias Grob f47bb95b26 FailureDetector: remove obsolete bit switch checks 2020-09-08 11:42:30 +02:00
Matthias Grob c9b81eaf08 FailureDetector: simplify updated/changed check 2020-09-08 11:42:30 +02:00
Matthias Grob 2bb5917188 FailureDetector: refactor naming, member order 2020-09-08 11:42:30 +02:00
Matthias Grob 25cdb383c6 Commander: simplify main failure detector condition 2020-09-08 11:42:30 +02:00
SalimTerryLi c037dbef21 Rename and move src/drivers/adc to src/drivers/adc/board_adc 2020-09-07 23:09:20 -04:00
avionicsanonymous df38e3798c UAVCAN Rangefinder Support (#15097) 2020-09-07 19:22:08 -04:00
David Sidrane 6c4a1d01c1 NuttX Critical STM32H7 Interrupt Storm on I2C 2020-09-07 15:15:52 -04:00
Dusan Zivkovic fa1a0b848b FlightTaskAuto: update waypoints on every iteration when in offtrack state 2020-09-07 19:25:10 +02:00
bresch db25f20120 ekf2: move "using" keywords to cpp 2020-09-07 09:42:56 -04:00
Daniel Agar 60d613ea04 sensors: sensor_preflight_imu -> sensors_status_imu and run continuously
- inconsistency checks now run continuously instead of only preflight
 - keep inconsistencies for all sensors
 - add per sensor data validator state as overall health flag
2020-09-06 22:06:13 -04:00
PX4 BuildBot d4ecf24bf2 Update submodule ecl to latest Sun Sep 6 12:39:41 UTC 2020
- ecl in PX4/Firmware (2a6181e31fd47fc99f42c6fea4d2186cda1196f0): https://github.com/PX4/ecl/commit/264c8c4e8681704e4719d0a03b848df8617c0863
    - ecl current upstream: https://github.com/PX4/ecl/commit/a204c599903e6a462cab17bee061d4418a8b6b53
    - Changes: https://github.com/PX4/ecl/compare/264c8c4e8681704e4719d0a03b848df8617c0863...a204c599903e6a462cab17bee061d4418a8b6b53

    a204c59 2020-09-05 rjgritter - WindEstimator: Fix incorrect _state accessing, clarify enums (#906)
2020-09-06 20:08:41 -04:00
Daniel Agar 4e8775a584 Jenkins: temporarily disable MC safe landing SITL test
- the MC safe landing SITL test continues to fail intermittently so I'm disabling it for now
2020-09-06 19:47:10 -04:00
Daniel Agar ca9b6bc137 commander: quick mag cal with fixed heading use MAV_CMD_FIXED_MAG_CAL_YAW message
- use proper Mavlink MAV_CMD_FIXED_MAG_CAL_YAW command for initiating magnetometer quick cal
 - MAV_CMD_FIXED_MAG_CAL_YAW allows specifying the yaw and optionally latitude and longitude if the vehicle doesn't have GPS
2020-09-06 19:25:11 -04:00
Daniel Agar 1ac31100cc commander: HITL skip auto disarm if lockdown
- auto disarm when locked down was added in #14766 to prevent user confusion in regular usage, but also breaks HITL where lockdown is enabled for safety
 - fixes #15686
2020-09-06 18:38:05 -04:00
Daniel Agar 3fa9ff6d20 boards: px4_fmu-v5_debug increase LPWORK stack 1632 -> 1728 bytes 2020-09-06 18:36:30 -04:00
Daniel Agar dfa82b58fd msg/tools/uorb_to_ros_msgs.py set executable 2020-09-06 23:31:52 +02:00
Daniel Agar cea1a19fe6 NuttX sched notes add C linkage 2020-09-06 19:18:42 +02:00
SalimTerryLi af84f449c7 isentek/ist8310: support starting with custom i2c address 2020-09-06 09:06:05 -04:00
Daniel Agar 023f6d3983 NuttX cpuload monitoring optimization
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
 - convert cpuload and print load to c++
 - delete unused fields from print_load struct
 - update hrt_store_absolute_time (previous unused)
2020-09-05 14:35:50 -04:00
Nicolas MARTIN a9798454cd temperature compensation: change sensor id not found message 2020-09-05 13:27:42 -04:00
Nicolas MARTIN 4addf8ec3e thermal calibrtation: do not calibrate sensor without temperature sensor 2020-09-05 13:27:42 -04:00
Jonathan Hahn 7e5e8259f3 fw_pos_control_l1: fix swapped TECS time parameters (#15685)
Co-authored-by: Jonathan Hahn <hahn@wingcopter.com>
2020-09-04 15:11:31 -04:00
Daniel Agar f7c364de37 Jenkins hardware print estimator and sensor messages 2020-09-04 10:48:26 -04:00
Daniel Agar e5879f1bb6 estimator_sensor_bias: add bias variance 2020-09-04 10:48:26 -04:00
Daniel Agar c54a0ff0c7 estimator_status: add device ids for accel/baro/gyro/mag 2020-09-04 10:48:26 -04:00
Daniel Agar 20c2fe6d28 estimator messages add explicit timestamp_sample
- timestamp is uORB publication metadata
 - this allows us to see what the system saw at publication time plus the latency in estimation
2020-09-04 10:48:26 -04:00
Daniel Agar 09666c324f msg: add mag device id pretty print decode 2020-09-04 10:48:26 -04:00
Daniel Agar 9215fb57a2 ekf2: advertise immediately to ensure consistent uORB instance numbering 2020-09-04 10:48:26 -04:00
Daniel Agar 9ccc1db649 estimator_status split out estimator_states 2020-09-04 10:48:26 -04:00
Daniel Agar 33a7fed240 ekf2: split out header and rename 2020-09-04 10:48:26 -04:00
Daniel Agar 4879a4e2ef ekf2: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar 59e66e5be9 sensors/vehicle_acceleration: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar ee88561a33 sensors/vehicle_angular_velocity: use single uORB::Subscription, but change instance 2020-09-03 15:41:33 -04:00
Daniel Agar 94f7b50970 uORB: add Subscription method to change instance 2020-09-03 15:41:33 -04:00
Beat Küng 787f9c1213 i2c: use board-specific bus numbering for '-X -b <bus>' CLI
As boards don't have their external buses labeled consistently, it was not
useful to use an abstraction.
2020-09-03 15:32:35 -04:00
David Sidrane fdcd9b2de1 npx_fmurt1062-v1:CONFIG_BOARD_CRASHDUMP is not supported 2020-09-03 14:55:09 +02:00
David Sidrane 5d5a767143 npx_fmuk66:CONFIG_BOARD_CRASHDUMP is not supported 2020-09-03 14:55:09 +02:00
David Sidrane 7f91e41f67 hardfault_log:Add Fault Status registers 2020-09-03 14:55:09 +02:00
Daniel Agar bf41574b1d isentek/ist8308: set sensor_mag error count and fix bitwise AND 2020-09-03 07:50:43 +02:00
Daniel Agar 19b43b5e9c uORB:: SubscriptionMultiArray fix construction argument
- uORB::SubscriptionInterval construction requires the interval THEN the instance
2020-09-03 07:49:57 +02:00
Daniel Agar 24125b3da4 magnetometer/qmc5883l: cleanup/rewrite driver (#14384) 2020-09-02 13:16:27 -04:00
Daniel Agar 7569722821 iSentek IST8310 magnetometer rewrite
- simple state machine to reset, configure, etc
 - checked register mechanism (sensor will reset itself on configuration error)
 - configured in 16 bit mode (1320 LSB/Gauss instead of 330 LSB/Gauss)
 - adjusted orientation handling in driver to match datasheet as closely as possible
     - in many external compass units the rotation was wrong and very difficult to actual determine how to set correctly
2020-09-02 13:14:45 -04:00
Daniel Agar 6ff361479c uORB: introduce SubscriptionMultiArray for working with multi-instances 2020-09-02 12:46:47 -04:00
oneWayOut 71f381ada9 add gazebo VTOL tiltrotor debug target for VSCode SITL 2020-09-02 11:41:01 -04:00
Daniel Agar 5017a7e33a simulator: publish 2 instances of accel/baro/gyro/mag 2020-09-02 10:42:02 -04:00
Daniel Agar 668c16da83 px4_work_queue: reset statistics after each status print 2020-09-02 10:09:13 -04:00
Nuno Marques 86e10afd76 microRTPS agent deploy: split commit subjects and delete src and idl folders before updating them (#15672) 2020-09-02 15:11:25 +02:00
Daniel Agar 7c2bb6a983 Jenkins: hardware increase timeout 2020-09-02 09:00:34 -04:00
TSC21 ba7d19033e replace 'python' with '.' to run the uORB to ROS conversion Python script 2020-09-02 13:38:04 +02:00
TSC21 5ae0291c13 reactivate ROS-related builds 2020-09-02 11:47:34 +02:00
TSC21 ad2b4c81fd update container tags to focal:2020-08-20 2020-09-02 11:47:34 +02:00
gitfishup f3579e473b boards: CUAV Nora enable UAVCAN 2020-09-01 21:16:17 -04:00
Daniel Agar e56dfe6497 rover_pos_control: revert sensor_combined purge
- sensor_combined is only used for scheduling in this module under certain circumstances and should be reviewed and replaced 
 - fixes https://github.com/PX4/Firmware/issues/15628
2020-09-01 21:09:33 -04:00
Daniel Agar dd9676b73e boards: px4/fmu-v5_debug increase interrupt stack 512 -> 768 bytes 2020-09-01 20:04:06 -04:00
Matthias Grob 1d562aaf4a battery: switch to PublicationMulti for battery_status 2020-09-01 10:25:03 +02:00
Matthias Grob d06425d131 analog_battery: fix missing stdio include
This was not a problem before because battery.h
included the adc driver and implicitly snprintf
was defined through there.
2020-09-01 10:25:03 +02:00
Matthias Grob 5bc1df60a2 commander_params: remove some double spaces 2020-09-01 10:25:03 +02:00
Matthias Grob 180c6faf4a syslink_main: remove empty lines and struct keyword 2020-09-01 10:25:03 +02:00
Matthias Grob d82f325f8d ina226/voxlpm: make sure parameter sub is reset
The subscription to parameter updates has to get
copied otherwise the change detection will not get
reset for next time.
2020-09-01 10:25:03 +02:00
Matthias Grob 9c4e26c00c battery: fix parameter migration and clarify 2020-09-01 10:25:03 +02:00
Matthias Grob 0db4881413 BatterySimulator: remove SimulatorBattery
It loads the battery parameters but then overwrites them
with hardcoded values and it breaks the ModuleParams
parent/child hierarchy. Both is undesired.
2020-09-01 10:25:03 +02:00
Daniel Agar 978e35478f logger: add_topic_multi optional specify max multi-instance (#15647) 2020-09-01 09:36:32 +02:00
Daniel Agar cbf21959ab Update submodule mavlink v2.0 to latest Tue Sep 1 00:39:26 UTC 2020
- mavlink v2.0 in PX4/Firmware (0b0d23e8fa): https://github.com/mavlink/c_library_v2/commit/5ad778dea329d40f3cd128aae988986de79d830c
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/7d6be862bca8f733a854bfd6c97f1bb25cdb477c
    - Changes: https://github.com/mavlink/c_library_v2/compare/5ad778dea329d40f3cd128aae988986de79d830c...7d6be862bca8f733a854bfd6c97f1bb25cdb477c
2020-08-31 22:30:52 -04:00
Daniel Agar 0b0d23e8fa process_sensor_caldata.py: skip accel or gyro if temperature is NAN 2020-08-31 07:59:03 -04:00
Daniel Agar fe391c0af8 perf: combine duplicate Knuth/Welford recursive mean 2020-08-31 10:03:56 +02:00
Oleg 172a4e3557 batterry_status: fix checking default v_div 2020-08-30 11:09:59 -04:00
Daniel Agar 9feea0e2fd commander: accel calibration fail early on bad rotations 2020-08-29 11:02:37 -04:00
Daniel Agar 28d52aef1f bosch/bmi088: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
 - accel improve FIFO count check if DRDY isn't available
2020-08-29 11:01:09 -04:00
Daniel Agar a04d79b810 bosch/bmi055: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
2020-08-29 11:01:09 -04:00
Daniel Agar 08ad7850fc rotation: combine duplicates 2020-08-28 18:29:09 -04:00
Daniel Agar 08cfea0b6f commander: mag calibration auto rotation skip all duplicates
- add simple rotation test with corresponding blacklist
2020-08-28 18:29:09 -04:00
Nicolas MARTIN 1dec1e6262 process_sensor_caldata.py: add regularly weighted over temperature fit
the option '--no_resample' allows to disable resampling and have the
previous behavior
2020-08-28 16:39:11 -04:00
Daniel Agar eb46a42400 bosch/bmi055: fix accel temperature reading
- single register output is in 2's complement
2020-08-28 16:01:08 -04:00
CUAVcaijie 536877cf0a boards: add UAVCAN timer override mechanism and CUAV X7 add CAN (#15348)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards

Co-authored-by: honglang <honglang@cuav.net>
2020-08-28 12:16:48 -04:00
bresch 8c0671e93d ll40ls: set default rotation to downwards facing
All the other distance sensors have their default rotation to downwards
facing as well
2020-08-28 12:00:47 -04:00
bresch 644ede5698 distance_sensor: allow setting no rotation (-R 0) 2020-08-28 12:00:47 -04:00
TSC21 98f53c2bc4 microRTPS: extend verbose arg to the timesync 2020-08-28 09:22:36 +02:00
TSC21 d09cb8d1f0 microRTPS: reduce the number of streams on the bus 2020-08-28 09:22:36 +02:00
TSC21 603a4d8955 microRTPS: transport: fix parsing 2020-08-28 09:22:36 +02:00
Oleg a18f22bd91 batterry_status: fix checking default a_per_v 2020-08-27 21:47:27 -04:00
Daniel Agar 8869cb5e4a Update submodule mavlink v2.0 to latest Fri Aug 28 00:39:46 UTC 2020
- mavlink v2.0 in PX4/Firmware (8e37063c7be7279b004a2eb584144e8a080422a9): https://github.com/mavlink/c_library_v2/commit/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/5ad778dea329d40f3cd128aae988986de79d830c
    - Changes: https://github.com/mavlink/c_library_v2/compare/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a...5ad778dea329d40f3cd128aae988986de79d830c
2020-08-27 21:43:47 -04:00
PX4 BuildBot 8ba7bbf3af Update submodule jMAVSim to latest Fri Aug 28 00:39:40 UTC 2020
- jMAVSim in PX4/Firmware (8eb46b0eb8): https://github.com/PX4/jMAVSim/commit/14ce7868fb29b8b05cdecf4e9a76b318839302e9
    - jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/358b6cca4093646eb96e0cb075e45efa8f4a0c48
    - Changes: https://github.com/PX4/jMAVSim/compare/14ce7868fb29b8b05cdecf4e9a76b318839302e9...358b6cca4093646eb96e0cb075e45efa8f4a0c48

    358b6cc 2020-08-24 Hamish Willee - Merge pull request #122 from farhangnaderi/patch-1
42b5cd3 2020-08-23 FARHANG - Update README.md
2020-08-27 21:42:36 -04:00
PX4 BuildBot 67c134303c Update submodule nuttx to latest Fri Aug 28 00:39:53 UTC 2020
- nuttx in PX4/Firmware (f0555571047b18fa503eeac18da586f2dd360c12): https://github.com/PX4/NuttX/commit/925b7b513b8f7b683bfea43923a8beb2a0ad5a61
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/863ed53e3fb1cebbb0832ec28fbc11e16566e89e
    - Changes: https://github.com/PX4/NuttX/compare/925b7b513b8f7b683bfea43923a8beb2a0ad5a61...863ed53e3fb1cebbb0832ec28fbc11e16566e89e

    863ed53e3f 2020-06-15 David Sidrane - [BACKPORT] kinetis:Ethernet fixed & better interrupt management
2020-08-27 21:41:09 -04:00
PX4 BuildBot e54df5c57a Update submodule matrix to latest Fri Aug 28 00:40:08 UTC 2020
- matrix in PX4/Firmware (5d014729e6cce9ca5814b5b803347ea561743cec): https://github.com/PX4/Matrix/commit/25c04553488bb86470592a1cdccac56979bf59bb
    - matrix current upstream: https://github.com/PX4/Matrix/commit/ce6b10b99af722a4e653387d40019a8428d2a54f
    - Changes: https://github.com/PX4/Matrix/compare/25c04553488bb86470592a1cdccac56979bf59bb...ce6b10b99af722a4e653387d40019a8428d2a54f

    ce6b10b 2020-08-27 Julian Oes - Fix clang-tidy warnings
13f092a 2020-08-26 Kamil Ritz - sparse quadratic form
3a5bfb2 2020-08-25 Julian Oes - matrix: inline to prevent multiple definitions (#147)
e101edc 2020-08-24 Julian Oes - Matrix: fix warning if M == N (#146)
cd8ad15 2020-08-24 Morten Fyhn Amundsen - Make wrap() work with integer types (#145)
2020-08-27 21:40:26 -04:00
PX4 BuildBot 10e2ccc1cd Update submodule ecl to latest Fri Aug 28 00:40:03 UTC 2020
- ecl in PX4/Firmware (110860c85d6eaca3f5ac5c38a8a65066fc1e0c31): https://github.com/PX4/ecl/commit/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe
    - ecl current upstream: https://github.com/PX4/ecl/commit/264c8c4e8681704e4719d0a03b848df8617c0863
    - Changes: https://github.com/PX4/ecl/compare/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe...264c8c4e8681704e4719d0a03b848df8617c0863

    264c8c4 2020-08-20 bresch - mag_fusion: mag heading and 3d modes are mutually exclusive
9797e4d 2020-08-22 kamilritz - updateYawInRotMat with hidden rotation sequence handling
419b70e 2020-08-17 kamilritz - Add tests for shouldUse321RotationSequence
4fb4e0c 2020-08-17 kamilritz - Clean euler321 and euler312 code and comment
2be738e 2020-08-15 Kamil Ritz - Add helper function to alter heading in rotation matrices
fdc86c2 2020-08-15 Kamil Ritz - add functions to compute yaw (321 and 312 sequence)
15afa8a 2020-08-15 Kamil Ritz - shouldUse321RotationSequence(const Dcmf& R)
4872f2a 2020-08-15 Kamil Ritz - Remove not used code
0fafd4d 2020-08-15 Kamil Ritz - precompute cos and sin of yaw once before mutliple use
114516b 2020-08-15 Kamil Ritz - Use new added matrix functions
1f637af 2020-08-15 Kamil Ritz - Add const modifier
aa2c77f 2020-08-22 kamilritz - Small cleanup in velposfusion
644e903 2020-08-22 kamilritz - Apply measurementUpdate function
404edde 2020-08-22 kamilritz - Add measurementUpdate function
f6252ff 2020-08-22 kamilritz - small cleanup  in limitDeclination
f62662e 2020-08-21 Daniel Agar - update change_indication for newer WMM tables
802a6d9 2020-08-21 PX4 BuildBot - Update geo_lookup WMM  to latest Fri Aug 21 11:48:14 UTC 2020
2020-08-27 21:38:56 -04:00
Oleg Evseev 8eb46b0eb8 mavlink: check type on instance getting by device or network port
otherwise serial mavlink running in first will occupy default net port 14556 and could be wrongly used for stream configuring instead or udp mavlink running in first will occupy default serial "/dev/ttyS1"and could be wrongly used for stream configuring instead

issue #15558
2020-08-27 17:28:12 +02:00
Matthias Grob 16776ff6fb MultirotorMixer: hotfix [-1,1] scaling
After it was mistakenly rescaled in
26bac78eaf274cf58aacbc239cc8f2e865ba864c#diff-899d35a48340c6065702d4fa77b70f0d
#15563
2020-08-26 20:52:16 -04:00
Matthias Grob d4296dbd3f thoneflow: remove unsupported parameter from getopt optsting 2020-08-26 20:25:31 -04:00
Kabir Mohammed c319bbd6f7 drivers/optical_flow: Thoneflow 3901U Driver
* srcparser.py: Add optical flow subcategory for module docs
* thoneflow : Initial support
2020-08-26 13:10:38 -04:00
David Sidrane 8d2ce355f2 Nuttx Backport add RTR 2020-08-26 13:05:23 +02:00
David Sidrane 622903f7de Nuttx Backport add extern C under cpp 2020-08-26 13:05:23 +02:00
Beat Küng 4088c2581f i2c_spi_buses: add '-q' for quiet startup flag (#14969)
* [WIP] i2c_spi_buses: add '-q' for quiet startup flag

And enable for optional board sensors.

* ROMFS: rc.sensors try starting all optional I2C sensors quietly

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-08-26 08:46:35 +02:00
SalimTerryLi 407ca0a5d3 mavlink command: new option to completely disable hardware flow control (-Z) (#15566) 2020-08-26 08:40:55 +02:00
Daniel Agar 60a7f7f9f2 isentek/ist8308: small style and consistency cleanup 2020-08-25 13:46:04 -04:00
Daniel Agar fb149045e3 drivers/imu/invensense: new ICM42605 IMU driver 2020-08-25 13:07:59 -04:00
Daniel Agar 0ae6da4bb0 Jenkins: microRTPS agent fetch git tags for versioning 2020-08-25 11:12:38 -04:00
Daniel Agar 0e64baa93b parameters: delete unused PARAM_TYPE_STRUCT 2020-08-25 09:59:29 -04:00
Beat Küng b7b23a521a sdp3x: remove reset during init
It is not playing nice with other devices on the same bus.
In particular with the FreeFly RTK GPS: once the reset is sent, the whole
bus is blocked and becomes unusable.
Current understanding is that this device contains another chip on the bus
(apart from the mag+baro+led).

I don't see much use for it either, as we configure everything there is to
configure (just the mode).
2020-08-24 17:55:05 -04:00
Anton Erasmus 1ae579b5d5 Update sitl_run to check for -gen.sdf files (#15232)
Co-authored-by: Anton Erasmus <antonerasm@gmail.com>
2020-08-24 17:01:11 +02:00
Hamish Willee 979243f38f params: make parameter units more consistent (#15502) 2020-08-24 11:33:08 +02:00
px4dev 9cebf3b969 Sbus comment fix, found by George-avy in issue 15253 2020-08-24 09:24:53 +02:00
Daniel Agar 1d0188fc07 logger: add vehicle_acceleration to default topics 2020-08-23 17:38:27 -04:00
Daniel Agar 53b3dfa64e rover_pos_control: remove unused sensor_combined subscription 2020-08-23 17:38:27 -04:00
Daniel Agar a368c7cded muorb: delete unused sensor_combined.h include 2020-08-23 17:38:27 -04:00
Daniel Agar 57721cad9b mavlink: replace sensor_combined with selected vehicle_imu
- check all ORB_MULTI_MAX_INSTANCES possible instances for future expansion
2020-08-23 17:38:27 -04:00
Daniel Agar 1d2e424c4c commander: calibration replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar 2c450280d2 examples/uuv_example_app: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar e8a074dc03 examples/px4_simple_app: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Daniel Agar 1bb4c9d05f frsky_telemetry: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
JaeyoungLim 5c040582db Update sitl_gazebo 2020-08-21 21:49:42 +02:00
Daniel Agar 64f5c64ce9 Update submodule mavlink v2.0 to latest Fri Aug 21 12:39:56 UTC 2020
- mavlink v2.0 in PX4/Firmware (b1cdf94b680613a982d2d2450d91e27205872030): https://github.com/mavlink/c_library_v2/commit/cc7ed13f41931335c1902da445bbdf12f4d66e63
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
    - Changes: https://github.com/mavlink/c_library_v2/compare/cc7ed13f41931335c1902da445bbdf12f4d66e63...171ae1da5e1799235ea7e35f6d34bfe3897d9a9a
2020-08-21 14:22:25 -04:00
PX4 BuildBot 0f27395979 Update submodule ecl to latest Fri Aug 21 12:40:08 UTC 2020
- ecl in PX4/Firmware (a6682c0ce863694761557482556c67747b5d7eeb): https://github.com/PX4/ecl/commit/3ae934544f8b2de01b868d0defea992b1000acc3
    - ecl current upstream: https://github.com/PX4/ecl/commit/bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe
    - Changes: https://github.com/PX4/ecl/compare/3ae934544f8b2de01b868d0defea992b1000acc3...bd0c5fbb976b3ae6fb5eff80da5df3d50f18ffbe

    bd0c5fb 2020-08-20 kamilritz - Update change indication for ekf gsf
2020-08-21 14:04:56 -04:00
Angel 3dd9d2e6db Add copyright info to ina226.h 2020-08-21 13:11:39 -04:00
Daniel Agar 2c3441aa90 boards: reduce CONFIG_NFILE_DESCRIPTORS 15 -> 12
- reduced now that calibration uses uORB::Subscription
 - can likely be reduced further (perhaps < 8) with additional testing
2020-08-21 10:12:13 -04:00
Daniel Agar 4dee5d6a1c commander: level calibration print changes 2020-08-21 10:12:13 -04:00
Daniel Agar ea13bf271d lib/sensor_calibration: Magnetometer catch and fix invalid rotations
- improve status print
2020-08-21 10:12:13 -04:00
Daniel Agar c76cdaf8a8 commander: mag calibration add simple offset only quick cal using GPS & attitude 2020-08-21 10:12:13 -04:00
Daniel Agar f6ad9bdb64 commander: don't set RC lost during calibration 2020-08-21 10:12:13 -04:00
Daniel Agar 5242160a26 commander: accel calibration reduce status length
- this keeps the string within a single Mavlink STATUSTEXT
 - fixes #14829
2020-08-21 10:12:13 -04:00
Daniel Agar d824706571 commander: mag calibration keep manually configured special rotations
- ROTATION_PITCH_9_YAW_180 and ROTATION_ROLL_90_PITCH_68_YAW_293 are
kept if manually configured
2020-08-21 10:12:13 -04:00
Daniel Agar 0bb6ad01bd commander: mag calibration rotation also compare other internal mags 2020-08-21 10:12:13 -04:00
Daniel Agar 07d727a4a8 commander: mag calibration auto rotation simplify applying calibration and rotation 2020-08-21 10:12:13 -04:00
Daniel Agar 1a6eb7859c commander: mag calibration auto rotation improvements
- skip rotations that are identical or very close
 - compute mean squared error (MSE) to skip a sqrt
2020-08-21 10:12:13 -04:00
Daniel Agar bc6e4c8a92 commander: accel calibration use all queued data
- print each calibration when finished
2020-08-21 10:12:13 -04:00
Daniel Agar f9aca05ede commander: gyro calibration use all queued data
- print calibration status when finished
2020-08-21 10:12:13 -04:00
Daniel Agar f2c9865c9b sensor mag add minimal queue and calibration check all
- mag calibration acceptance check sphere/ellipsoid fit status
2020-08-21 10:12:13 -04:00
Daniel Agar b2e8f6839f commander: mag calibration improve console and debug output 2020-08-21 10:12:13 -04:00
Daniel Agar 2bb04f2261 commander: increase COM_ARM_MAG_ANG 35 -> 45 degrees
- in practice this is mostly useful for identifying incorrect rotations
which we mostly have in 45 degree increments
 - handling a vehicle on the ground can easily disturb one mag by more than 30 degrees, so this is often distracting noise
2020-08-21 10:12:13 -04:00
Daniel Agar 44c877c603 sensors: size sensor error_count consistently (uint32_t) 2020-08-21 10:12:13 -04:00
Daniel Agar e6fd5a43bc commander: magnetometer calibration automatically set the rotation of external magnetometers relative to the first internal
- see #15120 for more detail
2020-08-21 10:12:13 -04:00
Daniel Agar 27f23ac290 move initial sensor priority to parameters and purge ORB_PRIORITY
- CAL_ACCx_EN -> CAL_ACCx_PRIO
 - CAL_GYROx_EN -> CAL_GYROx_PRIO
 - CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Daniel Agar 971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
Daniel Agar ad148af2fd commander: mag_calibration move to Magnetometer calibration helper 2020-08-21 10:12:13 -04:00
Daniel Agar 1867e540b0 lib/sensor_calibration: add Magnetometer helper 2020-08-21 10:12:13 -04:00
Daniel Agar d92ddffa5d commander: add simple accelerometer quick calibration 2020-08-21 10:12:13 -04:00
Daniel Agar e3e8c55e82 accel & gyro calibration helpers 2020-08-21 10:12:13 -04:00
Daniel Agar bae2589fed Jenkins delete Mac compile (replaced by Github Actions) 2020-08-20 18:53:26 -04:00
Julian Kent 7958586f35 Only use roll/pitch not centered for RC override, and increase override threshold 2020-08-20 11:50:16 -04:00
JaeyoungLim cbbde2e4a2 Update sitl_gazebo (#15586) 2020-08-20 15:45:16 +02:00
Julian Kent e2e72fd81e Fix map distortion due to high latitudes (#15449) 2020-08-19 09:55:15 +02:00
TSC21 7b4ae7c658 Jenkins: deploy: build the rtps target before commiting microRTPS agent changes 2020-08-19 08:59:22 +02:00
modaltb d9bbed767c modalai_fc-v1 - power_monitor/voxlpm: add support for voxlpm v3 (INA231 sensors) 2020-08-19 00:01:31 -04:00
Daniel Agar 841f650be4 github actions temporarily remove linux hardware (navio2) test
- until connectivity issues are resolved
2020-08-18 23:55:13 -04:00
bazooka joe 190b96a46c SMbus battery driver - a lot of updates and optimizations
- added support for BQ40Z80 based battery
- added performance counter for interface errors
- added SMART_BATTERY_INFO mavlink message
- general code cleanups and optimization
- fixed: void flooding the log in case of interface error
- fixed: using _batt_startup_capacity instead of _batt_capacity for discharged_mah
- update: read manufacture_date
- update: get _cell_count from parameter and not const 4
- update: avoid re-reading data that has already been read and stored on class already
- currently the battery type defined by BAT_SMBUS_MODEL parameter and not by auto detection
2020-08-18 21:41:19 -04:00
Daniel Agar 372866a22b uORB::DeviceNode replace SubscriptionData with uORB::SubscriptionInterval 2020-08-18 20:48:30 -04:00
Travis Bottalico e325ca25bb modalai-fc-v1 - update default MAVLink configuration 2020-08-18 20:45:20 -04:00
isidroas f4e147964b Tools/setup: ubuntu.sh added jmavsim dependency 2020-08-18 15:09:16 -04:00
PX4 BuildBot 16cd7cc4e9 Update submodule ecl to latest Tue Aug 18 16:42:33 UTC 2020
- ecl in PX4/Firmware (9e9b068f564250f1085954316de789176732ed96): https://github.com/PX4/ecl/commit/1e6c6f2d3ccaed470996c9efe88457299608f1d6
    - ecl current upstream: https://github.com/PX4/ecl/commit/3ae934544f8b2de01b868d0defea992b1000acc3
    - Changes: https://github.com/PX4/ecl/compare/1e6c6f2d3ccaed470996c9efe88457299608f1d6...3ae934544f8b2de01b868d0defea992b1000acc3

    3ae9345 2020-08-17 kamilritz - Add change indication for ekf_gsf_reset
fd849e0 2020-08-16 Paul Riseborough - EKF: Fix specific force observation noise variance
76f393d 2020-08-16 Paul Riseborough - EKF: Use const reference instead of local copy
c43307b 2020-08-16 Paul Riseborough - EKF: convert drag fusion from Matlab to SymPy generated auto-code
2020-08-18 15:07:39 -04:00
TSC21 1eb7809eb5 Jenkins CD: add deploy stage for the microRTPS agent 2020-08-18 17:16:04 +02:00
TSC21 ac9c8bcc09 microRTPS: cmake: fix relative path for IDL files 2020-08-18 17:16:04 +02:00
TSC21 a091a70470 microRTPS: split the microRTPS client and agent dest directories for better visbility and handling 2020-08-18 17:16:04 +02:00
TSC21 cc4cc05dd7 CI/CD: add auto deploy of the microRTPS agent source code to the respective repository 2020-08-18 17:16:04 +02:00
Daniel Agar e9e9556130 ROMFS: remove leftover MC_TPA parameters 2020-08-17 17:07:21 -04:00
Daniel Agar 26bac78eaf mixers: Multirotor remove text roll, pitch, yaw scaling and idle speed 2020-08-17 16:37:08 -04:00
PX4 BuildBot 4afb27411c Update submodule ecl to latest Mon Aug 17 12:39:41 UTC 2020
- ecl in PX4/Firmware (84aeb53ee5847866ecf7698591f00278d12ba770): https://github.com/PX4/ecl/commit/ec934908900b23ee273d1a9f82364b7b38423200
    - ecl current upstream: https://github.com/PX4/ecl/commit/1e6c6f2d3ccaed470996c9efe88457299608f1d6
    - Changes: https://github.com/PX4/ecl/compare/ec934908900b23ee273d1a9f82364b7b38423200...1e6c6f2d3ccaed470996c9efe88457299608f1d6

    1e6c6f2 2020-08-16 Paul Riseborough - EKF: update all output states when aligning output time horizon filter
3bd9415 2020-07-26 kamilritz - Make delayed output stayed not a member variable
da9bfe4 2020-07-26 kamilritz - Update interface of applyCorrectionsToOuputStates
64ab2b0 2020-08-15 Paul Riseborough - EKF: Only record successful sideslip fusion when states updated
0fa7ef3 2020-08-15 Paul Riseborough - EKF: Use ecl::powf for integer exponents
168dbdf 2020-08-15 Paul Riseborough - EKF: Convert sideslip fusion to use SymPy generated auto-code
06aa78a 2020-08-15 Paul Riseborough - EKF: Only record airspeed fusion event when states are updated
486a461 2020-08-15 Paul Riseborough - EKF: airspeed fusion derivation test comparison cleanup
ede6204 2020-08-15 Paul Riseborough - EKF: airspeed fusion cleanup
a5a43db 2020-08-13 Paul Riseborough - EKF: Convert airspeed fusion to use SymPy generated auto-code
5907e81 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
7fa9a19 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
0e74f3e 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
6e992a1 2020-08-15 Paul Riseborough - EKF: optflow fusion cleanup
1ad042d 2020-08-13 Paul Riseborough - EKF: Use ecl::powf in comparison test
274523b 2020-08-13 Paul Riseborough - EKF: Use ecl::powf for integer exponents
f20a5d8 2020-08-13 Paul Riseborough - EKF: Remove redundant tilt check
1592db8 2020-08-13 Paul Riseborough - EKF: Convert optical flow fusion to use SymPy generated equations
1f386c1 2020-08-15 Paul Riseborough - EKF: Add yaw estimate SymPy generated code files
510d938 2020-08-11 Paul Riseborough - EKF: move yaw estimator derivation into main filter derivation
f89c52e 2020-08-13 Paul Riseborough - EKF: use ecl::powf for integer exponents
0aa2f17 2020-08-13 Paul Riseborough - EKF: Convert GPS yaw observation method to use SymPy generated code (#880)
21cc46e 2020-08-11 Paul Riseborough - EKF: Convert magnetic field observation methods to use SymPy generated code (#879)
2020-08-17 16:30:52 -04:00
1126 changed files with 31162 additions and 12554 deletions
-123
View File
@@ -1,123 +0,0 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
agent {
docker {
image 'px4io/px4-dev-ros-melodic:2020-04-01'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
steps {
sh 'export'
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_sitl_default'
sh 'make px4_sitl_default sitl_gazebo'
sh 'make px4_sitl_default package'
sh 'ccache -s'
stash(name: "px4_sitl_package", includes: "build/px4_sitl_default/*.bz2")
archiveArtifacts(artifacts: "build/px4_sitl_default/*.bz2", fingerprint: true, onlyIfSuccessful: true)
}
post {
always {
sh 'make distclean'
}
}
} // stage Build
stage('ROS Tests') {
steps {
script {
def missions = [
[
name: "MC_avoidance",
test: "mavros_posix_test_avoidance.test",
mission: "avoidance",
vehicle: "iris_obs_avoid",
run_script: "rostest_avoidance_run.sh"
],
[
name: "MC_safe_landing",
test: "mavros_posix_test_safe_landing.test",
mission: "MC_safe_landing",
vehicle: "iris_obs_avoid",
run_script: "rostest_avoidance_run.sh"
],
]
def test_nodes = [:]
for (def i = 0; i < missions.size(); i++) {
test_nodes.put(missions[i].name, createTestNode(missions[i]))
}
parallel test_nodes
} // script
} // steps
} // stage ROS Tests
} //stages
environment {
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
timeout(time: 60, unit: 'MINUTES')
}
} // pipeline
def createTestNode(Map test_def) {
return {
node {
cleanWs()
docker.image("px4io/px4-dev-ros-melodic:2020-04-01").inside('-e HOME=${WORKSPACE}') {
stage(test_def.name) {
def run_script = test_def.get('run_script', 'rostest_px4_run.sh')
def test_ok = true
sh('export')
unstash('px4_sitl_package')
sh('tar -xjpvf build/px4_sitl_default/px4-px4_sitl_default*.bz2')
// run test
try {
sh('px4-px4_sitl_default*/px4/test/' + run_script + ' ' + test_def.test + ' mission:=' + test_def.mission + ' vehicle:=' + test_def.vehicle)
} catch (exc) {
// save all test artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.ulg, .ros/**/rosunit-*.xml, .ros/**/rostest-*.log')
test_ok = false
}
// upload log to flight review (https://logs.px4.io/)
sh('px4-px4_sitl_default*/px4/Tools/upload_log.py -q --description "${JOB_NAME}: ${STAGE_NAME}" --feedback "${JOB_NAME} ${CHANGE_TITLE} ${CHANGE_URL}" --source CI .ros/log/*/*.ulg')
// log analysis
// process ekf log data
try {
sh('px4-px4_sitl_default*/px4/Tools/ecl_ekf/process_logdata_ekf.py .ros/log/*/*.ulg')
} catch (exc) {
// save log analysis artifacts for debugging
archiveArtifacts(allowEmptyArchive: false, artifacts: '.ros/**/*.pdf, .ros/**/*.csv')
// FIXME: don't let the script to fail the build
// test_ok = false
}
if (!test_ok) {
error('ROS Test failed')
}
} // stage
cleanWs()
} // docker.image
} // node
} // return
} // createTestNode
+8 -3
View File
@@ -11,12 +11,12 @@ pipeline {
def docker_images = [
armhf: "px4io/px4-dev-armhf:2020-04-01",
base: "px4io/px4-dev-base-bionic:2020-04-01",
nuttx: "px4io/px4-dev-nuttx-bionic:2020-04-01",
nuttx: "px4io/px4-dev-nuttx-focal:2020-09-14",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
]
def armhf_builds = [
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default"],
target: ["aerotenna_ocpoc_default", "beaglebone_blue_default", "emlid_navio2_default", "px4_raspberrypi_default", "scumaker_airpi2_default"],
image: docker_images.armhf,
archive: false
]
@@ -32,9 +32,13 @@ pipeline {
"airmind_mindpx-v2_default",
"av_x-v1_default",
"bitcraze_crazyflie_default",
"cuav_can-gps-v1_canbootloader",
"cuav_can-gps-v1_default",
"cuav_nora_default",
"cuav_x7pro_default",
"cubepilot_cubeorange_console",
"cubepilot_cubeorange_default",
"cubepilot_cubeyellow_console",
"cubepilot_cubeyellow_default",
"holybro_durandal-v1_default",
"holybro_durandal-v1_stackcheck",
@@ -47,6 +51,7 @@ pipeline {
"mro_x21_default",
"nxp_fmuk66-v3_default",
"nxp_fmuk66-v3_socketcan",
"nxp_fmuk66-v3_rtps",
"nxp_fmurt1062-v1_default",
"nxp_rddrone-uavcan146_default",
"omnibus_f4sd_default",
@@ -107,7 +112,7 @@ pipeline {
// TODO: actually upload artifacts to S3
// stage('S3 Upload') {
// agent {
// docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
// docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
// }
// options {
// skipDefaultCheckout()
-90
View File
@@ -1,90 +0,0 @@
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
parallel {
stage('px4_sitl_default (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make px4_sitl_default'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage px4_sitl_default
stage('px4_fmu-v5_default (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make px4_fmu-v5_default'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage px4_fmu-v5_default
stage('sitl tests (OSX)') {
agent {
label 'mac'
}
environment {
CCACHE_BASEDIR = "${env.WORKSPACE}"
}
steps {
sh 'export'
sh 'make distclean'
sh 'git fetch --tags'
sh 'ccache -s'
sh 'make tests'
sh 'ccache -s'
}
post {
always {
sh 'make distclean'
}
}
} // stage sitl tests
} // parallel
} // stage Build
} // stages
environment {
CCACHE_CPP2 = '1'
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '20'))
timeout(time: 120, unit: 'MINUTES')
}
}
+54 -32
View File
@@ -12,7 +12,7 @@ pipeline {
stage("build px4_fmu-v2_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -69,7 +69,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
}
}
@@ -80,7 +80,7 @@ pipeline {
stage("build px4_fmu-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -143,7 +143,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -154,7 +154,7 @@ pipeline {
stage("build px4_fmu-v4_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -216,7 +216,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -227,7 +227,7 @@ pipeline {
stage("build px4_fmu-v4pro_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -290,7 +290,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -301,7 +301,7 @@ pipeline {
stage("build px4_fmu-v5_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -365,7 +365,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -376,7 +376,7 @@ pipeline {
stage("build px4_fmu-v5_debug") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -440,7 +440,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -451,7 +451,7 @@ pipeline {
stage("build px4_fmu-v5_optimized") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -513,7 +513,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -524,7 +524,7 @@ pipeline {
stage("build px4_fmu-v5_stackcheck") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -588,7 +588,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -599,7 +599,7 @@ pipeline {
stage("build modalai_fc-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -661,7 +661,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -672,7 +672,7 @@ pipeline {
stage("build holybro_durandal-v1_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -740,7 +740,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -751,7 +751,7 @@ pipeline {
stage("build nxp_fmuk66-v3_default") {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -803,7 +803,7 @@ pipeline {
stage("tests") {
steps {
// run tests
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*` || true' // ignore failures for now (flaky console on test rack)
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*`'
}
}
stage("reset") {
@@ -813,7 +813,7 @@ pipeline {
}
}
options {
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
} // stage test
}
@@ -828,7 +828,7 @@ pipeline {
}
options {
buildDiscarder(logRotator(numToKeepStr: '20', artifactDaysToKeepStr: '40'))
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
}
}
@@ -836,11 +836,13 @@ void statusFTDI() {
// run logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger on"'
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "board_adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander check"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate accel quick; sleep 2; param show CAL_ACC*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate gyro; sleep 2; param show CAL_GYRO*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate level; sleep 2; param show SENS_BOARD*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander calibrate mag quick; sleep 2; param show CAL_MAG*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dataman status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "df"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dmesg"'
@@ -850,6 +852,8 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener adc_report"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener battery_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_sensor"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_sensor_bias"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener logger_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_accel"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_accel_fifo"'
@@ -858,13 +862,17 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_gyro"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_gyro_fifo"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensor_mag"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener sensors_status_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener px4io_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener system_power"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_air_data"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_angular_acceleration"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_angular_velocity"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_imu_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener vehicle_magnetometer"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ls /"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ls /dev"'
@@ -888,7 +896,7 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "sd_bench -r 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "sensors status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "top once"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener cpuload; top once; listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "uorb status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "uorb top -1 -a"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "ver all"'
@@ -901,11 +909,13 @@ void statusSEGGER() {
// run logger
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger on"'
// status commands
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "board_adc test"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander check"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate accel quick; sleep 2; param show CAL_ACC*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate gyro; sleep 2; param show CAL_GYRO*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate level; sleep 2; param show SENS_BOARD*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander calibrate mag quick; sleep 2; param show CAL_MAG*"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dataman status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "df -h"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dmesg"'
@@ -915,6 +925,8 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener adc_report"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener battery_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_sensor_bias"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener logger_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_accel"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_accel_fifo"'
@@ -923,13 +935,17 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_gyro"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_gyro_fifo"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensor_mag"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener sensors_status_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener px4io_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener system_power"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_air_data"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_angular_acceleration"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_angular_velocity"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_attitude"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_imu"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_imu_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_local_position"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener vehicle_magnetometer"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ls /"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ls /dev"'
@@ -953,7 +969,7 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "px4io status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "sd_bench -r 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "sensors status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "top once"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener cpuload; top once; listener cpuload"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "uorb status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "uorb top -1 -a"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "ver all"'
@@ -974,12 +990,15 @@ void cleanupFTDI() {
// drop any uncommited hardfaults
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "hardfault_log rearm"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "hardfault_log reset"'
// wipe parameters
// erase mtd
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd readtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd rwtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd erase"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param reset"'
// disable buzzer and cleanup storage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param reset_all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SDLOG_DIRS_MAX 1"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
@@ -1001,12 +1020,15 @@ void cleanupSEGGER() {
// drop any uncommited hardfaults
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "hardfault_log rearm"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "hardfault_log reset"'
// wipe parameters
// erase mtd
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd readtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd rwtest"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd erase"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param reset"'
// disable buzzer and cleanup storage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param reset_all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set CBRK_BUZZER 782097"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SDLOG_DIRS_MAX 1"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param save"'
+42
View File
@@ -0,0 +1,42 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp
{
"name": "px4-dev-nuttx",
"image": "px4io/px4-dev-nuttx-focal:2020-09-14",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
"ms-iot.vscode-ros",
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
"zixuanwang.linkerscript"
],
"containerUser": "user",
"containerEnv": {
"LOCAL_USER_ID": "${localEnv:UID}"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [14556],
}
+1 -5
View File
@@ -26,11 +26,7 @@ jobs:
"module_documentation",
"parameters_metadata",
]
ubuntu_release: [
#bionic,
focal
]
container: px4io/px4-dev-nuttx-${{ matrix.ubuntu_release }}:2020-04-01
container: px4io/px4-dev-nuttx-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-clang:2020-04-01
container: px4io/px4-dev-clang:2020-08-14
steps:
- uses: actions/checkout@v1
with:
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2020-04-01
container: px4io/px4-dev-armhf:2020-08-14
strategy:
matrix:
config: [
+6 -1
View File
@@ -11,16 +11,20 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-bionic:2020-04-01
container: px4io/px4-dev-nuttx-focal:2020-09-14
strategy:
matrix:
config: [
airmind_mindpx-v2_default,
av_x-v1_default,
bitcraze_crazyflie_default,
cuav_can-gps-v1_canbootloader,
cuav_can-gps-v1_default,
cuav_nora_default,
cuav_x7pro_default,
cubepilot_cubeorange_console,
cubepilot_cubeorange_default,
cubepilot_cubeyellow_console,
cubepilot_cubeyellow_default,
holybro_durandal-v1_default,
holybro_durandal-v1_stackcheck,
@@ -34,6 +38,7 @@ jobs:
nxp_fmuk66-v3_default,
nxp_fmuk66-e_default,
nxp_fmuk66-v3_socketcan,
nxp_fmuk66-v3_rtps,
nxp_fmurt1062-v1_default,
nxp_rddrone-uavcan146_default,
omnibus_f4sd_default,
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
strategy:
matrix:
config: [
@@ -1,29 +0,0 @@
name: Hardware Linux
on:
push:
branches:
- 'master'
jobs:
build:
runs-on: [emlid_navio2]
steps:
- uses: actions/checkout@v1
- name: Build
env:
CCACHE_BASEDIR: ${GITHUB_WORKSPACE}
run: |
make distclean
ccache -z
make emlid_navio2_default
ccache -s
# sanity check
- name: Sanity check
run: cd build/emlid_navio2_default/ && ./bin/px4 -s ../../posix-configs/rpi/px4_test.config
- name: Upload log to flight review
run: find . -name *.ulg
#run: ./Tools/upload_log.py -q --description "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID}" --feedback "${GITHUB_WORKFLOW} ${GITHUB_RUN_ID} ${GITHUB_REPOSITORY} ${GITHUB_REF}" --source CI ./build/px4_sitl_default/tmp/rootfs/log/*/*.ulg
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
- {test_file: "mavros_posix_test_safe_landing.test", vehicle: "iris_obs_avoid", mission: "MC_safe_landing", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-04-01
image: px4io/px4-dev-ros-melodic:2020-08-14
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-04-01
image: px4io/px4-dev-ros-melodic:2020-08-14
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
#- {test_file: "mavros_posix_tests_offboard_rpyrt_ctl.test", vehicle: "iris", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-04-01
image: px4io/px4-dev-ros-melodic:2020-08-14
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
+20 -6
View File
@@ -12,7 +12,7 @@ jobs:
airframe:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
@@ -27,7 +27,7 @@ jobs:
module:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
@@ -42,7 +42,7 @@ jobs:
parameter:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
@@ -57,7 +57,7 @@ jobs:
uorb_graph:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2020-04-01
container: px4io/px4-dev-nuttx-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
@@ -70,9 +70,23 @@ jobs:
ls -ls *
# TODO: deploy graph_px4_sitl.json to S3 px4-travis:Firmware/master/
micrortps_agent:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
- name: microRTPS agent
run: |
make px4_sitl_rtps
git clone https://github.com/PX4/micrortps_agent.git
cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent
ROS_msgs:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-bionic:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
@@ -85,7 +99,7 @@ jobs:
ROS2_bridge:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-bionic:2020-04-01
container: px4io/px4-dev-base-focal:2020-09-14
steps:
- uses: actions/checkout@v1
with:
+3 -3
View File
@@ -20,7 +20,7 @@ jobs:
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo"} # Florida
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage"} # Zurich
container:
image: px4io/px4-dev-simulation-focal:2020-04-01
image: px4io/px4-dev-simulation-focal:2020-08-14
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -28,9 +28,9 @@ jobs:
token: ${{ secrets.ACCESS_TOKEN }}
- name: Download MAVSDK
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.27.0/mavsdk_0.27.0_ubuntu18.04_amd64.deb
run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.30.1/mavsdk_0.30.1_ubuntu18.04_amd64.deb
- name: Install MAVSDK
run: dpkg -i mavsdk_0.27.0_ubuntu18.04_amd64.deb
run: dpkg -i mavsdk_0.30.1_ubuntu18.04_amd64.deb
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
+8 -2
View File
@@ -37,14 +37,20 @@
[submodule "platforms/nuttx/NuttX/nuttx"]
path = platforms/nuttx/NuttX/nuttx
url = https://github.com/PX4/NuttX.git
branch = px4_firmware_nuttx-8.2
branch = px4_firmware_nuttx-9.1.0+
[submodule "platforms/nuttx/NuttX/apps"]
path = platforms/nuttx/NuttX/apps
url = https://github.com/PX4/NuttX-apps.git
branch = px4_firmware_nuttx-8.2
branch = px4_firmware_nuttx-9.1.0+
[submodule "platforms/qurt/dspal"]
path = platforms/qurt/dspal
url = https://github.com/ATLFlight/dspal.git
[submodule "Tools/flightgear_bridge"]
path = Tools/flightgear_bridge
url = https://github.com/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jsbsim_bridge"]
path = Tools/jsbsim_bridge
url = https://github.com/PX4/px4-jsbsim-bridge.git
[submodule "src/examples/gyro_fft/CMSIS_5"]
path = src/examples/gyro_fft/CMSIS_5
url = https://github.com/ARM-software/CMSIS_5.git
+8 -67
View File
@@ -1,75 +1,16 @@
{
"configurations": [
{
"name": "Linux",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
},
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"compilerPath": "/usr/bin/g++",
"name": "PX4",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [],
"configurationProvider": "ms-vscode.cmake-tools",
"cppStandard": "c++14",
"cStandard": "c11",
"defines": [
"__PX4_LINUX",
"__PX4_POSIX"
],
"forcedInclude": [
"${workspaceFolder}/src/include/visibility.h"
],
"includePath": [
"${workspaceFolder}/boards/px4/sitl/src",
"${workspaceFolder}/build/px4_sitl_default",
"${workspaceFolder}/platforms/common/include",
"${workspaceFolder}/platforms/posix/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
"${workspaceFolder}/src",
"${workspaceFolder}/src/include",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib/matrix",
"${workspaceFolder}/src/modules"
],
"intelliSenseMode": "${default}"
},
{
"name": "Mac",
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db"
},
"compileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"compilerPath": "/usr/bin/clang++",
"configurationProvider": "ms-vscode.cmake-tools",
"cppStandard": "c++14",
"cStandard": "c11",
"defines": [
"__PX4_DARWIN",
"__PX4_POSIX"
],
"forcedInclude": [
"${workspaceFolder}/src/include/visibility.h"
],
"includePath": [
"${workspaceFolder}/boards/px4/sitl/src",
"${workspaceFolder}/build/px4_sitl_default",
"${workspaceFolder}/platforms/common/include",
"${workspaceFolder}/platforms/posix/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/common/include",
"${workspaceFolder}/platforms/posix/src/px4/generic/generic/include",
"${workspaceFolder}/src",
"${workspaceFolder}/src/include",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib",
"${workspaceFolder}/src/lib/matrix",
"${workspaceFolder}/src/modules"
],
"intelliSenseMode": "${default}"
"cStandard": "c11"
}
],
"version": 4
}
}
+5
View File
@@ -61,6 +61,11 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: av_x-v1_default
cuav_can-gps-v1_default:
short: cuav_can-gps-v1_default
buildType: MinSizeRel
settings:
CONFIG: cuav_can-gps-v1_default
cuav_nora_default:
short: cuav_nora
buildType: MinSizeRel
+3 -1
View File
@@ -4,6 +4,7 @@
"recommendations": [
"chiehyu.vscode-astyle",
"dan-c-underwood.arm",
"fredericbonnet.cmake-test-adapter",
"github.vscode-pull-request-github",
"marus25.cortex-debug",
"ms-azuretools.vscode-docker",
@@ -11,8 +12,9 @@
"ms-python.python",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"redhat.vscode-yaml",
"timonwong.shellcheck",
"streetsidesoftware.code-spell-checker",
"twxs.cmake",
"uavcan.dsdl",
"wholroyd.jinja",
+20 -59
View File
@@ -3,70 +3,34 @@
"astyle.c.enable": true,
"astyle.cpp.enable": true,
"breadcrumbs.enabled": true,
"cmake.autoRestartBuild": true,
"cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.configureOnOpen": true,
"cmake.copyCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json",
"cmake.debugConfig": {
"name": "SITL shell (gdb)",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [
"${workspaceFolder}/ROMFS/px4fmu_common",
"-s",
"etc/init.d-posix/rcS",
"-t",
"${workspaceFolder}/test_data"
],
"stopAtEntry": false,
"cwd": "${command:cmake.buildDirectory}/tmp",
"environment": [
{
"name": "PX4_SIM_MODEL",
"value": "shell"
}
],
"externalConsole": false,
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "PX4 ignore wq signals",
"text": "handle SIGCONT nostop noprint nopass",
"ignoreFailures": true
}
]
},
"osx": {
"MIMode": "lldb",
"setupCommands": [
{
"text": "pro hand -p true -s false -n false SIGCONT",
}
]
}
},
"C_Cpp.autoAddFileAssociations": false,
"C_Cpp.clang_format_fallbackStyle": "none",
"C_Cpp.default.browse.databaseFilename": "${workspaceRoot}/.vscode/browse.vc.db",
"C_Cpp.default.browse.limitSymbolsToIncludedHeaders": true,
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.default.macFrameworkPath": null,
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.intelliSenseEngineFallback": "Enabled",
"C_Cpp.vcpkg.enabled": false,
"C_Cpp.workspaceParsingPriority": "low",
"cmake.buildBeforeRun": true,
"cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}",
"cmake.buildTask": true,
"cmake.configureOnOpen": true,
"cmake.ctest.parallelJobs": 1,
"cmake.skipConfigureIfCachePresent": true,
"cmakeExplorer.buildDir": "${workspaceFolder}/build/px4_sitl_test",
"cmakeExplorer.parallelJobs": 1,
"cmakeExplorer.suiteDelimiter": "-",
"cortex-debug.enableTelemetry": false,
"cSpell.allowCompoundWords": true,
"cSpell.diagnosticLevel": "Hint",
"cSpell.showStatus": false,
"cSpell.words": [
"acro",
"rattitude",
"nuttx",
"esc"
],
"debug.toolBarLocation": "docked",
"editor.acceptSuggestionOnEnter": "off",
"editor.defaultFormatter": "chiehyu.vscode-astyle",
@@ -88,7 +52,6 @@
"git.ignoreLimitWarning": true,
"githubPullRequests.defaultMergeMethod": "squash",
"githubPullRequests.telemetry.enabled": false,
"gitlens.advanced.telemetry.enabled": false,
"files.associations": {
"*.jinja": "jinja",
"algorithm": "cpp",
@@ -166,17 +129,15 @@
},
"search.showLineNumbers": true,
"search.smartCase": true,
"shellcheck.exclude": [2154],
"telemetry.enableTelemetry": false,
"terminal.integrated.copyOnSelection": true,
"terminal.integrated.rightClickCopyPaste": true,
"terminal.integrated.rightClickBehavior": "paste",
"terminal.integrated.scrollback": 5000,
"window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
"workbench.editor.highlightModifiedTabs": true,
"workbench.enableExperiments": false,
"workbench.settings.enableNaturalLanguageSearch": false,
"workbench.statusBar.feedback.visible": false,
"yaml.schemas": {
"${workspaceRoot}/validation/module_schema.yaml": "${workspaceRoot}/src/modules/*/module.yaml"
"${workspaceFolder}/validation/module_schema.yaml": "${workspaceFolder}/src/modules/*/module.yaml"
}
}
+143 -111
View File
@@ -3,12 +3,58 @@
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "/bin/bash",
"args": [
"-c",
"${command:cmake.tasksBuildCommand}"
],
"options": {
"cwd": "${command:cmake.buildDirectory}"
},
"group": {
"kind": "build",
"isDefault": true,
},
"problemMatcher": {
"base": "$gcc",
"fileLocation": ["relative", "${command:cmake.buildDirectory}"]
},
"presentation":{
"echo": false,
"showReuseMessage": false,
"clear": true,
"panel": "shared",
"group": "build"
}
},
{
"label": "test",
"type": "shell",
"command": "make tests",
"options": {
"cwd": "${workspaceFolder}"
},
"group": {
"kind": "test",
"isDefault": true,
},
"presentation":{
"echo": true,
"showReuseMessage": false,
"clear": false,
"panel": "shared",
"group": "test"
}
},
{
"label": "jmavsim build",
"type": "shell",
"command": "ant create_run_jar copy_res",
"options": {
"cwd": "${workspaceRoot}/Tools/jMAVSim"
"cwd": "${workspaceFolder}/Tools/jMAVSim"
},
"problemMatcher": [],
"presentation":{
@@ -17,7 +63,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false,
}
},
{
@@ -26,7 +72,7 @@
"dependsOn": "jmavsim build",
"command": "java -Djava.ext.dirs= -jar jmavsim_run.jar -r 250 -lockstep -tcp localhost:4560 -qgc",
"options": {
"cwd": "${workspaceRoot}/Tools/jMAVSim/out/production",
"cwd": "${workspaceFolder}/Tools/jMAVSim/out/production",
"env": {
"PX4_SIM_SPEED_FACTOR": "1"
}
@@ -38,7 +84,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": [
{
@@ -68,7 +114,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": []
},
@@ -77,31 +123,31 @@
"type": "shell",
"command": "make px4_sitl_default sitl_gazebo",
"options": {
"cwd": "${workspaceRoot}"
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"presentation":{
"echo": true,
"reveal": "never",
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false,
}
},
{
"label": "gazebo iris",
"label": "gazebo start",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/iris.world",
"command": "gzserver --verbose ${workspaceFolder}/Tools/sitl_gazebo/worlds/${input:gazeboWorld}.world",
"isBackground": true,
"presentation": {
"echo": true,
@@ -109,7 +155,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": [
{
@@ -130,106 +176,26 @@
]
},
{
"label": "gazebo plane",
"label": "gazebo",
"type": "shell",
"dependsOn": "gazebo build",
"dependsOn": "gazebo start",
"options": {
"cwd": "${workspaceRoot}",
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/plane.world",
"isBackground": true,
"command": "gz model --verbose --spawn-file=${workspaceFolder}/Tools/sitl_gazebo/models/${input:vehicleModel}/${input:vehicleModel}.sdf --model-name=${input:vehicleModel} -x 1.01 -y 0.98 -z 0.83",
"isBackground": false,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo standard_vtol",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/standard_vtol.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"problemMatcher": [
{
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".",
}
}
]
},
{
"label": "gazebo tailsitter",
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
"command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/tailsitter.world",
"isBackground": true,
"presentation": {
"echo": true,
"reveal": "never",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": [
{
@@ -254,10 +220,10 @@
"type": "shell",
"dependsOn": "gazebo build",
"options": {
"cwd": "${workspaceRoot}",
"cwd": "${workspaceFolder}",
"env": {
"GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
"GAZEBO_PLUGIN_PATH": "${workspaceFolder}/build/px4_sitl_default/build_gazebo",
"GAZEBO_MODEL_PATH": "${workspaceFolder}/Tools/sitl_gazebo/models",
"PX4_SIM_SPEED_FACTOR": "1"
}
},
@@ -269,7 +235,7 @@
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": [
{
@@ -294,12 +260,42 @@
"type": "shell",
"command": "killall gzserver",
"presentation": {
"echo": false,
"reveal": "never",
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_sitl_cleanup"]
},
{
"label": "px4_sitl_cleanup",
"type": "shell",
"command": "rm -rfv /tmp/px4*",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": [],
"dependsOn":["px4_kill"]
},
{
"label": "px4_kill",
"type": "shell",
"command": "killall px4 || true",
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": false
},
"problemMatcher": []
},
@@ -308,7 +304,7 @@
"type": "shell",
"command": "./Tools/mavlink_shell.py",
"options": {
"cwd": "${workspaceRoot}"
"cwd": "${workspaceFolder}"
},
"presentation": {
"echo": true,
@@ -325,7 +321,7 @@
"type": "shell",
"command": "miniterm.py --raw - 57600",
"options": {
"cwd": "${workspaceRoot}"
"cwd": "${workspaceFolder}"
},
"presentation": {
"echo": true,
@@ -337,5 +333,41 @@
},
"problemMatcher": []
}
],
"inputs": [
{
"type": "pickString",
"id": "vehicleModel",
"description": "gazebo model",
"options": [
"iris",
"typhoon_h480",
"plane",
"plane_catapult",
"plane_lidar",
"standard_vtol",
"tailsitter",
"tiltrotor",
"r1_rover",
"boat"
],
"default": "iris"
},
{
"type": "pickString",
"id": "gazeboWorld",
"description": "gazebo world",
"options": [
"baylands",
"empty",
"ksql_airport",
"mcmillan_airfield",
"sonoma_raceway",
"warehouse",
"windy",
"yosemite"
],
"default": "empty"
}
]
}
Vendored
+75 -47
View File
@@ -12,12 +12,10 @@ pipeline {
}
}
parallel {
// TODO: temporarily disabled 2020-06-03 waiting on mavlink update
// stage('Catkin build on ROS workspace') {
// agent {
// docker {
// image 'px4io/px4-dev-ros-melodic:2020-04-01'
// image 'px4io/px4-dev-ros-melodic:2020-08-20'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// }
// }
@@ -54,42 +52,42 @@ pipeline {
// checkoutToSubdirectory('catkin_ws/src/Firmware')
// }
// }
//
// stage('Colcon build on ROS2 workspace') {
// agent {
// docker {
// image 'px4io/px4-dev-ros2-dashing:2020-04-01'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// }
// }
// steps {
// sh 'ls -l'
// sh '''#!/bin/bash -l
// echo $0;
// unset ROS_DISTRO;
// mkdir -p colcon_ws/src;
// cd colcon_ws;
// git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo
// git clone --recursive ${WORKSPACE}/colcon_ws/src/Firmware/Tools/sitl_gazebo src/mavlink_sitl_gazebo;
// git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
// source /opt/ros/bouncy/setup.sh;
// source /opt/ros/melodic/setup.sh;
// colcon build --event-handlers console_direct+ --symlink-install;
// '''
// }
// post {
// always {
// sh 'rm -rf colcon_ws'
// }
// }
// options {
// checkoutToSubdirectory('colcon_ws/src/Firmware')
// }
// }
stage('Colcon build on ROS2 workspace') {
agent {
docker {
image 'px4io/px4-dev-ros2-foxy:2020-08-20'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
steps {
sh 'ls -l'
sh '''#!/bin/bash -l
echo $0;
unset ROS_DISTRO;
mkdir -p colcon_ws/src;
cd colcon_ws;
git -C ${WORKSPACE}/colcon_ws/src/Firmware submodule update --init --recursive --force Tools/sitl_gazebo
git clone --recursive ${WORKSPACE}/colcon_ws/src/Firmware/Tools/sitl_gazebo src/mavlink_sitl_gazebo;
git -C ${WORKSPACE}/colcon_ws/src/Firmware fetch --tags;
source /opt/ros/bouncy/setup.sh;
source /opt/ros/melodic/setup.sh;
colcon build --event-handlers console_direct+ --symlink-install;
'''
}
post {
always {
sh 'rm -rf colcon_ws'
}
}
options {
checkoutToSubdirectory('colcon_ws/src/Firmware')
}
}
stage('Airframe') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh 'make distclean'
@@ -108,7 +106,7 @@ pipeline {
stage('Parameter') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh 'make distclean'
@@ -127,7 +125,7 @@ pipeline {
stage('Module') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh 'make distclean'
@@ -147,7 +145,7 @@ pipeline {
stage('uORB graphs') {
agent {
docker {
image 'px4io/px4-dev-nuttx-bionic:2020-04-01'
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -176,7 +174,7 @@ pipeline {
stage('Devguide') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
@@ -206,7 +204,7 @@ pipeline {
stage('Userguide') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
@@ -234,7 +232,7 @@ pipeline {
stage('QGroundControl') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
@@ -260,9 +258,39 @@ pipeline {
}
}
stage('microRTPS agent') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
sh('git fetch --all --tags')
sh('make distclean')
sh('make px4_sitl_rtps')
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/micrortps_agent.git -b ${BRANCH_NAME}")
sh("rm -rf micrortps_agent/src micrortps_agent/idl")
sh('cp -R build/px4_sitl_rtps/src/modules/micrortps_bridge/micrortps_agent/* micrortps_agent')
sh('cd micrortps_agent; git status; git add src; git commit -a -m "Update microRTPS agent source code `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('cd micrortps_agent; git status; git add idl; git commit -a -m "Update IDL definitions `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('cd micrortps_agent; git status; git add CMakeLists.txt; git commit -a -m "Update CMakeLists.txt `date`" || true')
sh('cd micrortps_agent; git push origin ${BRANCH_NAME} || true')
sh('rm -rf micrortps_agent')
}
}
when {
anyOf {
branch 'master'
branch 'pr-jenkins' // for testing
}
}
}
stage('PX4 ROS msgs') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
@@ -270,12 +298,12 @@ pipeline {
withCredentials([usernamePassword(credentialsId: 'px4buildbot_github_personal_token', passwordVariable: 'GIT_PASS', usernameVariable: 'GIT_USER')]) {
sh("git clone https://${GIT_USER}:${GIT_PASS}@github.com/PX4/px4_msgs.git")
// 'master' branch
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin master || true')
// 'ros1' branch
sh('cd px4_msgs; git checkout ros1')
sh('python msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('./msg/tools/uorb_to_ros_msgs.py msg/ px4_msgs/msg/')
sh('cd px4_msgs; git status; git add .; git commit -a -m "Update message definitions `date`" || true')
sh('cd px4_msgs; git push origin ros1 || true')
sh('rm -rf px4_msgs')
@@ -291,7 +319,7 @@ pipeline {
stage('PX4 ROS2 bridge') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
@@ -334,7 +362,7 @@ pipeline {
stage('S3') {
agent {
docker { image 'px4io/px4-dev-base-bionic:2020-04-01' }
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
}
steps {
sh('export')
+69 -35
View File
@@ -34,7 +34,7 @@
message(STATUS "ROMFS: ${config_romfs_root}")
set(romfs_src_dir ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root})
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/genromfs)
set(romfs_gen_root_dir ${PX4_BINARY_DIR}/etc)
set_property(GLOBAL PROPERTY PX4_ROMFS_FILES)
set_property(GLOBAL PROPERTY PX4_ROMFS_CMAKE_FILES)
@@ -81,21 +81,48 @@ file(GLOB jinja_templates ${PX4_SOURCE_DIR}/Tools/serial/*.jinja)
if (px4_constrained_flash_build)
set(added_arguments --constrained-flash)
endif()
# create list of relative romfs file names
set(romfs_copy_files_relative)
foreach(romfs_file IN LISTS romfs_copy_files)
string(REPLACE "${romfs_src_dir}/" "" romfs_file_rel ${romfs_file})
list(APPEND romfs_copy_files_relative ${romfs_file_rel})
endforeach()
# copy the ROMFS files by creating a tar and extracting it to the build
# directory (which preserves the directory structure)
file(MAKE_DIRECTORY ${romfs_gen_root_dir})
set(romfs_tar_file ${PX4_BINARY_DIR}/romfs_files.tar)
add_custom_command(
OUTPUT ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E tar cf ${romfs_tar_file} ${romfs_copy_files_relative}
WORKING_DIRECTORY ${romfs_src_dir}
DEPENDS
${romfs_copy_files}
${jinja_templates}
${module_config_files}
${romfs_cmake_files}
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
)
set(romfs_extract_stamp ${CMAKE_CURRENT_BINARY_DIR}/romfs_extract.stamp)
add_custom_command(
OUTPUT ${romfs_extract_stamp}
COMMAND ${CMAKE_COMMAND} -E tar xf ${romfs_tar_file}
COMMAND ${CMAKE_COMMAND} -E touch ${romfs_extract_stamp}
WORKING_DIRECTORY ${romfs_gen_root_dir}
DEPENDS ${romfs_tar_file}
)
add_custom_command(
OUTPUT
${romfs_gen_root_dir}/init.d/rcS
${romfs_gen_root_dir}/init.d/rc.serial
${romfs_gen_root_dir}/init.d/rc.autostart
${romfs_gen_root_dir}/init.d/rc.autostart.post
romfs_copy.stamp
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}
# TODO: we should only copy the files in ${romfs_copy_files}
COMMAND ${CMAKE_COMMAND} -E copy_directory ${romfs_src_dir} ${romfs_gen_root_dir}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/init.d-posix
COMMAND ${CMAKE_COMMAND} -E remove_directory ${romfs_gen_root_dir}/mixers-sitl
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/mixers/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/CMakeLists.txt
COMMAND ${CMAKE_COMMAND} -E remove ${romfs_gen_root_dir}/init.d/airframes/CMakeLists.txt
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
--airframes-path ${romfs_gen_root_dir}/init.d
--start-script ${romfs_gen_root_dir}/init.d/rc.autostart
@@ -106,32 +133,13 @@ add_custom_command(
--config-files ${module_config_files} #--verbose
COMMAND ${CMAKE_COMMAND} -E touch romfs_copy.stamp
DEPENDS
${jinja_templates}
${module_config_files}
${romfs_cmake_files}
${romfs_copy_files}
${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
${PX4_SOURCE_DIR}/Tools/px4airframes/markdownout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/rcout.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcparser.py
${PX4_SOURCE_DIR}/Tools/px4airframes/srcscanner.py
${PX4_SOURCE_DIR}/Tools/px4airframes/xmlout.py
${PX4_SOURCE_DIR}/Tools/serial/generate_config.py
${romfs_extract_stamp}
COMMENT "ROMFS: copying, generating airframes"
)
# copy extras into ROMFS
set(extras_dependencies)
if(config_bl_file)
file(MAKE_DIRECTORY ${PX4_BINARY_DIR}/romfs_extras)
configure_file(${config_bl_file} ${PX4_BINARY_DIR}/romfs_extras COPYONLY)
list(APPEND extras_dependencies
${config_bl_file}
)
endif()
# copy px4io binary if configured
if(config_io_board)
list(APPEND extras_dependencies
@@ -179,17 +187,35 @@ foreach(board_rc_file ${OPTIONAL_BOARD_RC})
endforeach()
list(APPEND extras_dependencies
${config_romfs_extra_dependencies}
)
if (config_romfs_extra_files)
set(extras_copy_cmd COMMAND ${CMAKE_COMMAND} -E copy_if_different ${config_romfs_extra_files} ${romfs_gen_root_dir}/extras/)
else()
set(extras_copy_cmd "")
endif()
add_custom_command(OUTPUT romfs_extras.stamp
COMMAND ${CMAKE_COMMAND} -E make_directory ${romfs_gen_root_dir}/extras/
COMMAND ${CMAKE_COMMAND} -E make_directory ${PX4_BINARY_DIR}/romfs_extras/
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PX4_BINARY_DIR}/romfs_extras/ ${romfs_gen_root_dir}/extras/
${extras_copy_cmd}
COMMAND ${CMAKE_COMMAND} -E touch romfs_extras.stamp
DEPENDS
romfs_copy.stamp
${config_romfs_extra_files}
${extras_dependencies}
COMMENT "ROMFS: copying extras"
)
add_custom_target(romfs_gen_files_target
DEPENDS
${romfs_extract_stamp}
${romfs_gen_root_dir}/init.d/rc.serial
romfs_extras.stamp
)
add_custom_command(
OUTPUT romfs_pruned.stamp
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_romfs_pruner.py --folder ${romfs_gen_root_dir} --board ${PX4_BOARD}
@@ -220,7 +246,11 @@ if("${CONFIG_FS_CROMFS}" STREQUAL "y")
COMMENT "ROMFS: generating image"
)
else()
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
elseif("${CONFIG_FS_ROMFS}" STREQUAL "y")
# create romfs.img
find_program(GENROMFS genromfs)
if(NOT GENROMFS)
@@ -255,13 +285,13 @@ else()
COMMAND ${SED} 's/unsigned/const unsigned/g' nsh_romfsimg.c > nsh_romfsimg.c.tmp && ${CMAKE_COMMAND} -E rename nsh_romfsimg.c.tmp nsh_romfsimg.c
DEPENDS romfs.img
)
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
endif()
add_library(romfs STATIC nsh_romfsimg.c)
add_dependencies(romfs prebuild_targets)
set_target_properties(romfs PROPERTIES LINKER_LANGUAGE C)
# shellcheck
find_program(SHELLCHECK_PATH shellcheck)
@@ -271,11 +301,15 @@ if(SHELLCHECK_PATH)
# TODO: fix SC2086, SC2166
add_custom_target(shellcheck
COMMAND ${SHELLCHECK_PATH} --shell=sh
--exclude=SC1090 # SC1090: use of source (.) - Can't follow non-constant source. Use a directive to specify location.
--exclude=SC1091 # SC1091: use of source (.) - Not following: xxxx openBinaryFile: does not exist (No such file or directory)
--exclude=SC2121 # SC2121: To assign a variable, use just 'var=value'
--exclude=SC2086 # SC2086: Double quote to prevent globbing and word splitting.
--exclude=SC2166 # SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
--exclude=SC2154 # SC2154: <var> is referenced but not assigned (NuttX uses different asssignment)
--exclude=SC2164 # SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
--exclude=SC2169 # SC2169: In dash, 'source' in place of '.' is not supported. (we alias it)
--exclude=SC2039 # SC2039: In POSIX sh, 'source' in place of '.' is undefined. (we alias it)
--exclude=SC2181 # SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
`find ${romfs_gen_root_dir}/init.d -type f`
DEPENDS ${romfs_gen_root_dir}/init.d/rc.autostart
+6 -6
View File
@@ -51,7 +51,7 @@ fi
param select $PARAM_FILE
if ! param load
then
param reset
param reset_all
fi
#
@@ -61,15 +61,15 @@ set BOARD_RC_DEFAULTS /etc/init.d/rc.board_defaults
if [ -f $BOARD_RC_DEFAULTS ]
then
echo "Board defaults: ${BOARD_RC_DEFAULTS}"
sh $BOARD_RC_DEFAULTS
. $BOARD_RC_DEFAULTS
fi
unset BOARD_RC_DEFAULTS
#
# Start system state indicator.
#
rgbled start -X
rgbled_ncp5623c start -X
rgbled start -X -q
rgbled_ncp5623c start -X -q
rgbled_pwm start
if param greater LIGHT_EN_BLINKM 0
@@ -87,7 +87,7 @@ set BOARD_RC_SENSORS /etc/init.d/rc.board_sensors
if [ -f $BOARD_RC_SENSORS ]
then
echo "Board sensors: ${BOARD_RC_SENSORS}"
sh $BOARD_RC_SENSORS
. $BOARD_RC_SENSORS
fi
unset BOARD_RC_SENSORS
@@ -95,7 +95,7 @@ unset BOARD_RC_SENSORS
# Start UART/Serial device drivers.
# Note: rc.serial is auto-generated from Tools/serial/generate_config.py
#
sh /etc/init.d/rc.serial
. /etc/init.d/rc.serial
# Check for flow sensor
if param compare SENS_EN_PX4FLOW 1
+5
View File
@@ -33,3 +33,8 @@
add_subdirectory(init.d)
add_subdirectory(mixers)
# TODO: make this configurable from the board config, or better combine
if("${PX4_BOARD}" MATCHES "sitl")
add_subdirectory(mixers-sitl)
add_subdirectory(init.d-posix)
endif()
@@ -0,0 +1,39 @@
############################################################################
#
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
add_subdirectory(airframes)
px4_add_romfs_files(
rc.replay
rcS
)
@@ -10,4 +10,3 @@
sh /etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,4 +5,4 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -5,7 +5,7 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with camera
#
sh /etc/init.d-posix/1030_plane
sh /etc/init.d-posix/airframes/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with catapult
#
sh /etc/init.d-posix/1030_plane
sh /etc/init.d-posix/airframes/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -3,7 +3,7 @@
# @name Plane SITL with downward facing LIDAR.
#
sh /etc/init.d-posix/1030_plane
sh /etc/init.d-posix/airframes/1030_plane
if [ $AUTOCNF = yes ]
then
@@ -0,0 +1,12 @@
#!/bin/sh
#
# @name Quadrotor SITL model for JSBSim
#
# @type Quadrotor Wide
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
sh /etc/init.d/rc.mc_defaults
set MIXER quad_w
@@ -0,0 +1,35 @@
#!/bin/sh
#
# @name Hexacopter SITL model for JSBSim
#
# @type Hexarotor x
#
# @maintainer Jaeyoung Lim <jaeyoung@auterion.com>
#
sh /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
param set MC_PITCHRATE_P 0.1
param set MC_PITCHRATE_I 0.05
param set MC_PITCH_P 6.0
param set MC_ROLLRATE_P 0.15
param set MC_ROLLRATE_I 0.1
param set MC_ROLL_P 6.0
param set MPC_XY_VEL_I_ACC 4
param set MPC_XY_VEL_P_ACC 3
param set RTL_DESCEND_ALT 10
param set RTL_LAND_DELAY 0
param set TRIG_INTERFACE 3
param set TRIG_MODE 4
param set MNT_MODE_IN 4
param set MNT_DO_STAB 2
param set MAV_PROTO_VER 2
fi
set MAV_TYPE 13
set MIXER hexa_x
@@ -0,0 +1,73 @@
############################################################################
#
# Copyright (c) 2020 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
px4_add_romfs_files(
10016_iris
10020_if750a
10030_px4vision
1010_iris_opt_flow
1010_iris_opt_flow.post
1011_iris_irlock
1012_iris_rplidar
1013_iris_vision
1013_iris_vision.post
1014_solo
1015_iris_obs_avoid
1015_iris_obs_avoid.post
1016_iris_rtps
1016_iris_rtps.post
1017_iris_opt_flow_mockup
1018_iris_vision_velocity
1019_iris_dual_gps
1020_uuv_generic
1021_uuv_hippocampus
1030_plane
1031_plane_cam
1032_plane_catapult
1033_plane_lidar
1033_rascal
1034_rascal-electric
1040_standard_vtol
1041_tailsitter
1042_tiltrotor
1060_rover
1061_r1_rover
1062_tf-r1
1070_boat
3010_quadrotor_x
3011_hexarotor_x
17001_tf-g1
2507_cloudship
6011_typhoon_h480
6011_typhoon_h480.post
)
+10 -10
View File
@@ -44,10 +44,12 @@ else
# Find the matching Autostart ID (file name has the form: [0-9]+_${PX4_SIM_MODEL})
# TODO: unify with rc.autostart generation
# shellcheck disable=SC2012
REQUESTED_AUTOSTART=$(ls "$SCRIPT_DIR" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
REQUESTED_AUTOSTART=$(ls "$SCRIPT_DIR/airframes" | sed -n 's/^\([0-9][0-9]*\)_'${PX4_SIM_MODEL}'$/\1/p')
if [ -z "$REQUESTED_AUTOSTART" ]; then
echo "Error: Unknown model '$PX4_SIM_MODEL'"
echo "Error: Unknown model $PX4_SIM_MODEL (not found by name on $SCRIPT_DIR/airframes)"
exit 1
else
echo "Info: found model autostart file as SYS_AUTOSTART=$REQUESTED_AUTOSTART"
fi
fi
@@ -101,7 +103,7 @@ then
set AUTOCNF yes
# Wipe out params except RC*, flight modes, total flight time, accel cal, gyro cal, next flight UUID
param reset_nostart RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT_UUID
param reset_all SYS_AUTOSTART SYS_AUTOCONFIG RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* COM_FLIGHT_UUID
fi
# multi-instance setup
@@ -119,16 +121,14 @@ if [ $AUTOCNF = yes ]
then
param set SYS_AUTOSTART $REQUESTED_AUTOSTART
param set BAT_N_CELLS 3
param set BAT_N_CELLS 4
param set CAL_ACC0_ID 1311244
param set CAL_ACC_PRIME 1311244
param set CAL_ACC1_ID 1311500
param set CAL_GYRO0_ID 1311244
param set CAL_GYRO_PRIME 1311244
param set CAL_GYRO1_ID 1311500
param set CAL_MAG0_ID 197388
param set CAL_MAG_PRIME 197388
param set CAL_MAG1_ID 197644
param set CBRK_AIRSPD_CHK 0
param set CBRK_SUPPLY_CHK 894281
@@ -197,7 +197,7 @@ fi
# Autostart ID
autostart_file=''
for f in etc/init.d-posix/"$(param show -q SYS_AUTOSTART)"_*
for f in etc/init.d-posix/airframes/"$(param show -q SYS_AUTOSTART)"_*
do
filename=$(basename "$f")
case "$filename" in
@@ -34,6 +34,8 @@
add_subdirectory(airframes)
px4_add_romfs_files(
rc.airship_apps
rc.airship_defaults
rc.fw_apps
rc.fw_defaults
rc.interface
@@ -15,7 +15,7 @@
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.fw_defaults
. /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -23,7 +23,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -8,7 +8,7 @@
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER quad_x
set PWM_OUT 1234
@@ -8,7 +8,7 @@
# @maintainer Roman Bapst <roman@auterion.com>
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -22,7 +22,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER hexa_cox
@@ -8,7 +8,7 @@
# @maintainer Romain Chiappinelli <romain.chiap@gmail.com>
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER quad_x
set PWM_OUT 1234
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER octo_cox
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
if [ $AUTOCNF = yes ]
then
@@ -18,7 +18,7 @@
# @output AUX5 Throttle
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -13,7 +13,7 @@
# @maintainer Roman Bapst <roman@px4.io>
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -22,7 +22,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -8,7 +8,7 @@
# @maintainer Roman Bapst <roman@px4.io>
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -19,7 +19,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -11,7 +11,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -12,7 +12,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -20,7 +20,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -17,7 +17,7 @@
# @output MAIN8 Pusher reverse channel
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -21,7 +21,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -5,8 +5,6 @@
# @type VTOL Octoplane
# @class VTOL
#
# @maintainer
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
@@ -21,11 +19,12 @@
# @output AUX4 Rudder
# @output AUX5 Throttle
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -16,7 +16,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then
@@ -16,7 +16,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER tri_y_yaw+
@@ -16,7 +16,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER tri_y_yaw-
@@ -17,7 +17,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
set MIXER coax
if [ $AUTOCNF = yes ]
@@ -18,7 +18,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.mc_defaults
. /etc/init.d/rc.mc_defaults
# Configure as helicopter (number 4 defined in commander_helper.cpp)
set MAV_TYPE 4
@@ -24,7 +24,7 @@
# @board bitcraze_crazyflie exclude
#
sh /etc/init.d/rc.fw_defaults
. /etc/init.d/rc.fw_defaults
if [ $AUTOCNF = yes ]
then

Some files were not shown because too many files have changed in this diff Show More