Compare commits

...

434 Commits

Author SHA1 Message Date
RomanBapst
49f998f02a fixed comment 2021-03-10 11:42:52 +03:00
Daniel Agar
cb668bb2bd
fw_pos_control_l1: merge loiter + position handling 2020-10-06 17:36:53 -04:00
Daniel Agar
c01fabaf11
FW move altitude first order hold (FOH) and loiter to position special cases from navigator to position controller
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2020-10-06 16:57:12 -04:00
Daniel Agar
9838e340e0 systemcmds/tune_control: add play error documentation 2020-10-06 10:21:15 -04:00
JaeyoungLim
e0dc9900aa Fix mavros tests by updating sdf version of the iris model
This commit switches the sdf version of the iris model from 1.7 to 1.6 so that it can be run on ROS melodic, which the MAVROS tests were running in
2020-10-06 09:56:32 -04:00
Silvan Fuhrer
84455ac9e3 logger: increase logging rate of airspeed_validated from 1Hz to 5Hz
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer
5a184d2f5c Commenting and formating fixes
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer
8f858d95e6 Rename equivalent airspeed (EAS) to calibrated airspeed (CAS)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Silvan Fuhrer
f8d5b09b56 airspeed: remove duplicated comments from cpp (they should only be in header)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-10-06 09:31:58 +02:00
Daniel Agar
f01c4e769f
sensors/vehicle_imu: vehicle_imu_status add mean accel/gyro
- this makes it slightly easier to gather long term data for an Allan Variance
 - fixes https://github.com/PX4/Firmware/issues/6250
2020-10-05 22:18:03 -04:00
Daniel Agar
08bf71b73d
drivers/tone_alarm and tune_control small improvements/cleanup
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
 - drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
 - drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
 - msg/tune_control: add tune_id numbering
 - systemcmds/tune_control: add "error" special case tune_id
 - move all tune_control publication to new uORB::PublicationQueued<>
 - start tone_alarm immediately after board defaults are loaded to fix potential startup issues
 - for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
2020-10-05 21:39:26 -04:00
jaeyoung
c7072b61a3 Update jsbsim bridge to latest master
Update jsbsim bridge to latest master
2020-10-05 20:20:04 -04:00
jaeyoung
b7c1f6a857 Update sitl_gazebo to latest master
Update sitl_gazebo to latest master
2020-10-05 20:18:59 -04:00
Daniel Agar
016ee6ea59
battery: fix duplicate uORB publish and minor cleanup
- run battery_status module on adc_report publications rather than a fixed schedule
2020-10-05 11:01:58 -04:00
Daniel Agar
be28c4d309 lib/rc: dsm_bind() add debug output for binding
- trivial code style cleanup
2020-10-04 22:23:47 -04:00
Daniel Agar
ddce711acb drivers/rc_input: command line bind use vehicle_command 2020-10-04 22:23:47 -04:00
Daniel Agar
1bf0218c87 boards: mRo Control Zero F7 fix RC input and cleanup sensors init 2020-10-04 22:23:47 -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 d2254c2e4490f, 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): 6b99ea2a60
    - ecl current upstream: 4c2355a638
    - Changes: 6b99ea2a60...4c2355a638

    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): 09524c98db
    - mavlink v2.0 current upstream: e3d00c4436
    - Changes: 09524c98db...e3d00c4436

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): fab242a81f
    - ecl current upstream: 6b99ea2a60
    - Changes: fab242a81f...6b99ea2a60

    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): a8b7ca869e
    - nuttx current upstream: 0fe69f6cc0
    - Changes: a8b7ca869e...0fe69f6cc0

    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 59bd3e9f6e72db5d1751fc11fe6dccaf1c69b05e.
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 (ac732cdebad261f0008ebcadaf78e0afbee29716): 78bba3f25e
    - sitl_gazebo current upstream: 9d2b19784c
    - Changes: 78bba3f25e...9d2b19784c

    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): a204c59990
    - ecl current upstream: fab242a81f
    - Changes: a204c59990...fab242a81f

    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): efc2a1fa7e
    - mavlink v2.0 current upstream: 09524c98db
    - Changes: efc2a1fa7e...09524c98db

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): 264c8c4e86
    - ecl current upstream: a204c59990
    - Changes: 264c8c4e86...a204c59990

    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 (0b0d23e8fa636da1a06ad24fee1bb73eb5c737aa): 5ad778dea3
    - mavlink v2.0 current upstream: 7d6be862bc
    - Changes: 5ad778dea3...7d6be862bc
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): 171ae1da5e
    - mavlink v2.0 current upstream: 5ad778dea3
    - Changes: 171ae1da5e...5ad778dea3
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 (8eb46b0eb8c9bda9e5840c7d2200a15aba3ebe57): 14ce7868fb
    - jMAVSim current upstream: 358b6cca40
    - Changes: 14ce7868fb...358b6cca40

    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): 925b7b513b
    - nuttx current upstream: 863ed53e3f
    - Changes: 925b7b513b...863ed53e3f

    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): 25c0455348
    - matrix current upstream: ce6b10b99a
    - Changes: 25c0455348...ce6b10b99a

    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): bd0c5fbb97
    - ecl current upstream: 264c8c4e86
    - Changes: bd0c5fbb97...264c8c4e86

    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): cc7ed13f41
    - mavlink v2.0 current upstream: 171ae1da5e
    - Changes: cc7ed13f41...171ae1da5e
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): 3ae934544f
    - ecl current upstream: bd0c5fbb97
    - Changes: 3ae934544f...bd0c5fbb97

    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): 1e6c6f2d3c
    - ecl current upstream: 3ae934544f
    - Changes: 1e6c6f2d3c...3ae934544f

    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): ec93490890
    - ecl current upstream: 1e6c6f2d3c
    - Changes: ec93490890...1e6c6f2d3c

    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
1157 changed files with 24165 additions and 13774 deletions

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

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()

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')
}
}

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"'

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],
}

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:

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:

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: [

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,

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: [

View File

@ -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

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

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

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

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:

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

10
.gitmodules vendored
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

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
}
}

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

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",

79
.vscode/settings.json vendored
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"
}
}

254
.vscode/tasks.json vendored
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"
}
]
}

122
Jenkinsfile vendored
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')

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

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

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()

View File

@ -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
)

View File

@ -10,4 +10,3 @@
sh /etc/init.d/rc.mc_defaults
set MIXER quad_w

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -5,4 +5,4 @@
# @type Quadrotor Wide
#
sh /etc/init.d-posix/10016_iris
sh /etc/init.d-posix/airframes/10016_iris

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
)

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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -18,7 +18,7 @@
# @output AUX5 Throttle
#
sh /etc/init.d/rc.vtol_defaults
. /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF = yes ]
then

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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+

View File

@ -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-

View File

@ -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 ]

View File

@ -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

View File

@ -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