Compare commits

..

436 Commits

Author SHA1 Message Date
CarlOlsson 1c0d7fc45c Add DeviceBusType_MAVLINK
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2021-01-13 10:18:31 +01:00
Jannik Beyerstedt 3834690c4b Add parameter to select the set of used GNSS systems 2021-01-13 08:33:07 +01:00
JacobCrabill 917fef546a uavcan: Remove single-GNSS limitation from UavcanGnssBridge 2021-01-12 22:04:52 -05:00
Daniel Agar a57b9f9381 delete drv_baro.h, drv_mag.h, drv_range_finder.h, drv_device.h and purge UAVCAN CDev usage 2021-01-12 22:04:52 -05:00
Daniel Agar 7f5fae91b0 boards: mro ctrl zero f7 fix default power module calibration 2021-01-12 16:51:05 -05:00
Jaeyoung-Lim 16b1b220fd Fix roslaunch multivehicle regression caused by #16497 2021-01-12 21:19:36 +01:00
Beat Küng daaf8b61dc drivers: remove ism330dlc
not used anymore
2021-01-12 09:55:59 -05:00
Beat Küng 9f5dee2ecf v5x/v6x: update IMU sensors (remove ISM330DLC) 2021-01-12 09:55:59 -05:00
Daniel Agar 48f125f150 estimated IMU bias preflight checks
- commander preflightcheck use estimator_sensor_bias message instead of EKF state index magic number
 - ekf2 publish estimated bias limits in estimator_sensor_bias
 - preflightcheck only error if bias estimate exceeds half of configured limit (delete COM_ARM_EKF_AB and COM_ARM_EKF_GB parameters)
2021-01-12 09:09:42 +01:00
TSC21 7c95e99156 tools: make sure that uORB type names found as part of field names are not capitalized as ROS types 2021-01-12 09:05:59 +01:00
Daniel Agar cb74cb8692 boards: enable CONFIG_ARMV7M_LAZYFPU everywhere 2021-01-12 09:04:38 +01:00
Daniel Agar abec2bd8df msg: estimator_status_flags shorten fields
- previously this message exceeded the logger total field length (1500 bytes)
2021-01-11 11:49:51 -05:00
Daniel Agar 04f9ada500 ekf2: selector improve fallback selection when the primary becomes unhealthy
- if an ekf instance becomes unhealthy prefer switching to the next best healthy instance on a different IMU
2021-01-11 09:38:26 -05:00
Daniel Agar 967d35a6b6 rate limit most parameter_update subscriptions
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
 - limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Daniel Agar 70e503cb91 rotation: use Dcmf for all rotations that aren't direct swaps
- increase optimization to ${MAX_CUSTOM_OPT_LEVEL} (max per board)
2021-01-10 18:08:41 -05:00
TSC21 06b733bb86 msg: rtps: improve verbosity when the the client is not capable of parsing a specific ID 2021-01-10 22:22:22 +01:00
TSC21 3f1c303b16 msg: rtps: improve verbosity when the the agent is not capable of parsing a specific ID 2021-01-10 22:22:22 +01:00
bazooka joe 9b9163813d avoid re-initiate RTL or land in battery emergency
if the mode is already running
2021-01-10 21:19:52 +01:00
Nicolas de Palezieux 6260c164e7 fmu v4: make starting mavlink on WIFI port configurable and make it start by default 2021-01-10 21:16:02 +01:00
Nicolas de Palezieux 653b7c0007 fmu v4: add option to run DShot telemetry on UART usually used for the ESP WIFI module 2021-01-10 21:16:02 +01:00
Matthias Grob 3cc8e7a210 commander_params: Make multicopter only COM_RC_OVERRIDE more visible 2021-01-10 21:12:09 +01:00
TSC21 cef3d36af2 simulator: delete PublicationMulti ptrs for sensor_gps 2021-01-10 19:58:54 +01:00
Daniel Agar f73d93ef6c ekf2: selector improve status reporting
- publish estimator_selector_status at minimal rate or immediately on change
 - log all estimator_selector_status updates
2021-01-10 19:25:53 +01:00
Matthias Grob 2fc212e064 geofence_params: clarify EKF vs baro altitude source 2021-01-10 18:40:58 +01:00
Hamish Willee d5c8d0a233 GF_ALTMODE: Update in line with Lorenz feedback 2021-01-10 18:40:58 +01:00
Hamish Willee d43444fce7 geofence: GF_ALTMODE clarification 2021-01-10 18:40:58 +01:00
Muesli_Reep fe7908feb0 Simulator: Added remote host option (#15443)
* Added an option to the Simulator module to connect to remote Gazebo servers.

This is usefull when the Gazebo simulation is running on a different host than the PX4 instance.
For example, we are running instances of PX4 with a companion application in multiple Dockers, for swarming simulations, which then connect to a remote Gazebo server.

A "-t" input argument has been added and can be called from the rcS startup script as: simulator start -t "192.168.178.122" $simulator_tcp_port

* _tcp_remote_ipaddr defaults to nullptr. This way testing against nullptr it can be determined if localhost or remote host is desired by the user.
* Documented the option in usage().

Signed-off-by: Peter Blom <peterblom.mail@gmail.com>
2021-01-10 18:37:37 +01:00
Daniel Agar 763c3b8fda boards: start enabling multi-EKF by default on F7/H7 2021-01-10 17:56:34 +01:00
Jaeyoung-Lim b3257c0bf2 Support relative altitude for offboard global position setpoints
Previously the coordinate_frame flag for setpoint_target_global_int message was not handled, resulting in the vehicle to not handle altitude correctly. This commit handles the relative altitude correctly.
2021-01-10 17:54:53 +01:00
Daniel Agar 662f177830 ekf2: multi instance numbering consistent with uORB publication instances 2021-01-09 13:20:26 -05:00
Daniel Agar c3fc96fd42 uORB::PublicationMulti add get_instance() 2021-01-09 13:20:26 -05:00
PX4 BuildBot 0398a936e3 Update submodule ecl to latest Sat Jan 9 16:06:23 UTC 2021
- ecl in PX4/Firmware (c6af260a41): https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
    - ecl current upstream: https://github/commit/99575d73e10aad06eb7d5b6415ea2db4151c5045
    - Changes: https://github/compare/c212975abe83bf462bc512288ba30358f9a17865...99575d73e10aad06eb7d5b6415ea2db4151c5045

    99575d7 2021-01-09 Paul Riseborough - EKF: Add bad accel bias checking for EV and range finder height use cases
ff3c0a6 2021-01-08 Paul Riseborough - EKF: Fix bug preventing recovery from bad delta velocity bias estimates
c25c97f 2021-01-08 priseborough - [AUTO COMMIT] update change indication
9641810 2021-01-08 Paul Riseborough - test: Allow for larger vel variance growth due to dvel bias variance
1b1c049 2021-01-08 Paul Riseborough - test: Update unit test to match expected behaviour
dd259a2 2021-01-07 Paul Riseborough - EKF: Don't modify accel bias states and variances when inhibited
3e1f2d8 2021-01-07 Paul Riseborough - EKF: Set dvel bias variance to stored value when state is inactive
2021-01-09 12:57:25 -05:00
Daniel Agar c6af260a41 log_message increase queue depth 2->4 2021-01-09 11:04:32 -05:00
Jaeyoung-Lim d42e57a066 Update sitl_gazebo to latest
This PR updates sitl_gazebo to latest
2021-01-08 21:33:22 -05:00
Daniel Agar b9a721726d sensors/vehicle_magnetometer: respect calibration offset update success
- the magnetometer calibration offset setter returns false if the new offset change is negligible
2021-01-08 15:34:48 -05:00
Mohamed Abdelkader Zahana 80dd841cad Update launch files to enable multi-video stream in SITL (#16497)
* Update launch files to support multi-video stream in SITL

* Pass extra args to jinja_gen.py inside gazebo_sitl_multiple_run.sh to enable multi-video streaming
2021-01-08 19:29:47 +01:00
Silvan Fuhrer 706f806943 VTOL: standard VTOL and Tiltrotor manual MC throttle during transition
This sets the throttle of the Multicopter actuators to the throttle stick position
while in Stabilized, Acro or Manual mode.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-08 10:28:00 +01:00
xdwgood 802c68a62e Do not run transition flight task when not enable altitude control 2021-01-08 10:28:00 +01:00
Daniel Agar bf330a51b2 sensors/vehicle_magnetometer: reduce offset update message length to fit 2021-01-08 01:22:31 -05:00
Thies Lennart Alff eb60479e4c UUV introduce param to skip controller (#15706)
* added skip_ctrl param to uuv

* fixed formatting
2021-01-08 06:50:40 +01:00
PX4 BuildBot 064511c2df Update submodule flightgear_bridge to latest Fri Jan 8 00:39:45 UTC 2021
- flightgear_bridge in PX4/Firmware (168468c12a): https://github.com/PX4/PX4-FlightGear-Bridge/commit/44b51d5b1ccc6679e82090e24177ed73a3d4f5de
    - flightgear_bridge current upstream: https://github.com/PX4/PX4-FlightGear-Bridge/commit/7c2c623da9f5dcb3f01d32830af1a2ed958de363
    - Changes: https://github.com/PX4/PX4-FlightGear-Bridge/compare/44b51d5b1ccc6679e82090e24177ed73a3d4f5de...7c2c623da9f5dcb3f01d32830af1a2ed958de363

    7c2c623 2021-01-06 slimonslimon - Switch Ign-math to Eigen3 (#5)
2021-01-07 21:21:02 -05:00
PX4 BuildBot 168468c12a Update submodule ecl to latest Thu Jan 7 12:50:52 UTC 2021
- ecl in PX4/Firmware (c999734463c9b23c6b56670d5242ca4496f9e6ef): https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
    - ecl current upstream: https://github/commit/c212975abe83bf462bc512288ba30358f9a17865
    - Changes: https://github/compare/03fed323ab950125114eb34309d3a79119e572ee...c212975abe83bf462bc512288ba30358f9a17865

    c212975 2021-01-06 bresch - rng height: reset to baro using common logic
2021-01-07 12:08:21 -05:00
Daniel Agar 88f8da27ef save learned mag bias per sensor (Multi-EKF support)
- handle saving the mag bias per sensor (across all estimator instances using that mag) in sensors/vehicle_magnetometer
 - this is now saving back to the actual mag calibration CAL_MAGn_OFF{X,Y,Z}
 - ekf2 reset mag mag bias on any magnetometer or calibration change
 - use Kalman filter scheme to update stored mag bias parameters using all available bias estimates for that sensor

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2021-01-07 09:54:13 -05:00
Matthias Grob 537ee5b19b FlightTaskOrbit: smooth yaw like in missions 2021-01-07 13:31:05 +01:00
Matthias Grob 44606ca872 FlightTaskOrbit: further simplify circling yaw setpoint calculation
The whole angle adding and pi wrap was just necessary because the
correct atan2 arguments were never completely thought through.
2021-01-07 13:31:05 +01:00
Matthias Grob f435bea57c state_machine_helper: orbit failsafe just with data link loss
RC is like the comment says not required.
2021-01-07 13:31:05 +01:00
Matthias Grob 6b8fa417e1 SlewRate: Add SlewRateYaw handling [-pi,pi] wraps 2021-01-07 13:31:05 +01:00
Daniel Agar 6c9072720e invensense/icm42688p: use full 20 bit data, increase ODR, disable all filters 2021-01-06 17:03:39 -05:00
Jaeyoung-Lim d2b0f63e1f Handle offboard mode with acceleration setpoints
The case when acceleration setpoints were being passed in offboard mode was triggering control_climbrate_mode. This prevented the vehicle from taking off, since it made the vehicle skip the rampup phase of the takeoff
This commit fixes this by handling the case properly
2021-01-06 20:38:18 +01:00
garfieldG 3fb8f5df62 drivers/lsm303agr: fixed bug incorrectly assembling signed 16 bit integer from bytes 2021-01-05 21:37:08 -05:00
PX4 BuildBot 01e3f0d586 Update submodule matrix to latest Tue Jan 5 12:40:51 UTC 2021
- matrix in PX4/Firmware (fd97e28019fa9c665d9b3c6995098dd51b4ab022): https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
    - matrix current upstream: https://github/commit/054f8b12f4da79767df6e05bb1d2cc8d679b99f3
    - Changes: https://github/compare/15e54ceda176f05e1ae38e71692d15cafb9e3a62...054f8b12f4da79767df6e05bb1d2cc8d679b99f3

    054f8b1 2021-01-04 Julian Kent - Use a single inverse implementation for a single matrix size
2021-01-05 19:24:42 -05:00
PX4 BuildBot ff82911d86 Update submodule ecl to latest Tue Jan 5 12:40:47 UTC 2021
- ecl in PX4/Firmware (824f78466ac4e32aecd6bda785e95eb348e1b31e): https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
    - ecl current upstream: https://github/commit/03fed323ab950125114eb34309d3a79119e572ee
    - Changes: https://github/compare/78ce46f00777f07d24c31bdc5e2edb203be2c0f4...03fed323ab950125114eb34309d3a79119e572ee

    03fed32 2021-01-05 Paul Riseborough - EKF: Fix formatting
31fca9c 2021-01-05 Paul Riseborough - EKF: Update GPS loss message
c65cf13 2020-12-15 Paul Riseborough - EKF; Treat combined sideslip and airspeed as a horizontal aiding source
211c84c 2021-01-04 bresch - Rng finder unit test: cover "un-stuck" logic
2021-01-05 19:23:25 -05:00
Paul Riseborough 64ed96bd95 ekf2: Correct airspeed used by EKF for calibration errors 2021-01-05 19:22:53 -05:00
Daniel Agar b94e346488 Update submodule sitl_gazebo to latest Tue Jan 5 12:40:40 UTC 2021 (#16493)
- sitl_gazebo in PX4/Firmware (850d0bc588): https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/44de4acc3f9cf9e44db58006f99ea190d217017a
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/054e0a1be67b715ca1802397082e7814a1427f52...44de4acc3f9cf9e44db58006f99ea190d217017a

    44de4ac 2021-01-02 Lorenz Meier - Update README.md

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-01-05 19:34:11 +01:00
Silvan Fuhrer 850d0bc588 vtol_type: remvoe const from function declaration
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 15:32:00 +01:00
RomanBapst 0871f0f52d vtol: refactor of maximum pwm value settings for main and alternate motors
- main motors are the ones which are meant to be used as propulsion in fw mode
- alternate motors are the ones usually meant to be switched off in fw mode

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 15:32:00 +01:00
Daniel Agar bc1e9f72f7 Jenkins hardware temporarily remove px4_fmu-v2 2021-01-04 09:30:47 -05:00
Silvan Fuhrer 92634e7549 RTL: during climb, set NAV_CMD_WAYPOINT for RW modes, NAV_CMD_LOITER_TO_ALT for FW
Do not use LOITER_TO_ALT for rotary wing mode as it would then always climb to
at least MIS_LTRMIN_ALT, even if current clib altitude is below
(e.g. RTL immediately after take off)

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 0b86c11c66 FW POS: remove setting of curr_sp to LOITER if next wp invalid
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 55a1d090a1 RTL: use NAV_CMD_LOITER_TO_ALT for Climb state
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:58:16 +01:00
RomanBapst 68f27ba7b7 navigator: deactivate line following after backt-ransition and before landing
- especially when there are strong winds it's better to just go straight
to the landing point instead of trying to follow the planned path

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst b63f756745 navigator: don't execute land pattern if vtol in rotary wing mode
- if vtol and in rotary wing mode then don't execute the mission landing
because it's designed to be flow as a fixed wing
- if vtol and in rotary wing mode and mission land is available then fly directly
to landing point and don't go home!

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 6c3f413379 mission: reset work_item_type during mission inactivation
- this fixes a race condition which happens when an RTL is triggered
during the final approach of a mission landing. In that case the mission inactive
method is never called.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst b63f202b3c various fixed for bugs encountered during testing
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst cfb3cdc82f rtl: use math namespace
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 94d3ab28ee rtl: fixed computation of return altitude when mission landing is available
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 12875f7869 mission: when land start marker present, look for loiter to altitude item
instead of using the previous waypoint as landing target
- the previous waypoint could be miles away

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst e0c394a00b mission: fixed bug in computation of landing altitude
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst a4a03e86da mission: be more intelligent about saying that we are on a mission landing
- previously the decision of being on a landing pattern was taken by just
looking at the current mission index. However, even if the current mission
index indicates a landing pattern the vehicle could be at an arbitrary location, far
from being established on the pattern.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 29c3ce6d5d reworked RTL cone implementation
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst dad5ce1e41 rtl: set proper acceptance radius for move_to_land item
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 6ff95ae645 RTL: implement proper RTL sequence for VTOL
- descend to RTL descend altitude
- transition
- move to land waypoint
- loiter and then land

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst 197a21a22e rtl: for fixed wing (also vtol) make the descend state of RTL use type
NAV_CMD_LOITER_TO_ALT

- this allows vtol to track the loiter circle during the transition instead
of trying to fly to the landing position

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst bb2826ad27 rtl: for vtol first desend down to RTL descend altitude before doing a transition
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
RomanBapst e81d5daa66 rtl: if very close to home then do not descend if higher than RTL_DESCEND_ALT
before reaching home

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-04 11:58:16 +01:00
Silvan Fuhrer 7c727edc3f Simple mixer: add output slew rate
This adds the option to limit the rate of change (slew rate) of an output that's mixed by a simple mixer.
To enable it, a positive number has to be added at the end (6th number) of the output scaler line of the mixer,
specifying the min rise time of this output.
E.g. O:      10000  10000      0 -10000  10000 20000 for a rise time of 2s, resp. a max slew rate of 0.5s^-1.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-01-04 11:32:22 +01:00
Daniel Agar 98cff94702 px4_work_queue: directly support SITL lockstep
- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
 - per workqueue register a lockstep component whenever a work item is
added (if not already registered)
 - once the work queue is empty unregister component
2021-01-04 09:38:05 +01:00
PX4 BuildBot 8c71ecd97e Update submodule ecl to latest Sat Jan 2 12:39:29 UTC 2021
- ecl in PX4/Firmware (03925cc70fd13c15a5dfe8ecc5653b91098ac68d): https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
    - ecl current upstream: https://github/commit/78ce46f00777f07d24c31bdc5e2edb203be2c0f4
    - Changes: https://github/compare/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef...78ce46f00777f07d24c31bdc5e2edb203be2c0f4

    78ce46f 2020-12-19 Kamil Ritz - Removing Matlab derivation
2021-01-02 11:54:56 -05:00
RomanBapst d502292d07 mission: for vtol takeoff don't use next waypoint as target during transition
- this caused the navigator to use the next waypoint (after the vtol takeoff item)
to be used as target during the transition. If the altitude of that waypoint
was much higher than the takeoff altitude then there were FOH effects
after the transition which caused the vehicle to first descend before
climbing again.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-01-02 02:18:59 +01:00
PX4 BuildBot a1b81df445 Update submodule sitl_gazebo to latest Fri Jan 1 12:39:16 UTC 2021
- sitl_gazebo in PX4/Firmware (a444d2610a): https://github.com/PX4/PX4-SITL_gazebo/commit/ca6c738fff30c516a5d2b9866ad268826a9ff0ff
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/054e0a1be67b715ca1802397082e7814a1427f52
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ca6c738fff30c516a5d2b9866ad268826a9ff0ff...054e0a1be67b715ca1802397082e7814a1427f52

    054e0a1 2021-01-01 pjdewitte - Jinja generation: add protection against accidental overwriting (#682)
869225e 2020-12-31 JaeyoungLim - Fix lightsource for high fidelity worlds (#680)
2021-01-01 21:57:05 +01:00
Lorenz Meier 0bdae5745a Update dsm.cpp
Fix documentation comment (reported by @Roman-, thanks!)
2021-01-01 15:30:25 +01:00
Lorenz Meier 9409122638 RC tests: Add new test file
This file is using a PX4IO-bound receiver on a DX9
2021-01-01 14:26:36 +01:00
Lorenz Meier 8d6239f11f PX4IO: Use DSM frame drops
These will now be reported the same as on SBUS.
2021-01-01 14:26:36 +01:00
Lorenz Meier 47fcf97442 DSM: Report frame drops
Frame drops were measured but not reported on PX4IO.
2021-01-01 14:26:36 +01:00
Lorenz Meier 00e6d11dfa PX Uploader: Disable windowed mode
The windowed mode has been added for Windows targets originally. It gets very often incorrectly detected and slows down flashing considerably. This even applies to serial links. We are disabling it now in most circumstances.
2021-01-01 14:26:36 +01:00
Daniel Agar 95dd2f7e8d rc/dsm: remove system field check, add new validity checks
- unfortunately we can't depend on the system field due to potential
external binding and non-genuine Spektrum equipment
 - reject any DSM frame with duplicate channels
 - add 16 channel mask
 - tighten valid PWM range 990-2010us (±100% travel is 1102-1898µs)
 - update RCTest rejected frame count
2021-01-01 14:26:36 +01:00
Daniel Agar d7b89ecc86 boards: px4/fmu-v5 disable px4io in rc.board_defaults
- avoid keeping this kind of logic in the common rcS
2021-01-01 14:12:26 +01:00
Lorenz Meier a444d2610a Spektrum passive power: Only use if present 2020-12-31 13:22:52 +01:00
Lorenz Meier 641cc33d79 RC input: Always report DSM state 2020-12-31 13:22:52 +01:00
Lorenz Meier e85afb22a5 FMUv5: Default Spektrum power to passive 2020-12-31 13:22:52 +01:00
Lorenz Meier cc34d4601d FMUv5: Support passive power controls
This ensures that FMU-side power controls are not interfering with IO-side power controls of DSM receivers if they happen to be OR-ed in the schematics
2020-12-31 13:22:52 +01:00
Lorenz Meier 6529e1444f RC input: Better monitoring
The output is now less confusing in terms of which protocol is currently active.
2020-12-31 13:22:52 +01:00
Lorenz Meier af28a298e5 DSM driver: Add option for passive power controls 2020-12-31 13:22:52 +01:00
Lorenz Meier 4237c8be25 Commander: Do not acknowledge binding
This is now done in the respective modules directly and based on implementation and execution state.
2020-12-31 13:22:52 +01:00
Lorenz Meier 2d1551e5bf PX4IO: Acknowledge binding 2020-12-31 13:22:52 +01:00
Lorenz Meier 8445a08bff RC input: Acknowledge binding (or indicate that feature is not implemented) 2020-12-31 13:22:52 +01:00
Lorenz Meier 44bdd5456f PX4IO: Bind if not armed
DSM binding was disabled before if safety was off, which on a lot of multicopters is today the default. The logic is now checking instead for wether the system is armed.
2020-12-31 13:22:52 +01:00
Lorenz Meier a34e57a4cc Simulator: Increase stack, publication affinity
This commit increases the send thread stack size and changes the thread affinity of the lockstep clocking topic. It also improves verbosity in case error states occur.
2020-12-31 01:05:30 +01:00
Lorenz Meier fda63f802e Tone alarm: Adjust log levels
The earlier log levels represented normal operation scenarios as errors, this aligns the log levels.
2020-12-31 01:05:30 +01:00
Lorenz Meier 3cc53f551d MAVSDK tests: Use full system timeout off
Depending on loop iterations for timeouts is not accurate, as usleep behavior depends on the system load and asking for a 0 ms sleep can potentially return immediately.
2020-12-31 01:05:30 +01:00
Lorenz Meier e27d80abc4 Camera feedback: Indicate success
If the feedback module is loaded then we want to provide capture feedback.
2020-12-30 23:36:47 +01:00
Daniel Agar 404f74f996 boards: mro/pixracerpro add flight_mode_manager 2020-12-30 10:25:08 -05:00
RomanBapst fe2e299046 FlightModeManager: small rebase change
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-30 10:25:08 -05:00
Matthias Grob e92795b474 Temporary logging addition to debug CI 2020-12-30 10:25:08 -05:00
Matthias Grob fafbb687d8 FlightModeManager: fix integral reset on ground
This information could also be used for yaw and integral
resets of the lower level controllers.
2020-12-30 10:25:08 -05:00
Matthias Grob 7de288877a MulticoperPositionControl: 3rd pass get rid of zombie members 2020-12-30 10:25:08 -05:00
Matthias Grob 62ada2e2dc FlightModeManager: restore weathervane calls
I had to do an extra subscription to the vehicle attitude.
I don't know how to test this.
2020-12-30 10:25:08 -05:00
Matthias Grob aa888223f0 FlightModeManager: fix takeoff state in stabilized mode 2020-12-30 10:25:08 -05:00
Matthias Grob 8edb06e94f FlightModeManager: make sure emergency failsafe works 2020-12-30 10:25:08 -05:00
Matthias Grob 8329208b84 FlightModeManager: fix takeoff ramp from zero 2020-12-30 10:25:08 -05:00
Matthias Grob 88c274b3cd MulticopterPositionControl: 2nd pass to move to FlightModeManager 2020-12-30 10:25:08 -05:00
Matthias Grob f52bad87e2 mc_pos_control: separate out flight_tasks (into FlightModeManager) 2020-12-30 10:25:08 -05:00
Matthias Grob 7545249215 Add flight_mode_manager to all targets with mc_pos_control 2020-12-30 10:25:08 -05:00
Matthias Grob fa7170bc4f Add FlightModeManager
to separate out setpoint generation from controllers
2020-12-30 10:25:08 -05:00
Daniel Agar 49d4cc7d5b commander: CMD_NAV_LAND/CMD_NAV_PRECLAND reply RESULT_ACCEPTED unless transition is denied 2020-12-30 12:05:41 +01:00
Benjamin Linne 80068093d6 add esc_battery module to modalai/fc-v1 build 2020-12-29 23:41:22 -05:00
Daniel Agar 91f5f26618 commander: main_state_transition call trivial style fixes 2020-12-30 00:26:14 +01:00
Daniel Agar 4f62355dec msg: new estimator_status_flags message for more accessible ekf2 status logging
- log all estimator (ekf2) flags as separate booleans in a new dedicated low rate message (only publishes at 1 Hz or immediately on any change)
 - this is a bit verbose, but it avoids the duplicate bit definitions we currently have across PX4 msgs, ecl analysis script, flight review, and many other custom tools and it's much easier for casual log review in FlightPlot, PlotJuggler, csv, etc
 - for compatibility I've left estimator_status filter_fault_flags, innovation_check_flags, and solution_status_flags in place, but they can gradually be removed as tooling is updated

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-29 11:27:21 -05:00
Lorenz Meier ddc1f964d2 Mac OS CI: Harden against intermittent install failures 2020-12-28 23:43:57 +01:00
Lorenz Meier 565da15f2f MAVSDK test: Increase timeout 2020-12-28 22:04:08 +01:00
Lorenz Meier 7510e6ba0a FMUv2: Exclude rarely used configurations 2020-12-28 21:02:03 +01:00
Lorenz Meier 53711926ab FMUv2: Exclude specialized fixed wing configs
The FMUv2 users can default back to generic configs for those.
2020-12-28 21:02:03 +01:00
Lorenz Meier aa28c3bd3c VTOL airframes: Exclude FMUv2
This excludes FMUv2 targets, since VTOL is already disabled on FMUv2.
2020-12-28 21:02:03 +01:00
Lorenz Meier 3d809134f5 Updating SITL gazebo (Mac OS fixes) 2020-12-28 20:41:48 +01:00
Daniel Agar adb98d5702 mavlink: move HIL_ACTUATOR_CONTROLS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 3b20310e9c mavlink: move POSITION_TARGET_GLOBAL_INT to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 672a1c90aa mavlink: move POSITION_TARGET_LOCAL_NED to separate streams header
- position type_mask
2020-12-28 11:09:46 +01:00
Daniel Agar 6b1d02feb7 mavlink: move RC_CHANNELS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 48be6962d1 mavlink: move MANUAL_CONTROL to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 629d03b684 mavlink: move TRAJECTORY_REPRESENTATION_WAYPOINTS to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 5762c3b356 mavlink: move NAV_CONTROLLER_OUTPUT to separate streams header 2020-12-28 11:09:46 +01:00
Daniel Agar 9f57df75e8 remove rotation 41 (ROLL_270_YAW_180)
- duplicate of 31 (ROLL_90_PITCH_180)
2020-12-28 11:07:08 +01:00
Daniel Agar a66cb0cbaf mavlink: check TX buffer before processing command ack 2020-12-28 11:05:42 +01:00
bazooka joe 8d5813994f format smart battery serial number as string on mavlink
according to change on mavlink protocol message
formatted as 'dd/mm/yy-123456'
2020-12-28 11:04:54 +01:00
Daniel Agar ceadcd74d0 mavlink: CAMERA_TRIGGER stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar ae706537b8 mavlink: CAMERA_IMAGE_CAPTURED stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar 27b631e827 mavlink: ADSB_VEHICLE stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar 0d72b47571 mavlink: COLLISION stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Daniel Agar dcb897307d mavlink: HEARTBEAT stream check free tx buf before send 2020-12-28 11:03:53 +01:00
Nicolas MARTIN e06d218ff2 commander: disable arm_auth request for prearm status continuous publication 2020-12-27 16:23:05 -05:00
Daniel Agar 02a08c42b7 tests: perf don't bother printing all perf counters 2020-12-27 15:29:45 -05:00
Daniel Agar 12bf035642 uORB: tests limit latency to only orb_test_medium and remove some unnecessary output 2020-12-27 15:29:45 -05:00
Daniel Agar 409ea2ac02 mavlink: parameters manually mark active minimal QGC set on first send 2020-12-27 13:54:03 -05:00
Lorenz Meier 4b0d8efbc1 Commander: move static overload_start to class 2020-12-27 13:44:32 -05:00
Jaeyoung-Lim 4f30037980 Add yosemite world as SITL target for gazebo
This commit adds yosemite world as a SITL target for gazebo
2020-12-27 12:53:25 -05:00
Daniel Agar 092060cde2 posix: improve error out for mlockall() and pthread_create
- add strerror
 - mlockall skipped in lockstep builds (ENABLE_LOCKSTEP_SCHEDULER)
2020-12-27 12:43:32 -05:00
Daniel Agar 48da0055a1 boards: add initial mRo Pixracer Pro (M10064C) support 2020-12-27 12:12:15 -05:00
PX4 BuildBot aa54db42ed Update submodule ecl to latest Sat Dec 26 12:39:53 UTC 2020
- ecl in PX4/Firmware (6a278fb230365aaf369956878ee08c3161ae739d): https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
    - ecl current upstream: https://github/commit/18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef
    - Changes: https://github/compare/df7f261e038aa80b07a91857f2f952280938bfc6...18f334f4dbca61e3bcd1743c22cf820b5a8ff7ef

    18f334f 2020-12-25 Mathieu Bresciani - flow: add unit test for yaw motion (#950)
2020-12-26 14:39:47 -05:00
Dan George 051bcf75b3 Fix PX4_CMAKE_BUILD_TYPE=Debug configuration
Set CMAKE_RUNTIME_OUTPUT_DIR_DEBUG & _RELEASE to match
CMAKE_RUNTIME_OUTPUT_DIR as is already done in top level CMakeLists.txt.

Fixes Issue 16445 - px4-alias.sh: not found

Co-authored-by: Dan George <dgeorge@anduril.com>
2020-12-24 19:02:07 -05:00
Daniel Agar 92afe45f7f vtol_att_control: improve readability of fill_actuator_outputs()
- vtol standard pass through landing gear for MC and flaps for FW
2020-12-24 09:29:17 -05:00
Silvan Fuhrer 9849ff4a9c Standard VTOL: set idle PWM during backtransition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-24 09:25:08 +01:00
Silvan Fuhrer 7e01938341 VTOL: rename class variable flag_idle_mc to _flag_idle_mc
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-24 09:25:08 +01:00
Ramón Hernán Roche Quintana 5c93403db7 Tools: Python >3.7 requires the wheel packge
currently installing pymavlink witouth the wheel package results in an
error when using Python 3.7 or later

https://github.com/ArduPilot/pymavlink/issues/486
2020-12-23 23:56:05 -05:00
Lorenz Meier 70c372329c MAVLink FTP: Update implementation according to updates specs
The MAVLink specs for CreateFile in MAVLink FTP were updated on Dec 23, 2020 (today) with a behavior change to truncate a file if it already existed, following the UNIX standard behavior: https://pubs.opengroup.org/onlinepubs/9699919799/functions/creat.html. This change is tracking that spec change. While it is a functional change, the limited usage of the FTP protocol and the fact that implementations should not rely on error states to determine wether to truncate a file or not makes this a viable change.
2020-12-23 13:45:01 +01:00
PX4 BuildBot 7861377e20 Update submodule devices to latest Tue Dec 22 00:39:39 UTC 2020
- devices in PX4/Firmware (68b6cca3bc4cd3c70ab1ea5c439e5941370e801e): https://github/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
    - devices current upstream: https://github/commit/9282d3d73391859f51c759a343a052dfb1be02e0
    - Changes: https://github/compare/86b09d332041acebc35c9a0476d8dfc2752dfe39...9282d3d73391859f51c759a343a052dfb1be02e0

    9282d3d 2020-12-21 Silvan Fuhrer - ubx: change uart2_baudrate to 230400
2020-12-22 07:43:50 +01:00
Silvan Fuhrer a88b7fc517 ROMFS: Tiltrotor SITL: improve tuning and remove unnecessary params from config
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-20 21:25:50 -05:00
PX4 BuildBot 3ff7cd94dd Update submodule ecl to latest Mon Dec 21 00:39:54 UTC 2020
- ecl in PX4/Firmware (caa35af3961aa96e2549a36f1fddb1a10ee802b2): https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
    - ecl current upstream: https://github/commit/df7f261e038aa80b07a91857f2f952280938bfc6
    - Changes: https://github/compare/a8e0e82858318042500f96f5ee882c638f201426...df7f261e038aa80b07a91857f2f952280938bfc6

    df7f261 2020-12-20 Kamil Ritz - Add missing const modifier
2020-12-20 21:24:52 -05:00
PX4 BuildBot ec79361548 Update submodule sitl_gazebo to latest Mon Dec 21 00:39:43 UTC 2020
- sitl_gazebo in PX4/Firmware (5868463d06): https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/4043287bbe07a9d091d579b755796e70d45058e8
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/563f0876a52d5c0fba1b7cd1aa420c613ec7025b...4043287bbe07a9d091d579b755796e70d45058e8

    4043287 2020-12-20 Silvan Fuhrer - tiltrotor: increase wing area to 0.5 per side (#678)
f004811 2020-12-20 JaeyoungLim - Update mavsdk version for SITL tests (#673)
2020-12-20 21:23:34 -05:00
PX4 BuildBot 5868463d06 Update submodule matrix to latest Fri Dec 18 12:38:33 UTC 2020
- matrix in PX4/Firmware (a505e82391bdb9d81c03d45919f2158cee6baa8c): https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
    - matrix current upstream: https://github/commit/15e54ceda176f05e1ae38e71692d15cafb9e3a62
    - Changes: https://github/compare/ea43303c1cd55b0da8e152373b49dd2d5e381772...15e54ceda176f05e1ae38e71692d15cafb9e3a62

    15e54ce 2020-11-04 Julian Kent - Rework rank-detection tolerance in pseudoinverse
d9a5e3d 2020-11-04 Julian Kent - Add test for new cutoff threshold
2020-12-18 10:15:20 -05:00
JaeyoungLim 39c585ac97 Enable SITL tests for macos (#16329)
This commit enables SITL testing on macOS
2020-12-18 20:31:51 +09:00
jaeyoung c8d18c2719 Fix tiltrotor model for sitl_gazebo 2020-12-18 12:27:07 +01:00
bresch c253badba4 HTE: remove dist_bottom validity check
Without range finder, the validity flag goes to false quite quickly and
if can be that a vehicle never starts HTE is the takeoff is too slow.
In this specific context of takeoff detection, since
the exact value is not important, we can safely ignore the validity flag.
2020-12-18 12:05:22 +01:00
bresch 690c1158ad HTE: do not update the estimator during fast up/down motions
Drag and prop wash effects produce significant forces at high speed
that can bias the estimator when applied for an extended period of time
2020-12-18 12:05:22 +01:00
bresch 39251daf28 HTE: pull status from class instead of returning struct 2020-12-18 12:05:22 +01:00
bresch 652cc4350e HTE: empty braces initialization of struct 2020-12-18 12:05:22 +01:00
bresch d532bc9555 HTE: only run in air
the _landed flag only is not enough to tell if the drone is still touching
the ground, so an additional check based on the altitude AGL is required.

to have this in_air detection correctly updated, the module needs to be
scheduled on the vehicle_local_position message as no setpoint is
produced in non-assisted modes.
2020-12-18 12:05:22 +01:00
Daniel Agar c05c213042 mavlink: ALTITUDE stream initialize local_pos 2020-12-18 08:32:04 +01:00
PX4 BuildBot 66b3562080 Update submodule ecl to latest Fri Dec 18 00:39:53 UTC 2020
- ecl in PX4/Firmware (dc358857c877ae01b922d84a6c6fffe6d8c46810): https://github/commit/1541e4b414fe63ec9d6c3077375db7e20c20ef4a
    - ecl current upstream: https://github/commit/a8e0e82858318042500f96f5ee882c638f201426
    - Changes: https://github/compare/1541e4b414fe63ec9d6c3077375db7e20c20ef4a...a8e0e82858318042500f96f5ee882c638f201426

    a8e0e82 2020-12-08 Daniel Agar - EKF: update mag LPF immediately
398fe15 2020-11-02 Daniel Agar - EKF: allow initialising without mag depending on configuration
1237087 2020-12-16 Daniel Agar - AlphaFilter add constructor that takes alpha and use in EKF
37e84b7 2020-12-16 Daniel Agar - README: fix zenodo badge (rename ecl -> PX4-ECL)
5ccb8b4 2020-12-15 Mathieu Bresciani - fakePosFusion: reset _last_known_posNE to current state when starting (#943)
9d22f14 2020-12-10 bresch - gps_alt: constrain var using 1.5 as a typical ratio of vacc/hacc
b0cf45e 2020-12-10 bresch - gps_alt: rename getGpsAltVar -> getGpsHeightVariance
62f2e26 2020-12-10 bresch - gps_alt: reset GPS alt variance usign helper function
f7bddda 2020-12-10 bresch - gps_alt: do not scale up reported gps vertical accuracy
02369cd 2020-12-10 bresch - gps_alt: extract measurement variance computation and saturation
2020-12-17 20:13:03 -05:00
PX4 BuildBot e5a00033f5 Update submodule matrix to latest Thu Dec 17 23:05:20 UTC 2020
- matrix in PX4/Firmware (788e6b9ad163f314ddd53a23f3705ca0018519f4): https://github/commit/a504b6e88152d88dba936bc74e449f2f281b84e2
    - matrix current upstream: https://github/commit/ea43303c1cd55b0da8e152373b49dd2d5e381772
    - Changes: https://github/compare/a504b6e88152d88dba936bc74e449f2f281b84e2...ea43303c1cd55b0da8e152373b49dd2d5e381772

    ea43303 2020-12-16 JacobCrabill - test/vector3: Add test for scalar +/- operators
158409a 2020-03-23 JacobCrabill - Vector3f: Add operator+/- for scalars
2020-12-17 19:05:46 -05:00
PX4 BuildBot 2a187a76d6 Update submodule sitl_gazebo to latest Thu Dec 17 23:05:03 UTC 2020
- sitl_gazebo in PX4/Firmware (90f61c2f9a): https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/563f0876a52d5c0fba1b7cd1aa420c613ec7025b
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/19981d61cfe656d2985fef5285b4a4d14f3be199...563f0876a52d5c0fba1b7cd1aa420c613ec7025b

    563f087 2020-12-17 JaeyoungLim - Fix tiltrotor model (#675)
0e2d63a 2020-12-17 JaeyoungLim - Fix wind transmormations for motor model (#674)
e5d0d65 2020-12-13 JaeyoungLim - Update container versions for tests (#672)
bccb487 2020-12-12 BazookaJoe1900 - mavlink_interface: rename serial link related function to include 'serial' (#670)
2020-12-17 18:45:08 -05:00
Ramón Hernán Roche Quintana 90f61c2f9a Update submodule GPSDrivers to latest Wed Dec 16 18:45:08 UTC 2020
ubx: fix #63: NAV-SAT/ SVINFO parser bug https://github.com/PX4/PX4-GPSDrivers/commit/86b09d332041acebc35c9a0476d8dfc2752dfe39
2020-12-17 08:28:25 +01:00
Daniel Agar 74083d6bd1 optical_flow/paw3902: minor improvements
- verify register writes
 - cleanly reset on lighting mode changes as per the datasheet
 - perf counters for mode switches and other errors
 - cleanly reset on false motion detection
 - minimize sleep on reset
 - allowing setting custom rotation yaw angle directly on command line with -Y (ignoring SENS_FLOW_ROT)
 - enable LED output
2020-12-16 20:04:46 -05:00
Daniel Agar 43b4cf39bd sitl_gazebo build single threaded
- building sitl_gazebo in parallel within a parallel PX4 build isn't load balanced
2020-12-16 19:45:08 -05:00
Daniel Agar 4d30f327f9 Github Actions: skip Mavros tiltrotor mission for now (#16405) 2020-12-16 17:34:32 +01:00
Daniel Agar a152fb65cb parameters: remove unnecessary duplicated shutdown lock in param_save_default()
- param_export already takes the shutdown lock
2020-12-16 10:50:05 -05:00
Daniel Agar c7db0942ba sensors: vehicle_imu don't round measured accel and gyro sample rates 2020-12-16 10:12:27 -05:00
Daniel Agar bf5ee99952 sensors: acceleration always get accel rate from vehicle_imu_status
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar 7038cb8518 sensors: angular_velocity always get gyro rate from vehicle_imu_status
- sensor rate is used for control data low pass and notch filters
2020-12-16 10:12:27 -05:00
Daniel Agar 336176b2f0 Mavlink FLIGHT_INFORMATION fix arming time (ms -> us) and add takeoff time
- fixes https://github.com/PX4/PX4-Autopilot/issues/16393
2020-12-16 09:38:05 -05:00
bresch b23d8244f0 ekf2: fix dist bottom constraint 2020-12-16 09:33:38 -05:00
Hamish Willee acc647c518 remove duplicate this in COM_HLDL_LOSS_T 2020-12-16 08:37:42 +01:00
Hamish Willee 4bc60cca69 remove more occurrences 2020-12-16 08:37:42 +01:00
Hamish Willee d58ee9400c system_params - remove duplicate text in param 2020-12-16 08:37:42 +01:00
Daniel Agar 8e14e13369 README.md update PX4/Firmware -> PX4/PX4-Autopilot 2020-12-15 20:27:03 -05:00
Robin Lilja aa244a098c Clarification of coordinate systems for sensors_* and vehicle_* messages (#16339)
Changed all 'NED' references to 'FRD'. Also cleaned up mixing of m/s/s and m/s^2 to use the latter. Corrected m/s/s to Pascals. Plus minor typos. Also made some minor cosmetic clean ups.

Co-authored-by: Robin <robin@Robins-MacBook-Pro-Work.local>
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-15 09:18:05 +01:00
Mathieu Bresciani fdd1d6d244 Multicopter rounded turns (#16376)
* AutoLineSmoothVel: Implement l1-style guidance in turns
2020-12-14 13:04:01 +01:00
Julian Oes 9b065b4975 Update src/systemcmds/tests/test_dataman.c
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-12-14 09:26:18 +01:00
Julian Oes 5cb1bb7731 systemcmds: fix dataman test 2020-12-14 09:26:18 +01:00
Julian Oes 1719ff9892 simulator: fix after px4_task_spawn_cmd change
argv[0] now contains the task name, so everything moves by one.
2020-12-14 09:26:18 +01:00
Julian Oes dba3c642d2 posix: set task name as argv[0] to match Nuttx
This changes px4_task_spawn_cmd to match the NuttX task_spawn. It adds
the task name as argv[0]. See example below:

px4_task_spawn_cmd("task_name",
		   SCHED_DEFAULT,
		   SCHED_PRIORITY_DEFAULT,
		   1024,
		   (px4_main_t)&Something::start_helper,
		   (char *const *)argv);

with:

argv[0]: "something"
argv[1]: "start"
argv[2]: nullptr

becomes in Something::start_helper:

argv[0]: "task_name"
argv[1]: "something"
argv[2]: "start"
argv[3]: nullptr
2020-12-14 09:26:18 +01:00
Julian Oes 862fd1d450 module: remove NuttX only quirk
The behaviour on NuttX and Posix should now be the same anyway.
2020-12-14 09:26:18 +01:00
Julian Oes 314b5e721f src: remove NuttX ifdefs around args
It doesn't look like they are required anymore.
2020-12-14 09:26:18 +01:00
Julian Oes 5be2066e1a posix: small cleanup 2020-12-14 09:26:18 +01:00
Thomas e51000c5be fix syntax of prev commit 2020-12-11 22:00:56 +01:00
Thomas Stauber eec64c5c0f More compact if statement
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-11 22:00:56 +01:00
Thomas d025787334 replace _vehicle_status 2020-12-11 22:00:56 +01:00
Thomas db58269577 Add support for set_position_target_local_ned message 2020-12-11 22:00:56 +01:00
Thomas 1e6976234f Remove reset_offb_cruising_speed(). Make more explicit that this PR only affects offboard mode. 2020-12-11 22:00:56 +01:00
Thomas f1524fe27d renaming the new functions 2020-12-11 22:00:56 +01:00
Thomas 9cc9e4f89f Handle MAV_CMD_DO_CHANGE_SPEED command for FW Offboard global position control. 2020-12-11 22:00:56 +01:00
Daniel Agar 0433f4d33c land_detector: decrease default LNDFW_AIRSPD_MAX 8 -> 6 m/s 2020-12-11 21:58:43 +01:00
Daniel Agar ae2b1a265c commander: POSCTL optical flow aiding continue updating GPOS validity
- updating the global position validity should happen regardless of
being in manual position control mode with only optical flow
 - condition_global_position_valid needs to be accurate to adjudicate
main state changes (eg going into AUTO MISSION)
2020-12-11 15:33:50 -05:00
Daniel Agar 6bda8af97c commander: merge duplicated position and velocity validity checks 2020-12-11 15:33:50 -05:00
Daniel Agar 5cd4a9c73f commander: global position validity respect local position xy_valid 2020-12-11 15:33:50 -05:00
Daniel Agar ef6209ba03 new manual_control_switches msg (split out of manual_control_setpoint) (#16270)
- split out switches from manual_control_setpoint into new message manual_control_switches
 - manual_control_switches published at minimal rate (~ 1 Hz) or immediately on change
 - simple switch debounce in rc_update (2 consecutive identical decodes required)
 - manual_control_switches logged at full rate rather than sampled at (5-10% of messages logged)
 - manual_control_setpoint publish at minimal rate unless changing
 - commander handle landing gear switch for manual modes
 - processing of mode_slot and mode_switch is now split so we only do one or the other (not both)
     - a future step will be to finally drop mode_switch and accompanying switches entirely

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-12-11 12:11:35 -05:00
Daniel Agar 25ef76b3b8 navigator: fix LOITER_TO_ALT
- this was overzealously removed in https://github.com/PX4/PX4-Autopilot/pull/15677
2020-12-11 16:28:08 +01:00
Jannik Beyerstedt c5a6a60903 Also log transponder_report and satellite_info
* log full data rate transponder_report message by default
* log satellite_info (GPS_STATUS) as part of debug topics
2020-12-11 12:44:23 +01:00
RomanBapst fd18ba6496 tiltrotor: allow to finish transition if groundspeed is below cruise speed
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-11 09:40:47 +03:00
Roman Bapst 842d98d572 AirspeedValidator: fuse true airspeed before sideslip (#742)
- the states can be initialised more accurately using an airspeed measurement
and the wind estimator uses the first measurement to initialise

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-12-11 09:37:09 +03:00
Daniel Agar d44e537084 ekf2: update to new ecl to fix fault status getter
- estimator_status filter_fault_flags was broken because the union within ecl/EKF has exceeded 16 bits
2020-12-10 12:45:41 -05:00
Beat Küng 72420dfff3 mavlink_receiver: remove unused _param_com_flight_uuid 2020-12-10 08:47:04 +01:00
PX4 BuildBot 7db555573b Update submodule ecl to latest Wed Dec 9 12:40:07 UTC 2020
- ecl in PX4/Firmware (ef162f7629ce29be8fd556b81357b96720d8e21f): https://github/commit/da7d41e78aecdc07d226bd7d723c747895d1c615
    - ecl current upstream: https://github/commit/8f3df7a97b348dd7bf06233004f9821fe2ea88d1
    - Changes: https://github/compare/da7d41e78aecdc07d226bd7d723c747895d1c615...8f3df7a97b348dd7bf06233004f9821fe2ea88d1

    8f3df7a 2020-12-09 Mathieu Bresciani - flow: restructure optical flow control logic (#928)
3835800 2020-12-09 kritz - Auto update change indication by github actions
688a054 2020-12-08 Daniel Agar - EKF: controlDragFusion() add parenthesis for readability
944b18c 2020-12-05 Paul Riseborough - EKF: Remove non useful status print
ee94980 2020-12-03 Paul Riseborough - EKF: Clean up wind state activation logic
44ebfb8 2020-12-02 Paul Riseborough - EKF: Don't report local position as valid when in a non-position mode
2020-12-09 13:12:58 -05:00
flbernier bca2d3139a Enable dshot driver for fmu-v4pro 2020-12-09 17:56:11 +01:00
Orkun Aşa f2aa7d3f88 Update ROMFS/px4fmu_common/init.d/rc.sensors
parameter comparison logic is changed.

Co-authored-by: Daniel Agar <daniel@agar.ca>
2020-12-09 17:55:38 +01:00
Orkun Aşa a6b7add2fe SENS_EN_VL53L1X parameter is implemented to enable VL53L1X distance sensor 2020-12-09 17:55:38 +01:00
Igor Campos 9c3b70d517 remove default value for roll angle 2020-12-09 17:54:53 +01:00
Igor Campos bbad1bdd6e add comment. 2020-12-09 17:54:53 +01:00
Igor Campos 33b831efe3 rename variables 2020-12-09 17:54:53 +01:00
Igor Campos dfcd6a7c16 fix typo 2020-12-09 17:54:53 +01:00
Igor Campos c316af6ec7 update to match new feature as a new mavlink command Oblique Survey 260 2020-12-09 17:54:53 +01:00
Igor Campos 390ed3765f disable pseudo-oblique mode if param4 is 0. 2020-12-09 17:54:53 +01:00
Igor Campos 38a5b8a502 fix comment description for pitch angle 2020-12-09 17:54:53 +01:00
Igor Campos d0ae931543 adjust minimum number of positions to 2. 2020-12-09 17:54:53 +01:00
Igor Campos 0cb3ce4886 fix readability 2020-12-09 17:54:53 +01:00
Igor Campos e1e06364da fix formatting 2020-12-09 17:54:53 +01:00
Igor Campos 73f7b08873 add Camera Auto Mount Pseudo Oblique Solution (CAMPOS)
add target system and component ids to vmount commands

Signed-off-by: Igor Campos <igor.gama.90@gmail.com>
2020-12-09 17:54:53 +01:00
Thomas 7e2da11d67 reenable WV after FT alignment 2020-12-09 17:36:20 +01:00
Julian Oes a1b54eb655 mavlink: check index for out-of-bounds
If a MAP_RC_PARAM message is sent with an index > 2, this would lead
to undefined behaviour or a segfault/hardfault.
2020-12-09 08:59:57 +01:00
Mark Sauder dd4ee5c48c dshot: breakout driver header file, use static_casts, add const specifiers (#15908)
* Break out dshot.h from dshot.cpp and rename files to reflect the class name.
Move DShot class specific #defines from drv_pwm_output.h to dshot.h.
Replace c-style casts with static_casts, standardize method naming, single line comment styles, and formatting.
Rename update_dshot_out_state() to enable_dshot_outputs().
2020-12-09 08:51:47 +01:00
Daniel Agar cf010f44d0 Update submodule sitl_gazebo to latest Wed Dec 9 00:39:59 UTC 2020 (#16354)
- sitl_gazebo in PX4/Firmware (cd1ffa63cd): https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/19981d61cfe656d2985fef5285b4a4d14f3be199
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4...19981d61cfe656d2985fef5285b4a4d14f3be199

    19981d6 2020-12-08 Flavio Tonelli - Fix plugin misspelling (#665)

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-12-09 08:43:45 +01:00
Daniel Agar cd1ffa63cd commander: auto transition to LOITER if disarmed with no RC only requires a valid global position 2020-12-08 18:26:03 -05:00
Daniel Agar 82746af07a ekf2: use new IMU and mag bias and variance getters in ecl/EKF
- reset IMU bias on calibration change (only works with multi-ekf)
 - standardize PX4_INFO/PX4_WARN/PX4_ERR output for multi-ekf with instance number
 - https://github.com/PX4/PX4-ECL/pull/924
2020-12-08 16:06:18 -05:00
Daniel Agar 8f5f564c05 commander: preflightcheck only report failure once per sensor type
- either way the user action is to recalibrate, so we might as well try
to minimize the noise/annoyance
2020-12-08 13:18:22 -05:00
Silvan Fuhrer edaf9f2bb6 FW Position Controller: consolidate mission throttle adaptions for position and loiter waypoints
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 12:08:36 -05:00
Silvan Fuhrer 6d255df0a8 airspeed selector: disable beta fusion when not in fixed-wing mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 11:43:27 -05:00
Silvan Fuhrer 59564af860 wind_estimate message: add identifier for source
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-12-08 11:43:27 -05:00
Roman Dvořák bc1c8fb73a GPS_DUMP_COMM: dump all gps instances 2020-12-08 11:45:24 +01:00
Julian Oes fd261b590c battery: don't init uint16_t with -1.0f
This was flagged as undefined behaviour by fuzz testing.
2020-12-08 09:58:29 +01:00
Daniel Agar 681590c510 ekf2: multi-ekf force initial selection (and sensor_selection publication)
- depending on the particular sensor configuration and startup timing we were getting an initial sensor_selection publication without valid accel & gyro device ids (only applies to Multi-EKF)
 - fix faulty accel and gyro device ids
 - initialize unused test ratio fields to NAN for logging clarity
2020-12-07 21:37:24 -05:00
bresch 3276916df9 HomePos: check corresponding validity before using data 2020-12-07 10:24:23 -05:00
bresch 711bd2ce87 Commander: use helper to set home position 2020-12-07 10:24:23 -05:00
bresch f3e5b86b06 Commander: set home position in air
en/dis-able in-air home position via parameter COM_HOME_IN_AIR
2020-12-07 10:24:23 -05:00
JaeyoungLim e8cefcafbc Fix gazebo_sitl_multiple_run.sh scripting (#16340)
This commit fixes the problem when using scripting options. This regression was introduced by #15463
2020-12-07 06:17:15 +01:00
Julian Oes a2ff53b018 mavlink: remove typedef of anonymous struct
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
Julian Oes 8900c6200d commander: remove typedef of anonymous struct
Clang doesn't seem to like these.
2020-12-06 23:55:59 -05:00
David Sidrane 1cd36d4c8c PX4 NuttX 10.0.0+ With IMX backports 2020-12-04 12:59:09 -05:00
David Sidrane 1b70e5f978 nxp_fmurt1062-v1:Rev B will be Using active CD 2020-12-04 12:59:09 -05:00
David Sidrane 394c2edea3 nxp_fmurt1062-v1:Added Single wire support for SBUS 2020-12-04 12:59:09 -05:00
David Sidrane 171cb7119e nxp_imxrt,rt106x add imxrt_gpiosetevent 2020-12-04 12:59:09 -05:00
David Sidrane d4a78cea5a nxp_fmurt1062-v1:Correct intial state of PIO_nVDD_5V_{HIPOWER|PERIPH}_E to OFF 2020-12-04 12:59:09 -05:00
David Sidrane 67a78a70ea nxp_fmurt1062-v1:Telem 1 & 2 Swapped to have real HW HS on Telm2 2020-12-04 12:59:09 -05:00
David Sidrane 1dd22acd12 nxp_fmurt1062-v1:Fix memory overflow 2020-12-04 12:59:09 -05:00
David Sidrane 0ca7783ea5 nxp_fmurt1062-v1:Refreshed defconfig fixing 'if-then' disabled 2020-12-04 12:59:09 -05:00
David Sidrane 8d8a31c56d WorkQueueManager:Increase stack size 2020-12-04 12:59:09 -05:00
JaeyoungLim e6992db1ca Use enums for set attitude setpoint typemasks for offboard mode (#16327)
This commit switches the typemask comaparision to enums for better readability
2020-12-04 17:44:33 +01:00
PX4 BuildBot 3783ab4a6a Update submodule sitl_gazebo to latest Fri Dec 4 00:39:14 UTC 2020
- sitl_gazebo in PX4/Firmware (25c113a527): https://github.com/PX4/PX4-SITL_gazebo/commit/cd8ba25c81f32d6fe088482e37f8a38892209ef4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/cd8ba25c81f32d6fe088482e37f8a38892209ef4...e01ba8f78c185fab0b0ceb1e6407b5e1cc7c07d4

    e01ba8f 2020-12-03 JaeyoungLim - Add macos build tests for Bigsur (#663)
a6698f5 2020-11-19 Daniel Agar - update gitignore (#658)
2020-12-03 23:50:40 -05:00
Daniel Agar 5e6189ee5a Update submodule mavlink v2.0 to latest Fri Dec 4 00:39:20 UTC 2020
- mavlink v2.0 in PX4/Firmware (dce7cfbddefe53fd0381582121883134a4df1b73): https://github.com/mavlink/c_library_v2/commit/1de17e039b27c541ccdb9ed214ea41aaaf180ae0
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/8f481688d70541e8f91ee8c4fc233ca70cd7fad9
    - Changes: https://github.com/mavlink/c_library_v2/compare/1de17e039b27c541ccdb9ed214ea41aaaf180ae0...8f481688d70541e8f91ee8c4fc233ca70cd7fad9

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-12-03 23:49:28 -05:00
Daniel Agar cc979d2249 Update submodule GPSDrivers to latest Fri Dec 4 00:39:25 UTC 2020
- devices in PX4/Firmware (1303a8f17c5174a02b1c3ed22acd88da499e5a53): https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
    - devices current upstream: https://github/commit/5afc11588b2b6ec0861ecf9ef673c7a9e2109129
    - Changes: https://github/compare/0bf63c9820f4af997d0a48743dcc1008d119e49c...5afc11588b2b6ec0861ecf9ef673c7a9e2109129

    5afc115 2020-11-30 Beat Küng - gps_helper: define M_PI_F if not defined (was missing for ubx)
2020-12-03 23:48:29 -05:00
Daniel Agar 01620420fa ekf2: update to latest ecl with RingBuffer minor improvements
- includes https://github.com/PX4/PX4-ECL/pull/938
2020-12-03 21:17:22 -05:00
Matthias Grob 25c113a527 StickAccelerationXY: boost low speed brake 2020-12-03 18:19:42 +01:00
Matthias Grob badaf1eae0 Functions: add squareroot linear function 2020-12-03 18:19:42 +01:00
Matthias Grob 3f3a82e034 FlightTaskManualAcceleration: reset position lock on reactivation
to prevent having a fixed position lock while moving the vehicle
on the ground before flying.
2020-12-03 18:19:42 +01:00
Matthias Grob 66f8fc08c0 FlightTasks: refactor to use isAnyTaskActive() 2020-12-03 18:19:42 +01:00
David Sidrane 229f02a4f9 mtd:Reduce functionality on memory constrained systems 2020-12-02 20:40:23 -05:00
David Sidrane b4693f41da rcS:Use mft query not mtd start 2020-12-02 20:40:23 -05:00
David Sidrane 22bc176885 Added mft for queries 2020-12-02 20:40:23 -05:00
David Sidrane f8148593ad uvify_core: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 94825ddc6e spracing_h7extreme: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 44ffc855dc px4_fmu-v6x: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane d9151af291 px4_fmu-v4pro: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane c9063beacc px4_fmu-v4: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79bedbc908 px4_fmu-v3: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 313b3edc04 px4_fmu-v2: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6e9f50f48e omnibus_f4sd: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 74a0693040 nxp_ucans32k146: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane ad1c603af4 nxp_fmurt1062-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 65b3b0b2e7 nxp_fmuk66-v3: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6f27deab40 nxp_fmuk66-e: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 434f63d479 mro_x21: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 7c07ce9649 mro_x21-777: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 5703070974 mro_ctrl-zero-f7: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 2247779216 modalai_fc-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6dba2425c2 intel_aerofc-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a2a8d2fcf2 holybro_pix32v5: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 2b69fad3ac holybro_kakutef7: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79744ec156 holybro_durandal-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 55c091e0fc cubepilot_cubeyellow: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 6b93865cfc cubepilot_cubeorange: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 16f388d625 cuav_x7pro: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 26e164c3ba cuav_nora: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 79f177fe94 cuav_can-gps-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 1bb2b0b06c bitcraze_crazyflie: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a09d240c72 av_x-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 4c5aa12a18 airmind_mindpx-v2: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane 52b5856ff0 px4_fmu-v5:Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane a60df85a09 px4_fmu-v5x:Use px4_platform_configure 2020-12-02 20:40:23 -05:00
David Sidrane e83a00c604 px4_manifest:Add Queries 2020-12-02 20:40:23 -05:00
David Sidrane 68ab736b16 Refactor mtd to make available to board startup 2020-12-02 20:40:23 -05:00
David Sidrane 1b9ab2a3e2 px4_fmu-v5x:Manifest Update Adde Rev 1 HW and fix VER 1
VER is on BASE
   REV is on FMU
     ver|rev
     bas|fmu
    {0x0000, hw_mft_list_v0500, ...(hw_mft_list_v0500)},
    {0x0001, hw_mft_list_v0501, ...(hw_mft_list_v0501)}, <-- was wrong

    This falsly selected the NO I/O version
2020-12-02 19:56:14 -05:00
Daniel Agar 378c0b5093 parameters: find and get perf counters aren't threadsafe 2020-12-02 10:11:42 -05:00
Daniel Agar e69aea0a9b parameters: don't keep in memory if set to default 2020-12-02 10:11:42 -05:00
Daniel Agar c305774fae commander: move vehicle_status into class 2020-12-02 10:20:50 +01:00
Daniel Agar b7de10fca3 commander: move vehicle_status_flags to class 2020-12-02 10:20:50 +01:00
Daniel Agar dc435c4c90 commander: control_status_leds() use _armed directly 2020-12-02 10:20:50 +01:00
Daniel Agar 8ac2581d7b commander: handle_command() use _armed directly 2020-12-02 10:20:50 +01:00
Daniel Agar 741a0b43e8 commander: move mavlink_log_pub into class 2020-12-02 10:20:50 +01:00
Daniel Agar a03b91c01e commander: move answer_command() to class 2020-12-02 10:20:50 +01:00
Daniel Agar d5dc7e2873 commander: move actuator_armed state into class 2020-12-02 10:20:50 +01:00
Matthias Grob de66616341 MulticopterPositionControl: don't switch out of Orbit task
when it got started via vehicle_command
2020-12-01 10:00:46 -05:00
Matthias Grob 8f40558f41 MulticopterPositionControl: reset task when switching mode
to make sure the state is clean between auto mode switches.
2020-12-01 10:00:46 -05:00
Daniel Agar 85f3ab1960 rc_update: only decode if RC input is stable (channel count and source) 2020-12-01 09:40:24 -05:00
Daniel Agar d654be761c ms4525: remove old voltage corrections
- this isn't correct for all boards and we now have airspeed scale
factor estimation
2020-12-01 09:34:47 -05:00
Alex Mikhalev 378b41af6a tunes: Improve logic for interrupting tunes
src/lib/tunes already knows which tunes are interruptable, so add
return values to expose than and use than in tone_alarm.
This fixes the issue that repeating tunes cannot be interrupted without
tune_override set to true.

Signed-off-by: Alex Mikhalev <alex@corvus-robotics.com>
2020-11-30 16:56:13 -05:00
JaeyoungLim bd943d872c Use explicit typemasks for offboard position setpoints (#16296)
This uses enums of the POSITION_TARGET_TYPEMASK in order to separate typemasks that are part of the mavlink specs more explicitly
2020-11-30 22:12:06 +01:00
Beat Küng a63e8cc149 fix mavlink: ensure vehicle_command topic exists
If the first publisher publishes multiple commands right after each other
(e.g. on 'commander takeoff'), mavlink would miss the first and print an
error like 'vehicle_command lost, generation 0 -> 2'.

This is due to a recent uORB behavior change.
2020-11-30 11:53:22 -05:00
Beat Küng 05a3492174 commander: remove low priority thread, run tasks in a worker thread on demand
- removes race conditions
- removes dependencies on static data & methods
- reduces RAM usage by ~3.8KB
2020-11-30 11:53:22 -05:00
Beat Küng 419b336a15 commander: fix ModuleBase usage, remove volatile flag 2020-11-30 11:53:22 -05:00
Antonio Sanjurjo Cortés aa80167b47 mavlink: rename OPTICAL_FLOW header and defines to OPTICAL_FLOW_RAD
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 7dde298664 mavlink: move COLLISION to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 2243931abd mavlink: move ATTITUDE_TARGET to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés ce28aa089b mavlink: move ATTITUDE_QUATERNION to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 8ac2ada0e6 mavlink: move ATTITUDE to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
Antonio Sanjurjo Cortés 0bf622e211 mavlink: move OPTICAL_FLOW to streams hpp
Signed-off-by: Antonio Sanjurjo Cortés <74329840+antonio-sc66@users.noreply.github.com>
2020-11-29 20:26:07 -05:00
斯东Stone 5f0ecc893e boards: holybro/durandal add TELEM3 (/dev/ttyS4) 2020-11-29 10:17:18 -05:00
Jaeyoung-Lim d59ba2032f Handle takeoff waypoints for rover
Fix
2020-11-29 00:08:53 +01:00
TSC21 1d1fbdb1d3 microRTPS: remove byte ordering for nested types 2020-11-28 21:26:50 +01:00
SalimTerryLi 2d0eb4a41a pca9685_pwm_out: small improvement (#16196)
* reduce I2C transfers and enable EXTCLK support
* schedule rate limit arg
* apply state machine and do actual init in Run()
2020-11-27 17:17:45 -05:00
Silvan Fuhrer 3309bf21dd FW att C: do not lock or reset integrator if tailsitter and in hover
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:28:52 +03:00
Silvan Fuhrer efe42451b6 tailsitter_duo mixer: remove output scaling (that reduced the max deflection of the elevons)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:28:52 +03:00
Silvan Fuhrer 646b5bb578 L1: Do only check for wrong tangent_vel if in circle_mode
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-27 17:04:06 +03:00
JaeyoungLim c5486ca47e sitl: fix sitl_run to run on macOS (#16287)
This commit removes the readarray command from the Tools/sitl_run.sh.
This fixes the issue where SITL was not able to run due to readarray not being available on macOS
2020-11-27 10:49:22 +01:00
Ricardo Marques 3215c50660 commander: Fix comment typos.
Signed-off-by: Ricardo Marques <marques.ricardo17@gmail.com>
2020-11-27 10:25:32 +01:00
Hamish Willee 336639897e Fix incorrect docs URLs in airframes definitions (#16288) 2020-11-27 07:44:02 +01:00
BazookaJoe1900 bd09be43c0 simulator mavlink actuator limits (#15861)
using unified way to decide which output should be scale as rotor
fixed case that actuator that wasn't set (value 0 "PWM") results output of -3
make default actuator mode to set all actuator to range of -1 to +1
cleanups
2020-11-26 14:42:31 +01:00
Jukka Laitinen fdb4ede6c2 Add topic namespace support for micrortps agent generation
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2020-11-26 12:34:56 +00:00
Matthias Grob ce8f4dece2 rc_update_params: clarify failsafe channel and threshold 2020-11-26 10:55:35 +01:00
Silvan Fuhrer 5382d3b8fb rc.VTOL_defaults: enable wind estimation in EKF by default and remove MPC_LAND_SPEED being, as it's just set to param default
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-26 08:50:49 +01:00
Daniel Agar ec9f8998a7 commander: limit mode switch re-evaluation logic on estimate validity changes
- re-evaluating mode switches on altitude or position validity change can create confusing when also relying on mode changes via mavlink
 - limiting this logic to only apply when disarmed solves the original problem (respecting initial switch position) without introducing potential problems mid-flight
 - fixes https://github.com/PX4/PX4-Autopilot/issues/16235
2020-11-25 21:14:55 -05:00
Paul Riseborough 3e4c38f6e8 ekf2: Fix bug causing excessive lane selection switching 2020-11-25 10:00:07 -05:00
Daniel Agar 5e855c6747 commander: preflightcheck and calibration remove hash (#) from mavlink message
- QGroundControl is reading these as "Hash" and I don't think it's ambiguous if removed
2020-11-23 21:56:23 -05:00
Beat Küng 615333badb logger: log gps_dump if GPS_DUMP_COMM is set 2020-11-20 11:04:52 -05:00
David Sidrane 0db70ea475 nxp_fmurt1062-v1:Track fixes on schematic USDHC CD now correct polarity 2020-11-20 00:48:31 -05:00
David Sidrane 136b6a3509 nxp_fmurt1062-v1:Track fixes on schematic OC/EN had been swapped 2020-11-20 00:48:31 -05:00
Daniel Agar 71306f7f83 update all container tags to 2020-11-18 2020-11-19 13:37:57 -05:00
David Sidrane ee3285a34f Fixed PX4IO uploader debug output 2020-11-19 13:35:36 -05:00
Matthias Grob 65e1b702c9 GPS_GLOBAL_ORIGIN: simplify send logic 2020-11-19 19:00:37 +01:00
Matthias Grob 0ca63120eb mavlink_messages: add GPS_GLOBAL_ORIGIN
sending out local position reference.
Only send as anser to a request message command or
when the origin was changed from externally to verify.
2020-11-19 19:00:37 +01:00
Matthias Grob 41b56f20b8 mavlink_messages: fix raw rpm message size 2020-11-19 19:00:37 +01:00
Matthias Grob c845265b1b mavlink_receiver: use SET_GPS_GLOBAL_ORIGIN to set the origin
The message GPS_GLOBAL_ORIGIN is meant as a telemtry information message
to send out the components reference and not to set it. I had to switch
to listen to SET_GPS_GLOBAL_ORIGIN such that I can implement sending out
GPS_GLOBAL_ORIGIN.
2020-11-19 19:00:37 +01:00
Daniel Agar 1425d87640 boards: px4_fmu-v5 sync all defconfigs 2020-11-19 11:21:47 -05:00
jaeyoung fb3b1f8bd9 Update sitl_gazebo submodule 2020-11-19 10:03:59 -05:00
jaeyoung 68855b5c9b Update mavlink 2020-11-19 10:03:59 -05:00
David Sidrane b6f24eefb2 The PX4IO driver uses DMA but not NuttX's TXDMA 2020-11-19 09:39:08 -05:00
alessandro f18e70029a Correct topic name for thermal corrections
The message used is ./msg/sensor_correction.msg
2020-11-19 08:23:25 +01:00
CUAV_gitfishup 80df04ddca UAVCAN: publish ardupilot::indication::SafetyState (enables CUAV NEO v2 pro GPS) 2020-11-18 10:00:49 -05:00
Jari van Ewijk a246defb68 NXP UCANS32K146: Configure PWM timer for production version 2020-11-18 04:54:38 -08:00
JaeyoungLim 5e693180d9 Fix bash error when running SITL Gazebo (#16221) 2020-11-18 04:23:19 +01:00
Matthias Grob fabeb22ae4 mavlink_receiver: remove unused decode_switch_pos function 2020-11-17 19:48:01 -05:00
Daniel Agar 7baeb78964 mavlink: STATUSTEXT track missed mavlink_log messages 2020-11-17 19:47:06 -05:00
Daniel Agar e1168070d1 mavlink: decrease task stack 2020-11-17 19:47:06 -05:00
Daniel Agar 3f9e5a6934 drivers/device/ringbuffer: move into crazyflie syslink (only remaining user) 2020-11-17 19:47:06 -05:00
Daniel Agar ed8a30d73e mavlink: STATUSTEXT directly use mavlink_log subscription
- ORB_ID(mavlink_log) increase queue depth now that mavlink ringbuffer is gone
2020-11-17 19:47:06 -05:00
Sander Swart 387659d615 Added support for models located in all paths defined in GAZEBO_MODEL_PATH (#16214)
Co-authored-by: Sander Swart <sander.swart@live.nl>
2020-11-17 16:12:31 +01:00
bbworld1 5e6f8a9606 Add typhoon h480 support to gazebo multiple sim (#16210)
* Add typhoon h480 support to gazebo multiple sim

This commit adds support for the typhoon_h480 model for the
gazebo_sitl_multiple_run.sh script.

* Update sitl_gazebo to latest version
2020-11-17 04:20:45 +01:00
Daniel Agar fb1f360724 mavsdk_tests: consistent 180s disarm timeout 2020-11-16 15:55:10 -05:00
Daniel Agar f5660c6b0c mavsdk_tests: adjust px4 and gzserver priority relative to mavsdk_test
- this is to avoid starving the test runner
2020-11-16 15:55:10 -05:00
Daniel Agar 22fbcf98cf Tools/setup: requirements.txt add pymavlink
- needed for Tools/mavlink_shell.py
2020-11-16 12:14:41 -05:00
Daniel Agar ce51a01822 boards: cubepilot orange and yellow start isolated sensor bus (SPI4) first
- this makes the isolated sensors primary by default
2020-11-16 09:31:12 -05:00
Daniel Agar f7452bff4d ROMFS: startup remove bootlog.txt 2020-11-16 09:19:35 -05:00
Silvan Fuhrer b58e270fd4 FW Position Control: remove manual climbout mode trigger via pitch stick
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-16 14:41:01 +01:00
SalimTerryLi ad4068f472 platforms/posix: mlockall() support
* add basic mlock support to increase stability when system is under high load and RAM is almost full
 * mainly about minimizing or completely eliminating RAM page swap time
2020-11-15 23:53:10 -05:00
PX4 BuildBot 37567bbee0 Update submodule sitl_gazebo to latest Mon Nov 16 00:38:40 UTC 2020
- sitl_gazebo in PX4/Firmware (eb3135e79c): https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/0a4d0708e839388668575d61623903c297a73a34
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/27e06e2a4906cc0a028d8e688f243dfafa7920a4...0a4d0708e839388668575d61623903c297a73a34

    0a4d070 2020-11-13 BazookaJoe1900 - clean build warning due to wrong string size
2020-11-15 21:32:51 -05:00
Daniel Agar eb3135e79c systemcmds/tests: always build with optimization
- needed to keep Matrix stack usage reasonable
 - split matrix tests to further minimize stack usage
2020-11-15 19:15:56 -05:00
Daniel Agar 963d101375 boards: fmu-v5 debug and stackcheck increase interrupt stack 2020-11-15 17:00:11 -05:00
Daniel Agar 053bf7e732 Jenkins HIL tolerate certain failures
- px4_fmu-v5 debug and stackcheck builds initial configuration is best effort
 - nxp_fmuk66-v3 allow overall tests command to fail due to intermittent serial console issues
2020-11-13 21:50:13 -05:00
Daniel Agar ee9ce1087a IMU_DGYRO_CUTOFF add conservative default (0 Hz -> 30 Hz) 2020-11-13 21:26:35 -05:00
PX4 BuildBot 683fcdc910 Update submodule sitl_gazebo to latest Fri Nov 13 20:14:29 UTC 2020
- sitl_gazebo in PX4/Firmware (40bf460717): https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/27e06e2a4906cc0a028d8e688f243dfafa7920a4
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1...27e06e2a4906cc0a028d8e688f243dfafa7920a4

    27e06e2 2020-11-12 JaeyoungLim - Add catkin build test (#652)
6f6f420 2020-11-12 JaeyoungLim - Replace water level to ocean model (#649)
2020-11-13 19:00:32 -05:00
Daniel Agar 174c5c5797 Jenkins HIL fmu-v5 debug and stackcheck attempt to config conservative defaults before flashing
- keep minimal rate for expensive fmu-v5 debug and stackcheck builds
2020-11-13 18:03:09 -05:00
Daniel Agar dd3c1a3653 Tools/HIL: relax command retry for now 2020-11-13 18:03:09 -05:00
Jaeyoung-Lim 40bf460717 Update jsbsim bridge to latest
This commit updates the jsbsim bridge to the latest
2020-11-13 12:45:21 -05:00
Daniel Agar 29658961ef mavlink: move DISTANCE_SENSOR to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 860a7fd1db mavlink: move ALTITUDE to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar a8f0987028 mavlink: move WIND_COV to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 4a9f293596 mavlink: move MOUNT_ORIENTATION to streams header 2020-11-13 10:05:22 -05:00
Daniel Agar 4a6c90b8ea mavlink: STATUSTEXT check TX buffer before sending
- Note the TX buffer size check is lazily ignoring the possibility of messages that span multiple Mavlink STATUSTEXT. This at least accommodates the calibration use case and it's no worse than before for longer messages.
2020-11-13 09:52:05 -05:00
CUAV_gitfishup e399dbc440 boards: CUAV Nora support cuav_neo_v2_pro and disable CONFIG_STM32H7_BDMA 2020-11-13 09:45:57 -05:00
BazookaJoe1900 66edc822fe boards: px4/fmu-v5 fix DMAmap documentation
- fixed notes and removed none used definitions
 - set defconfig to define UART8_RXDMA and UART8_TXDMA though the DMA is not handled by nuttx, just to clarity
2020-11-12 11:26:45 -05:00
Daniel Agar d14b4221f1 sensor calibration: apply board level adjustment to external sensors (#16127)
- apply SENS_BOARD_{X,Y,Z}_OFF to external sensors to prevent unnecessary misalignment with internal IMU
2020-11-12 10:37:30 -05:00
bresch 5f0c572c61 GPS_YAW_OFFSET: fix param description 2020-11-12 09:35:40 +01:00
Daniel Agar 3cf072debc HIL tests remove deleted smoothz test 2020-11-11 20:22:06 -05:00
Daniel Agar 1659447abb px4_work_queue: reduce INS (ekf2) stack by 1200 bytes 2020-11-11 20:17:52 -05:00
Daniel Agar 5d7ea62190 estimator_innovations: remove unimplemented fake vel & pos fields
- easy to readd if and when they're needed
2020-11-11 20:17:52 -05:00
Daniel Agar 880dc6accd ekf2: compile at MAX_CUSTOM_OPT_LEVEL 2020-11-11 20:17:52 -05:00
Daniel Agar 1e03285405 ekf2: avoid storing in_ground_effect state 2020-11-11 20:17:52 -05:00
Daniel Agar 26de630dc5 ekf2: remove landed flag and use control_status directly 2020-11-11 20:17:52 -05:00
Daniel Agar 89ab6a5dbf ekf2: preflight checks only reset on STANDBY change
- avoid storing unnecessary state and call setVehicleCanObserveHeadingInFlight() directly
2020-11-11 20:17:52 -05:00
Daniel Agar b9fff2c221 ekf2: sensor_selection only updated in non-multi mode
- publish attitude as soon as possible
2020-11-11 20:17:52 -05:00
Daniel Agar 7264577eec ekf2: split perf counters (full update or not) and reorganize Run() slightly 2020-11-11 20:17:52 -05:00
Daniel Agar a68fe4dbd7 ekf2: move parameter update to beginning of cycle 2020-11-11 20:17:52 -05:00
Daniel Agar 5ae7c80a18 ekf2: move rangeSample update to UpdateRangeSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 991015c5c6 ekf2: move magSample update to UpdateMagSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 68f49619b7 ekf2: move gps_message update to UpdateGpsSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 0db706011a ekf2: move FlowSample update to UpdateFlowSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 8ee197acad ekf2: move vehicle_odometry_aligned publication to PublishOdometryAligned() 2020-11-11 20:17:52 -05:00
Daniel Agar b29f3c7ce5 ekf2: move ExtVisionSample update to UpdateExtVisionSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 0f56793116 ekf2: move BaroSample update to UpdateBaroSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 6b30f01daf ekf2: move AuxVelSample update to UpdateAuxVelSample() 2020-11-11 20:17:52 -05:00
Daniel Agar 651e292d42 ekf2: move AirspeedSample update to UpdateAirspeedSample() 2020-11-11 20:17:52 -05:00
Daniel Agar f4f3ba47a2 ekf2: move mag calibration to UpdateMagCalibration() 2020-11-11 20:17:52 -05:00
Daniel Agar 96178a6fb0 ekf2: publish yaw estimator status last 2020-11-11 20:17:52 -05:00
Daniel Agar 05de61ff15 ekf2: move estimator innovations publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 387186c11d ekf2: move estimator innovation test ratios publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 3b9965ff8d ekf2: move estimator innovation variances publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 94415a45fa ekf2: move estimator status publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 03388f4656 ekf2: move estimator states publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 98334d1325 ekf2: move local position publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar c09a5e0d9f ekf2: move global position publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 8616345346 ekf2: move estimator_sensor_bias publication to method
- only publish if there's a change in bias
 - publish current estimated mag bias, including saved mag bias
2020-11-11 20:17:52 -05:00
Daniel Agar e397cbf8bb ekf2: move ekf_gps_drift publication to method 2020-11-11 20:17:52 -05:00
Daniel Agar 0d657c74bf ekf2: rename publish helpers mixed case (google style guide) 2020-11-11 20:17:52 -05:00
Daniel Agar 68f24954cf imu/st/lsm9ds1: refactor to same form as other new IMU drivers
- register configuration captured in table and checked periodically
 - simple state machine
 - all driver sleeps removed
 - driver respects IMU_GYRO_RATEMAX
2020-11-11 19:22:12 -05:00
Silvan Fuhrer 5dd14dfd54 FW Position Control: re-add wrongly removed airspeed_poll()
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-11-11 19:20:03 -05:00
Daniel Agar a8f665739d mavsdk_tests: manual fly forward for slightly longer 2020-11-11 19:16:39 -05:00
Daniel Agar 756609c3e8 mavsdk_tests: relax corridor radius default for missions 2020-11-11 19:16:39 -05:00
Matthias Grob ff801fbc08 FlightTasks: remove FlightTaskManualPositionSmooth
alias first smooth position control version from 2017.

RIP it served well.
2020-11-11 21:16:18 +01:00
Matthias Grob e6338d8a2f MulticopterPositionControl: default cases with unsupported POS_MODE 2020-11-11 21:16:18 +01:00
Matthias Grob 0b8f092d2b Add acceleration stick mapping for position mode 2020-11-11 21:16:18 +01:00
Daniel Agar b50e6bda69 cmake: NuttX apps build updates
- NuttX Apps no longer generates the .built file
2020-11-11 12:06:39 -05:00
Daniel Agar 9767a73619 ROMFS: silently compare optional parameters
- not all build configurations have these parameters/modules
2020-11-11 08:03:48 +01:00
Daniel Agar 7ba73b46ca uORB: tests decrease stack
- save a bit of memory for running on older boards
2020-11-10 23:44:02 -05:00
Daniel Agar 3924792c20 Jenkins: HIL improve run_tests.py and run_nsh_cmd.py helper
- switch to python3
 - run_nsh_cmd.py return error if command fails
 - decrease timeout in checking for output
 - Jenkins hardware tests tolerate certain command failures that aren't available on all boards (flash constrained, etc)
2020-11-10 22:45:50 -05:00
AlexanderAurora ea09d9ebbf landing_slope: added wrap_pi to getLandingSlope and getFlareCurve
- fixes https://github.com/PX4/PX4-Autopilot/issues/16132
2020-11-10 18:58:14 -05:00
PX4 BuildBot f4964aea52 Update submodule sitl_gazebo to latest Tue Nov 10 19:18:06 UTC 2020
- sitl_gazebo in PX4/Firmware (79ad5eab34b76fbe54c2056974230a122362a62f): https://github.com/PX4/PX4-SITL_gazebo/commit/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5
    - sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1
    - Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/487f6283f4c0923f52bdc253dbf04d0e66cdb3a5...ee7661eeab1952bb4d2a94e2cb8afd0159a6e1f1

    ee7661e 2020-11-06 Julian Oes - cmake: don't link to protobuf
2020-11-10 18:54:08 -05:00
PX4 BuildBot 824238ecb8 Update submodule devices to latest Tue Nov 10 19:18:16 UTC 2020
- devices in PX4/Firmware (e65317c5fd7440ebb983cb8b07f48d67678ab86e): https://github/commit/592e4289d941eb0b7d84e6da9d72d731083633ee
    - devices current upstream: https://github/commit/0bf63c9820f4af997d0a48743dcc1008d119e49c
    - Changes: https://github/compare/592e4289d941eb0b7d84e6da9d72d731083633ee...0bf63c9820f4af997d0a48743dcc1008d119e49c

    0bf63c9 2020-11-05 Morton Lin - replace non-ascii characters in source code (#61)
2020-11-10 18:53:40 -05:00
PX4 BuildBot 8b9ae49508 Update submodule ecl to latest Tue Nov 10 19:18:21 UTC 2020
- ecl in PX4/Firmware (579a8c3a688e536b1ae4177c3e3edcea438e74d5): https://github/commit/a21092804a784d012939f96cc633e7da5f5e8cde
    - ecl current upstream: https://github/commit/da9f314b69585ba169d033fec293e9ea48b9d1fd
    - Changes: https://github/compare/a21092804a784d012939f96cc633e7da5f5e8cde...da9f314b69585ba169d033fec293e9ea48b9d1fd

    da9f314 2020-11-10 bresch - mag: use strength in Gauss
c4d162f 2020-11-04 Claudio Micheli - EKF: range_finder parameterize range sensor quality hysteresis time
6158d6d 2020-11-02 Daniel Agar - EKF: add const reference getters for status flags
2020-11-10 18:53:03 -05:00
Daniel Agar b491929ad6 Jenkins: HIL tests only finish on PASSED, FAILED, or timeout 2020-11-10 16:41:13 -05:00
778 changed files with 25606 additions and 12718 deletions
+6 -5
View File
@@ -9,10 +9,10 @@ pipeline {
script {
def build_nodes = [:]
def docker_images = [
armhf: "px4io/px4-dev-armhf:2020-04-01",
arm64: "px4io/px4-dev-aarch64:latest",
base: "px4io/px4-dev-base-bionic:2020-04-01",
nuttx: "px4io/px4-dev-nuttx-focal:2020-09-14",
armhf: "px4io/px4-dev-armhf:2020-11-18",
arm64: "px4io/px4-dev-aarch64:2020-11-18",
base: "px4io/px4-dev-base-bionic:2020-11-18",
nuttx: "px4io/px4-dev-nuttx-focal:2020-11-18",
snapdragon: "lorenzmeier/px4-dev-snapdragon:2020-04-01"
]
@@ -53,6 +53,7 @@ pipeline {
"intel_aerofc-v1_default",
"modalai_fc-v1_default",
"mro_ctrl-zero-f7_default",
"mro_pixracerpro_default",
"mro_x21-777_default",
"mro_x21_default",
"nxp_fmuk66-v3_default",
@@ -118,7 +119,7 @@ pipeline {
// TODO: actually upload artifacts to S3
// stage('S3 Upload') {
// agent {
// docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
// docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
// }
// options {
// skipDefaultCheckout()
+106 -116
View File
@@ -7,73 +7,57 @@ pipeline {
parallel {
stage("px4_fmu-v2_test") {
stages {
stage("build px4_fmu-v2_test") {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
steps {
sh 'export'
sh 'make distclean'
sh 'ccache -s'
sh 'git fetch --tags'
sh 'make px4_fmu-v2_test'
sh 'make sizes'
sh 'ccache -s'
stash includes: 'build/px4_fmu-v2_test/px4_fmu-v2_test.elf', name: 'px4_fmu-v2_test'
}
post {
always {
sh 'make distclean'
}
}
} // stage build
stage("test") {
agent {
label 'px4_fmu-v2'
}
stages {
stage("flash") {
steps {
sh 'export'
sh 'find /dev/serial'
unstash 'px4_fmu-v2_test'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v2_test/px4_fmu-v2_test.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 0"' // no airframe
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
}
}
stage("status") {
steps {
statusFTDI()
}
}
stage("reset") {
steps {
cleanupFTDI();
}
}
}
options {
timeout(time: 90, unit: 'MINUTES')
}
}
}
}
// stage("px4_fmu-v2_test") {
// stages {
// stage("build px4_fmu-v2_test") {
// agent {
// docker {
// image 'px4io/px4-dev-nuttx-focal:2020-09-14'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
// }
// }
// steps {
// sh 'export'
// sh 'make distclean'
// sh 'ccache -s'
// sh 'git fetch --tags'
// sh 'make px4_fmu-v2_test'
// sh 'make sizes'
// sh 'ccache -s'
// stash includes: 'build/px4_fmu-v2_test/px4_fmu-v2_test.elf', name: 'px4_fmu-v2_test'
// }
// post {
// always {
// sh 'make distclean'
// }
// }
// } // stage build
// stage("test") {
// agent {
// label 'px4_fmu-v2'
// }
// stages {
// stage("flash") {
// steps {
// sh 'export'
// sh 'find /dev/serial'
// unstash 'px4_fmu-v2_test'
// // flash board and watch bootup
// sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v2_test/px4_fmu-v2_test.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
// }
// }
// stage("reset") {
// steps {
// cleanupFTDI();
// }
// }
// }
// options {
// timeout(time: 90, unit: 'MINUTES')
// }
// }
// }
// }
stage("px4_fmu-v3_default") {
stages {
@@ -111,18 +95,18 @@ pipeline {
sh 'find /dev/serial'
unstash 'px4_fmu-v3_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_default/px4_fmu-v3_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v3_default/px4_fmu-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 13000"' // generic vtol standard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin" || true' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -185,17 +169,17 @@ pipeline {
sh 'find /dev/serial'
unstash 'px4_fmu-v4_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_default/px4_fmu-v4_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4_default/px4_fmu-v4_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -258,18 +242,18 @@ pipeline {
sh 'find /dev/serial'
unstash 'px4_fmu-v4pro_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v4pro_default/px4_fmu-v4pro_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 13000"' // generic vtol standard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin" || true' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -332,19 +316,19 @@ pipeline {
sh 'find /dev/serial'
unstash 'px4_fmu-v5_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_default/px4_fmu-v5_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_default/px4_fmu-v5_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 13000"' // generic vtol standard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set IMU_GYRO_RATEMAX 2000"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin" || true' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -405,21 +389,23 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set IMU_GYRO_RATEMAX 250" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save" || true'
unstash 'px4_fmu-v5_debug'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_debug/px4_fmu-v5_debug.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set IMU_GYRO_RATEMAX 250"' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin" || true' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -482,17 +468,17 @@ pipeline {
sh 'find /dev/serial'
unstash 'px4_fmu-v5_optimized'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_optimized/px4_fmu-v5_optimized.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_optimized/px4_fmu-v5_optimized.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 13000"' // generic vtol standard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -553,10 +539,12 @@ pipeline {
steps {
sh 'export'
sh 'find /dev/serial'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001" || true' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set IMU_GYRO_RATEMAX 250" || true'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save" || true'
unstash 'px4_fmu-v5_stackcheck'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/px4_fmu-v5_stackcheck/px4_fmu-v5_stackcheck.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
@@ -567,7 +555,7 @@ pipeline {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set MAV_0_CONFIG 0"' // limit cpu usage
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -630,17 +618,17 @@ pipeline {
sh 'find /dev/serial'
unstash 'modalai_fc-v1_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_default/modalai_fc-v1_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-SEGGER_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/modalai_fc-v1_default/modalai_fc-v1_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-SEGGER_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SYS_AUTOSTART 4001"' // generic vtol standardulticopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param set SYS_AUTOSTART 4001"' // generic vtol standardulticopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -703,22 +691,22 @@ pipeline {
sh 'find /dev/serial'
unstash 'holybro_durandal-v1_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/holybro_durandal-v1_default/holybro_durandal-v1_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/holybro_durandal-v1_default/holybro_durandal-v1_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set DSHOT_CONFIG 600"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set IMU_GYRO_RATEMAX 4000"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic quadcopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_BL_UPDATE 1"' // update bootloader
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_USE_IO 0"' // for dshot
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic quadcopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_BL_UPDATE 1"' // update bootloader
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_USE_IO 0"' // for dshot
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin"' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "px4io forceupdate 14662 /etc/extras/px4_io-v2_default.bin" || true' // force px4io update
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -782,17 +770,17 @@ pipeline {
sh 'find /dev/serial'
unstash 'nxp_fmuk66-v3_default'
// flash board and watch bootup
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_default/nxp_fmuk66-v3_default.elf'
sh './Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
sh './platforms/nuttx/Debug/upload_jlink_gdb.sh build/nxp_fmuk66-v3_default/nxp_fmuk66-v3_default.elf && ./Tools/HIL/monitor_firmware_upload.py --device `find /dev/serial -name *usb-FTDI_*` --baudrate 57600'
}
}
stage("configure") {
steps {
// configure
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set CBRK_BUZZER 782097"' // disable buzzer
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOCONFIG 2"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param set SYS_AUTOSTART 4001"' // generic multicopter
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param save"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"' // reboot to apply
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true' // reboot to apply
}
}
stage("status") {
@@ -803,7 +791,7 @@ pipeline {
stage("tests") {
steps {
// run tests
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*`'
sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-FTDI_*` || true' // allow failure due to intermittent serial console issues
}
}
stage("reset") {
@@ -857,6 +845,7 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_selector_status"'
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 estimator_status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "listener estimator_status_flags"'
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"'
@@ -887,7 +876,6 @@ void statusFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink status streams"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "modules status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param show"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param status"'
@@ -936,6 +924,7 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "listener estimator_selector_status"'
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 estimator_status_flags"'
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"'
@@ -966,7 +955,6 @@ void statusSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink status streams"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mount"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "modules status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mtd status"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param show"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param status"'
@@ -991,12 +979,13 @@ void statusSEGGER() {
}
void cleanupFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "modules stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "navigator stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "dataman stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "logger off"'
// wipe sdcard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "umount /fs/microsd"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "mkfatfs /dev/mmcsd0"'
@@ -1017,16 +1006,17 @@ void cleanupFTDI() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "param status"'
// reboot
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-FTDI_*` --cmd "reboot" || true'
}
void cleanupSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "modules stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "commander stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mavlink stop-all"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "navigator stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "dataman stop"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "logger off"'
// wipe sdcard
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "umount /fs/microsd"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "mkfatfs /dev/mmcsd0"'
@@ -1047,5 +1037,5 @@ void cleanupSEGGER() {
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "param status"'
// reboot
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "reboot"'
sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-SEGGER_*` --cmd "reboot" || true'
}
+1 -1
View File
@@ -2,7 +2,7 @@
// 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",
"image": "px4io/px4-dev-nuttx-focal:2020-11-18",
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
+7 -2
View File
@@ -26,7 +26,9 @@ jobs:
"module_documentation",
"parameters_metadata",
]
container: px4io/px4-dev-nuttx-focal:2020-09-14
container:
image: px4io/px4-dev-nuttx-focal:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
with:
@@ -53,6 +55,9 @@ jobs:
echo "max_size = 400M" >> ~/.ccache/ccache.conf
ccache -s
ccache -z
- name: check environment
run: |
export
ulimit -a
- name: ${{matrix.check}}
run: make ${{matrix.check}}
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-clang:2020-08-14
container: px4io/px4-dev-clang:2020-11-18
steps:
- uses: actions/checkout@v1
with:
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-armhf:2020-08-14
container: px4io/px4-dev-armhf:2020-11-18
strategy:
matrix:
config: [
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-aarch64:latest
container: px4io/px4-dev-aarch64:2020-11-18
strategy:
matrix:
config: [
+2 -3
View File
@@ -15,8 +15,7 @@ jobs:
matrix:
config: [
px4_fmu-v5_default,
px4_sitl_default,
#tests, # includes px4_sitl
tests, # includes px4_sitl
]
steps:
- uses: actions/checkout@v1
@@ -24,7 +23,7 @@ jobs:
token: ${{secrets.ACCESS_TOKEN}}
- name: setup
run: ./Tools/setup/macos.sh
run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
+2 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2020-09-14
container: px4io/px4-dev-nuttx-focal:2020-11-18
strategy:
matrix:
config: [
@@ -32,6 +32,7 @@ jobs:
intel_aerofc-v1_default,
modalai_fc-v1_default,
mro_ctrl-zero-f7_default,
mro_pixracerpro_default,
mro_x21-777_default,
mro_x21_default,
nxp_fmuk66-v3_default,
+3 -1
View File
@@ -11,7 +11,9 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container:
image: px4io/px4-dev-base-focal:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
strategy:
matrix:
config: [
+4 -2
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-08-14
image: px4io/px4-dev-ros-melodic:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -49,7 +49,9 @@ jobs:
ccache -z
- name: check environment
run: export
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
+4 -2
View File
@@ -25,7 +25,7 @@ jobs:
- {vehicle: "tiltrotor", mission: "VTOL_mission_1", build_type: "RelWithDebInfo"}
container:
image: px4io/px4-dev-ros-melodic:2020-08-14
image: px4io/px4-dev-ros-melodic:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -55,7 +55,9 @@ jobs:
ccache -z
- name: check environment
run: export
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
+4 -2
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-08-14
image: px4io/px4-dev-ros-melodic:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -50,7 +50,9 @@ jobs:
ccache -z
- name: check environment
run: export
run: |
export
ulimit -a
- name: Build PX4 and sitl_gazebo
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
+7 -7
View File
@@ -12,7 +12,7 @@ jobs:
airframe:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -27,7 +27,7 @@ jobs:
module:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -42,7 +42,7 @@ jobs:
parameter:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -57,7 +57,7 @@ jobs:
uorb_graph:
runs-on: ubuntu-latest
container: px4io/px4-dev-nuttx-focal:2020-09-14
container: px4io/px4-dev-nuttx-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -72,7 +72,7 @@ jobs:
micrortps_agent:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -86,7 +86,7 @@ jobs:
ROS_msgs:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
@@ -99,7 +99,7 @@ jobs:
ROS2_bridge:
runs-on: ubuntu-latest
container: px4io/px4-dev-base-focal:2020-09-14
container: px4io/px4-dev-base-focal:2020-11-18
steps:
- uses: actions/checkout@v1
with:
+4 -2
View File
@@ -20,7 +20,7 @@ jobs:
- {latitude: "29.660316", longitude: "-82.316658", altitude: "30", build_type: "RelWithDebInfo", model: "tailsitter" } # Florida
- {latitude: "47.397742", longitude: "8.545594", altitude: "488", build_type: "Coverage", model: "standard_vtol" } # Zurich
container:
image: px4io/px4-dev-simulation-focal:2020-08-14
image: px4io/px4-dev-simulation-focal:2020-11-18
options: --privileged --ulimit core=-1 --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v1
@@ -60,7 +60,9 @@ jobs:
PX4_HOME_LON: ${{matrix.config.longitude}}
PX4_HOME_ALT: ${{matrix.config.altitude}}
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
run: export
run: |
export
ulimit -a
- name: Build PX4
env:
PX4_CMAKE_BUILD_TYPE: ${{matrix.config.build_type}}
Vendored
+13 -13
View File
@@ -15,7 +15,7 @@ pipeline {
// stage('Catkin build on ROS workspace') {
// agent {
// docker {
// image 'px4io/px4-dev-ros-melodic:2020-08-20'
// image 'px4io/px4-dev-ros-melodic:2020-11-18'
// args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
// }
// }
@@ -56,7 +56,7 @@ pipeline {
stage('Colcon build on ROS2 workspace') {
agent {
docker {
image 'px4io/px4-dev-ros2-foxy:2020-08-20'
image 'px4io/px4-dev-ros2-foxy:2020-11-18'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw -e HOME=$WORKSPACE'
}
}
@@ -87,7 +87,7 @@ pipeline {
stage('Airframe') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh 'make distclean'
@@ -106,7 +106,7 @@ pipeline {
stage('Parameter') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh 'make distclean'
@@ -125,7 +125,7 @@ pipeline {
stage('Module') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh 'make distclean'
@@ -145,7 +145,7 @@ pipeline {
stage('uORB graphs') {
agent {
docker {
image 'px4io/px4-dev-nuttx-focal:2020-09-14'
image 'px4io/px4-dev-nuttx-focal:2020-11-18'
args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
}
}
@@ -174,7 +174,7 @@ pipeline {
stage('Devguide') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -204,7 +204,7 @@ pipeline {
stage('Userguide') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -234,7 +234,7 @@ pipeline {
stage('QGroundControl') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -262,7 +262,7 @@ pipeline {
stage('microRTPS agent') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -292,7 +292,7 @@ pipeline {
stage('PX4 ROS msgs') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -321,7 +321,7 @@ pipeline {
stage('PX4 ROS2 bridge') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
@@ -364,7 +364,7 @@ pipeline {
stage('S3') {
agent {
docker { image 'px4io/px4-dev-base-focal:2020-09-14' }
docker { image 'px4io/px4-dev-base-focal:2020-11-18' }
}
steps {
sh('export')
+13 -13
View File
@@ -1,20 +1,20 @@
# PX4 Drone Autopilot
[![Releases](https://img.shields.io/github/release/PX4/Firmware.svg)](https://github.com/PX4/Firmware/releases) [![DOI](https://zenodo.org/badge/22634/PX4/Firmware.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/Firmware)
[![Releases](https://img.shields.io/github/release/PX4/PX4-Autopilot.svg)](https://github.com/PX4/PX4-Autopilot/releases) [![DOI](https://zenodo.org/badge/22634/PX4/PX4-Autopilot.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/PX4-Autopilot)
[![Nuttx Targets](https://github.com/PX4/Firmware/workflows/Nuttx%20Targets/badge.svg)](https://github.com/PX4/Firmware/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [![SITL Tests](https://github.com/PX4/Firmware/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/Firmware/actions?query=workflow%3A%22SITL+Tests%22)
[![Nuttx Targets](https://github.com/PX4/PX4-Autopilot/workflows/Nuttx%20Targets/badge.svg)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22Nuttx+Targets%22?branch=master) [![SITL Tests](https://github.com/PX4/PX4-Autopilot/workflows/SITL%20Tests/badge.svg?branch=master)](https://github.com/PX4/PX4-Autopilot/actions?query=workflow%3A%22SITL+Tests%22)
[![Slack](https://px4-slack.herokuapp.com/badge.svg)](http://slack.px4.io)
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/Firmware/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
This repository holds the [PX4](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/PX4-Autopilot/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/Firmware/blob/master/LICENSE))
* Official Website: http://px4.io (License: BSD 3-clause, [LICENSE](https://github.com/PX4/PX4-Autopilot/blob/master/LICENSE))
* [Supported airframes](https://docs.px4.io/master/en/airframes/airframe_reference.html) ([portfolio](http://px4.io/#airframes)):
* [Multicopters](https://docs.px4.io/master/en/airframes/airframe_reference.html#copter)
* [Fixed wing](https://docs.px4.io/master/en/airframes/airframe_reference.html#plane)
* [VTOL](https://docs.px4.io/master/en/airframes/airframe_reference.html#vtol)
* many more experimental types (Rovers, Blimps, Boats, Submarines, Autogyros, etc)
* Releases: [Downloads](https://github.com/PX4/Firmware/releases)
* Releases: [Downloads](https://github.com/PX4/PX4-Autopilot/releases)
## PX4 Users
@@ -44,20 +44,20 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
* [Lorenz Meier](https://github.com/LorenzMeier)
* Architecture
* [Daniel Agar](https://github.com/dagar)
* [Dev Call](https://github.com/PX4/Firmware/labels/devcall)
* [Dev Call](https://github.com/PX4/PX4-Autopilot/labels/devcall)
* [Ramon Roche](https://github.com/mrpollo)
* Communication Architecture
* [Beat Kueng](https://github.com/bkueng)
* [Julian Oes](https://github.com/JulianOes)
* UI in QGroundControl
* [Gus Grubba](https://github.com/dogmaphobic)
* [Multicopter Flight Control](https://github.com/PX4/Firmware/labels/multicopter)
* [Multicopter Flight Control](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
* [Mathieu Bresciani](https://github.com/bresch)
* [Multicopter Software Architecture](https://github.com/PX4/Firmware/labels/multicopter)
* [Multicopter Software Architecture](https://github.com/PX4/PX4-Autopilot/labels/multicopter)
* [Matthias Grob](https://github.com/MaEtUgR)
* [VTOL Flight Control](https://github.com/PX4/Firmware/labels/vtol)
* [VTOL Flight Control](https://github.com/PX4/PX4-Autopilot/labels/vtol)
* [Roman Bapst](https://github.com/RomanBapst)
* [Fixed Wing Flight Control](https://github.com/PX4/Firmware/labels/fixedwing)
* [Fixed Wing Flight Control](https://github.com/PX4/PX4-Autopilot/labels/fixedwing)
* [Roman Bapst](https://github.com/RomanBapst)
* OS / NuttX
* [David Sidrane](https://github.com/davids5)
@@ -65,9 +65,9 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
* [Daniel Agar](https://github.com/dagar)
* Commander Architecture
* [Julian Oes](https://github.com/julianoes)
* [UAVCAN](https://github.com/PX4/Firmware/labels/uavcan)
* [UAVCAN](https://github.com/PX4/PX4-Autopilot/labels/uavcan)
* [Daniel Agar](https://github.com/dagar)
* [State Estimation](https://github.com/PX4/Firmware/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22)
* [State Estimation](https://github.com/PX4/PX4-Autopilot/issues?q=is%3Aopen+is%3Aissue+label%3A%22state+estimation%22)
* [Paul Riseborough](https://github.com/priseborough)
* Vision based navigation
* [Julian Kent](https://github.com/jkflying)
@@ -76,7 +76,7 @@ The PX4 Dev Team syncs up on a [weekly dev call](https://dev.px4.io/master/en/co
* RTPS/ROS2 Interface
* [Nuno Marques](https://github.com/TSC21)
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/Firmware/graphs/contributors) (Github).
See also [maintainers list](https://px4.io/community/maintainers/) (px4.io) and the [contributors list](https://github.com/PX4/PX4-Autopilot/graphs/contributors) (Github).
## Supported Hardware
+1 -1
View File
@@ -72,7 +72,7 @@ rgbled start -X -q
rgbled_ncp5623c start -X -q
rgbled_pwm start
if param greater LIGHT_EN_BLINKM 0
if param greater -s LIGHT_EN_BLINKM 0
then
if blinkm start -X
then
@@ -9,40 +9,33 @@
if [ $AUTOCNF = yes ]
then
param set FW_ARSP_MODE 1
param set FW_AIRSPD_MAX 25
param set FW_AIRSPD_MIN 14
param set FW_AIRSPD_TRIM 16
param set FW_L1_PERIOD 12
param set FW_MAN_P_MAX 30
param set FW_PR_FF 0.2
param set FW_PR_I 0.4
param set FW_PR_P 0.9
param set FW_PSP_OFF 3
param set FW_RR_FF 0.1
param set FW_RR_P 0.3
param set MC_ROLLRATE_P 0.3
param set MC_YAW_P 1.6
param set MIS_LTRMIN_ALT 10
param set MIS_TAKEOFF_ALT 10
param set MIS_YAW_TMT 10
param set MPC_ACC_HOR_MAX 2
param set MPC_ACC_HOR_MAX 2
param set MPC_THR_MIN 0.1
param set MPC_TKO_SPEED 1
param set MPC_XY_P 0.15
param set MPC_XY_VEL_D_ACC 0.1
param set MPC_XY_P 0.8
param set MPC_XY_VEL_P_ACC 3
param set MPC_XY_VEL_I_ACC 4
param set MPC_XY_VEL_P_ACC 1
param set MPC_Z_VEL_MAX_DN 1.5
param set MPC_Z_VEL_P_ACC 16
param set MPC_XY_VEL_D_ACC 0.1
param set NAV_ACC_RAD 5
param set NAV_LOITER_RAD 80
param set NAV_LOITER_RAD 100
param set VT_F_TRANS_DUR 5.0
param set VT_F_TRANS_THR 0.75
param set VT_FWD_THRUST_SC 1.1
param set VT_TILT_FW 1
param set VT_TILT_TRANS 0.6
param set VT_ELEV_MC_LOCK 0
param set VT_TYPE 1
param set VT_B_TRANS_DUR 8
param set VT_ELEV_MC_LOCK 0
param set VT_FWD_THRUST_EN 4
param set VT_MOT_ID 1234
param set VT_TILT_TRANS 0.6
param set VT_TYPE 1
fi
+1 -6
View File
@@ -22,7 +22,6 @@ fi
# initialize script variables
set AUX_MODE none
set IO_PRESENT no
set LOG_FILE bootlog.txt
set MAV_TYPE none
set MIXER none
set MIXER_AUX none
@@ -53,10 +52,6 @@ else
fi
fi
# clear bootlog
[ -f $LOG_FILE ] && rm $LOG_FILE
uorb start
# Load parameters
@@ -225,7 +220,7 @@ commander start
navigator start
if ! param compare -s MNT_MODE_IN -1
if param greater -s MNT_MODE_IN -1
then
vmount start
fi
@@ -19,6 +19,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -17,6 +17,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -19,6 +19,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -19,6 +19,7 @@
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,10 @@
#
# @maintainer Roman Bapst <roman@auterion.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
@@ -16,6 +16,7 @@
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -17,6 +17,10 @@
# @output AUX4 Rudder
# @output AUX5 Throttle
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
@@ -12,6 +12,10 @@
#
# @maintainer Roman Bapst <roman@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
@@ -7,6 +7,10 @@
#
# @maintainer Roman Bapst <roman@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
@@ -25,4 +29,4 @@ set MAV_TYPE 20
set MIXER quad_x_vtol
set PWM_OUT 1234
set PWM_OUT 1234
@@ -17,6 +17,7 @@
# @output AUX4 Rudder
# @output AUX5 Throttle
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -15,6 +15,7 @@
# @output AUX2 Left elevon
# @output AUX3 Motor
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,7 @@
#
# @maintainer Sander Smeets <sander@droneslab.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,7 @@
#
# @maintainer Sander Smeets <sander@droneslab.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,7 @@
#
# @maintainer Andreas Antener <andreas@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -16,6 +16,7 @@
# @output MAIN7 Elevon right
# @output MAIN8 Elevon left
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -16,6 +16,10 @@
# @output MAIN7 Pusher motor
# @output MAIN8 Pusher reverse channel
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
. ${R}etc/init.d/rc.vtol_defaults
@@ -12,6 +12,7 @@
#
# @maintainer Roman Bapst <roman@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -17,6 +17,7 @@
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -15,6 +15,7 @@
#
# @maintainer Julian Oes <julian@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -2,7 +2,7 @@
#
# @name Wing Wing (aka Z-84) Flying Wing
#
# @url https://docs.px4.io/master/en/framebuild_plane/wing_wing_z84.html
# @url https://docs.px4.io/master/en/frames_plane/wing_wing_z84.html
#
# @type Flying Wing
# @class Plane
@@ -17,6 +17,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -14,6 +14,7 @@
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
@@ -17,6 +17,7 @@
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board bitcraze_crazyflie exclude
#
@@ -7,6 +7,7 @@
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
# @board px4_fmu-v2 exclude
# @board intel_aerofc-v1 exclude
# @board bitcraze_crazyflie exclude
#
@@ -1,7 +1,7 @@
#!/bin/sh
#
# @name Spedix S250AQ
# @url https://docs.px4.io/master/en/framebuild_multicopter/spedix_s250_pixracer.html
# @url https://docs.px4.io/master/en/frames_multicopter/spedix_s250_pixracer.html
#
# @type Quadrotor asymmetric
# @class Copter
@@ -98,7 +98,6 @@ then
param set BAT_V_DIV 10.14
param set BAT_A_PER_V 18.18
#param set CBRK_IO_SAFETY 22027
param set COM_ARM_EKF_AB 0.005
param set COM_DISARM_LAND 2
# Filter settings
@@ -77,7 +77,6 @@ then
param set BAT_SOURCE 0
param set CBRK_IO_SAFETY 22027
#param set COM_ARM_EKF_AB 0.005
#param set COM_DISARM_LAND 3
# Filter settings
@@ -107,7 +107,6 @@ then
param set BAT_V_DIV 10.14
param set BAT_A_PER_V 18.18
#param set CBRK_IO_SAFETY 22027
param set COM_ARM_EKF_AB 0.005
param set COM_DISARM_LAND 2
# Filter settings
@@ -49,7 +49,6 @@ then
# sensor calibration
param set CAL_MAG_SIDES 63
param set SENS_BOARD_ROT 0
param set COM_ARM_EKF_AB 0.0032
# circuit breakers
param set CBRK_IO_SAFETY 22027
@@ -5,8 +5,6 @@
# @type Rover
# @class Rover
#
# @board px4_fmu-v2 exclude
#
# @output MAIN2 steering
# @output MAIN4 throttle
#
+5 -9
View File
@@ -18,7 +18,7 @@ set OUTPUT_DEV none
# If mount (gimbal) control is enabled and output mode is AUX, set the aux
# mixer to mount (override the airframe-specific MIXER_AUX setting).
#
if ! param compare -s MNT_MODE_IN -1
if param greater -s MNT_MODE_IN -1
then
if param compare -s MNT_MODE_OUT 0
then
@@ -43,13 +43,13 @@ then
if [ $IO_PRESENT = yes ]
then
set OUTPUT_MODE io
if param greater DSHOT_CONFIG 0
if param greater -s DSHOT_CONFIG 0
then
set OUTPUT_CMD dshot
fi
fi
else
if param greater DSHOT_CONFIG 0
if param greater -s DSHOT_CONFIG 0
then
set OUTPUT_MODE dshot
set OUTPUT_CMD dshot
@@ -93,7 +93,7 @@ then
then
if ! $OUTPUT_CMD mode_$FMU_MODE
then
echo "$OUTPUT_CMD start failed" >> $LOG_FILE
echo "$OUTPUT_CMD start failed"
tune_control play error
fi
fi
@@ -172,7 +172,6 @@ then
echo "INFO [init] Mixer: ${MIXER_FILE} on ${OUTPUT_DEV}"
else
echo "ERROR [init] Failed loading mixer: ${MIXER_FILE}"
echo "ERROR [init] Failed loading mixer: ${MIXER_FILE}" >> $LOG_FILE
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
@@ -180,7 +179,6 @@ else
if [ $MIXER != skip ]
then
echo "ERROR [init] Mixer undefined"
echo "ERROR [init] Mixer undefined" >> $LOG_FILE
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
fi
@@ -213,7 +211,6 @@ then
echo "INFO [init] Mixer: ${MIXER_AUX_FILE} appended to ${OUTPUT_DEV}"
else
echo "ERROR [init] Failed appending mixer: ${MIXER_AUX_FILE}"
echo "ERROR [init] Failed appending mixer: ${MIXER_AUX_FILE}" >> $LOG_FILE
fi
fi
if [ -e $OUTPUT_AUX_DEV -a $OUTPUT_MODE != hil ]
@@ -223,14 +220,13 @@ then
echo "INFO [init] Mixer: ${MIXER_AUX_FILE} on ${OUTPUT_AUX_DEV}"
else
echo "ERROR [init] Failed loading mixer: ${MIXER_AUX_FILE}"
echo "ERROR [init] Failed loading mixer: ${MIXER_AUX_FILE}" >> $LOG_FILE
fi
else
set PWM_AUX_OUT none
set FAILSAFE_AUX none
fi
else
echo "ERROR: Could not start: pwm_out mode_pwm" >> $LOG_FILE
echo "ERROR: Could not start: pwm_out mode_pwm"
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
set PWM_AUX_OUT none
set FAILSAFE_AUX none
+1 -1
View File
@@ -17,7 +17,7 @@ then
# Allow PX4IO to recover from midair restarts.
px4io recovery
else
echo "PX4IO start failed" >> $LOG_FILE
echo "PX4IO start failed"
tune_control play -t 18 # PROG_PX4IO_ERR
fi
fi
+1
View File
@@ -62,6 +62,7 @@ mc_att_control start
# Start Multicopter Position Controller.
#
mc_hover_thrust_estimator start
flight_mode_manager start
mc_pos_control start
#
+6
View File
@@ -102,6 +102,12 @@ then
paw3902 -S start
fi
# vl53l1x i2c distance sensor
if param compare -s SENS_EN_VL53L1X 1
then
vl53l1x start -X
fi
# probe for optional external I2C devices
if param compare SENS_EXT_I2C_PRB 1
then
+3 -3
View File
@@ -7,17 +7,17 @@
set TEMP_COMP_START ""
if param compare TC_A_ENABLE 1
if param compare -s TC_A_ENABLE 1
then
set TEMP_COMP_START "true"
fi
if param compare TC_B_ENABLE 1
if param compare -s TC_B_ENABLE 1
then
set TEMP_COMP_START "true"
fi
if param compare TC_G_ENABLE 1
if param compare -s TC_G_ENABLE 1
then
set TEMP_COMP_START "true"
fi
+1
View File
@@ -21,6 +21,7 @@ vtol_att_control start
mc_rate_control start vtol
mc_att_control start vtol
flight_mode_manager start vtol
mc_pos_control start vtol
mc_hover_thrust_estimator start
+3 -1
View File
@@ -15,8 +15,10 @@ then
param set MIS_TAKEOFF_ALT 20
param set MIS_YAW_TMT 10
param set EKF2_ARSP_THR 10
param set EKF2_FUSE_BETA 1
param set MPC_ACC_HOR_MAX 2
param set MPC_LAND_SPEED 0.7
param set MPC_TKO_SPEED 1
param set MPC_VEL_MANUAL 3
param set MPC_XY_CRUISE 3
+59 -73
View File
@@ -32,7 +32,6 @@ set FMU_MODE pwm
set FRC /fs/microsd/etc/rc.txt
set IOFW "/etc/extras/px4_io-v2_default.bin"
set IO_PRESENT no
set LOG_FILE /fs/microsd/bootlog.txt
set LOGGER_ARGS ""
set LOGGER_BUF 14
set MAV_TYPE none
@@ -140,10 +139,7 @@ else
else
set STARTUP_TUNE 15 # tune 15 = SD_ERROR
echo "ERROR [init] format failed"
set LOG_FILE /dev/null
fi
else
set LOG_FILE /dev/null
fi
fi
@@ -157,9 +153,10 @@ then
else
#
# Set the parameter file if mtd starts successfully.
# Set the parameter file the board supports params on
# MTD device.
#
if mtd start
if mft query -q -k MTD -s MTD_PARAMETERS -v /fs/mtd_params
then
set PARAM_FILE /fs/mtd_params
fi
@@ -167,13 +164,10 @@ else
#
# Load parameters.
#
# if MTD has a secondary storage it is used for (factory) calibration data
if mtd has-secondary
# if the board has a storage for (factory) calibration data
if mft query -q -k MTD -s MTD_CALDATA -v /fs/mtd_caldata
then
if mtd start -i 1 /fs/mtd_caldata
then
param load /fs/mtd_caldata
fi
param load /fs/mtd_caldata
fi
param select $PARAM_FILE
@@ -244,7 +238,7 @@ else
rgbled start -X -q
rgbled_ncp5623c start -X -q
if param greater LIGHT_EN_BLINKM 0
if param greater -s LIGHT_EN_BLINKM 0
then
if blinkm start -X
then
@@ -277,57 +271,6 @@ else
param set SYS_AUTOCONFIG 0
fi
#
# Check if PX4IO present and update firmware if needed.
# Assumption IOFW set to firmware file and IO_PRESENT = no
#
if [ -f $IOFW ]
then
# Check for the mini using build with px4io fw file
# but not a px4IO
if ver hwtypecmp V540 V560
then
param set SYS_USE_IO 0
else
if px4io checkcrc ${IOFW}
then
set IO_PRESENT yes
else
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO
if px4io start
then
# Try to safety px4 io so motor outputs don't go crazy.
if ! px4io safety_on
then
# px4io did not respond to the safety command.
px4io stop
fi
fi
if px4io forceupdate 14662 ${IOFW}
then
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
then
echo "PX4IO CRC OK after updating" >> $LOG_FILE
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
set IO_PRESENT yes
fi
fi
if [ $IO_PRESENT = no ]
then
echo "PX4IO update failed" >> $LOG_FILE
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
fi
fi
fi
#
# Set USE_IO flag.
#
@@ -336,10 +279,54 @@ else
set USE_IO yes
fi
if [ $USE_IO = yes -a $IO_PRESENT = no ]
#
# Check if PX4IO present and update firmware if needed.
# Assumption IOFW set to firmware file and IO_PRESENT = no
#
if [ -f $IOFW -a $USE_IO = yes ]
then
echo "PX4IO not found" >> $LOG_FILE
tune_control play error
if px4io checkcrc ${IOFW}
then
set IO_PRESENT yes
else
# tune Program PX4IO
tune_control play -t 16 # tune 16 = PROG_PX4IO
if px4io start
then
# Try to safety px4 io so motor outputs don't go crazy.
if ! px4io safety_on
then
# px4io did not respond to the safety command.
px4io stop
fi
fi
if px4io forceupdate 14662 ${IOFW}
then
usleep 10000
tune_control stop
if px4io checkcrc ${IOFW}
then
echo "PX4IO CRC OK after updating"
tune_control play -t 17 # tune 17 = PROG_PX4IO_OK
set IO_PRESENT yes
fi
fi
if [ $IO_PRESENT = no ]
then
echo "PX4IO update failed"
tune_control play -t 18 # tune 18 = PROG_PX4IO_ERR
fi
fi
if [ $USE_IO = yes -a $IO_PRESENT = no ]
then
echo "PX4IO not found"
tune_control play error
fi
fi
#
@@ -410,7 +397,7 @@ else
set AUX_MODE pwm4
fi
if param greater TRIG_MODE 0
if param greater -s TRIG_MODE 0
then
# We ONLY support trigger on pins 5+6 or 7+8 when simultanously using AUX for actuator output.
if param compare TRIG_PINS 56
@@ -509,24 +496,24 @@ else
#
# Start vmount to control mounts such as gimbals, disabled by default.
#
if ! param compare MNT_MODE_IN -1
if param greater -s MNT_MODE_IN -1
then
vmount start
fi
# Check for flow sensor
if param compare SENS_EN_PX4FLOW 1
if param compare -s SENS_EN_PX4FLOW 1
then
px4flow start -X
fi
# Blacksheep telemetry
if param greater TEL_BST_EN 0
if param compare -s TEL_BST_EN 1
then
bst start -X
fi
if param compare IMU_GYRO_FFT_EN 1
if param compare -s IMU_GYRO_FFT_EN 1
then
gyro_fft start
fi
@@ -593,7 +580,6 @@ unset FMU_MODE
unset FRC
unset IO_PRESENT
unset IOFW
unset LOG_FILE
unset LOGGER_ARGS
unset LOGGER_BUF
unset MAV_TYPE
@@ -29,11 +29,9 @@ Channel 5 connects to the right (starboard) elevon.
Channel 6 connects to the left (port) elevon.
M: 2
O: 7500 7500 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 10000 10000 0 -10000 10000
M: 2
O: 7500 7500 0 -10000 10000
S: 1 0 10000 10000 0 -10000 10000
S: 1 1 -10000 -10000 0 -10000 10000
+10 -8
View File
@@ -1,4 +1,4 @@
#! /usr/bin/python
#! /usr/bin/env python3
import serial, time
import subprocess
@@ -10,7 +10,7 @@ def monitor_firmware_upload(port, baudrate):
databits = serial.EIGHTBITS
stopbits = serial.STOPBITS_ONE
parity = serial.PARITY_NONE
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=10)
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=1)
finished = 0
@@ -19,8 +19,9 @@ def monitor_firmware_upload(port, baudrate):
timeout_newline = time.time()
while finished == 0:
serial_line = ser.readline()
print(serial_line.replace('\n',''))
serial_line = ser.readline().decode("ascii", errors='ignore')
if (len(serial_line) > 0):
print(serial_line.replace('\n', ''))
if "NuttShell (NSH)" in serial_line:
finished = 1
@@ -36,16 +37,17 @@ def monitor_firmware_upload(port, baudrate):
finished = 1
break
# newline every 30 seconds if still running
if time.time() - timeout_newline > 30:
ser.write('\n')
# newline every 10 seconds if still running
if time.time() - timeout_newline > 10:
timeout_newline = time.time()
ser.write('\n'.encode("ascii"))
ser.flush()
ser.close()
def main():
parser = ArgumentParser(description=__doc__)
parser.add_argument('--device', "-d", nargs='?', default = None, help='')
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
args = parser.parse_args()
+58 -43
View File
@@ -1,72 +1,87 @@
#! /usr/bin/python
#! /usr/bin/env python3
import serial, time
import subprocess
from subprocess import call, Popen
from argparse import ArgumentParser
import re
import sys
def do_nsh_cmd(port, baudrate, cmd):
databits = serial.EIGHTBITS
stopbits = serial.STOPBITS_ONE
parity = serial.PARITY_NONE
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=10)
ser.write('\n')
finished = 0
success = False
timeout = 10 # 10 seconds
timeout_start = time.time()
while True:
serial_line = ser.readline()
print(serial_line.replace('\n',''))
if "nsh>" in serial_line:
break
elif "NuttShell (NSH)" in serial_line:
break
if time.time() > timeout_start + timeout:
print("Error, timeout")
break
ser.write('\n')
time.sleep(0.01)
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=0.1)
# run command
ser.write(cmd + '\n')
timeout = 30 # 30 seconds
timeout_start = time.time()
timeout_newline = timeout_start
timeout = 10 # 10 seconds
# clear
ser.write("\n".encode("ascii"))
ser.flush()
ser.readline()
success_cmd = "cmd succeeded!"
serial_cmd = '{0}; echo "{1}"\n'.format(cmd, success_cmd)
ser.write(serial_cmd.encode("ascii"))
ser.flush()
ser.readline()
# TODO: require successful command echo
# while True:
# serial_cmd = '{0}; echo "{1}"\n'.format(cmd, success_cmd)
# ser.write(serial_cmd.encode("ascii"))
# ser.flush()
# serial_line = ser.readline().decode("ascii", errors='ignore')
# if cmd in serial_line:
# break
# else:
# print(serial_line, end='')
# if time.time() > timeout_start + timeout:
# print("Error, timeout")
# sys.exit(-1)
# break
# time.sleep(1)
timeout_start = time.time()
timeout = 30 # 30 seconds
while True:
serial_line = ser.readline()
print(serial_line.replace('\n',''))
serial_line = ser.readline().decode("ascii", errors='ignore')
if cmd in serial_line:
continue
elif "nsh>" in serial_line:
break
elif "NuttShell (NSH)" in serial_line:
if success_cmd in serial_line:
break
else:
if len(serial_line) > 0:
print(serial_line, end='')
if "nsh>" in serial_line:
#sys.exit(-1) # error, command didn't complete successfully
break # TODO: return error on failure
elif "NuttShell (NSH)" in serial_line:
#sys.exit(-1) # error, command didn't complete successfully
break # TODO: return error on failure
if len(serial_line) <= 0:
ser.write("\n".encode("ascii"))
ser.flush()
if time.time() > timeout_start + timeout:
print("Error, timeout")
break
ser.write('\n')
time.sleep(0.01)
sys.exit(-1)
ser.close()
def main():
parser = ArgumentParser(description=__doc__)
parser.add_argument('--device', "-d", nargs='?', default = None, help='')
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
parser.add_argument("--cmd", "-c", dest="cmd", help="Command to run")
args = parser.parse_args()
+70 -55
View File
@@ -1,4 +1,4 @@
#! /usr/bin/python
#! /usr/bin/env python3
import serial, time
import subprocess
@@ -7,64 +7,70 @@ from argparse import ArgumentParser
import re
import unittest
import os
import sys
def do_test(port, baudrate, test_name):
databits = serial.EIGHTBITS
stopbits = serial.STOPBITS_ONE
parity = serial.PARITY_NONE
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=10)
ser = serial.Serial(port, baudrate, databits, parity, stopbits, timeout=1)
ser.write('\n')
finished = 0
success = False
timeout = 10 # 10 seconds
timeout_start = time.time()
while True:
serial_line = ser.readline()
print(serial_line.replace('\n',''))
if "nsh>" in serial_line:
break
elif "NuttShell (NSH)" in serial_line:
break
if time.time() > timeout_start + timeout:
print("Error, timeout")
break
ser.write('\n')
time.sleep(0.01)
# run test cmd
print('\n|======================================================================')
cmd = 'tests ' + test_name
ser.write(cmd + '\n')
print("| Running:", cmd)
print('|======================================================================')
timeout_start = time.time()
timeout = 10 # 10 seconds
# clear
ser.write("\n".encode("ascii"))
ser.flush()
ser.readline()
serial_cmd = '{0}\n'.format(cmd)
ser.write(serial_cmd.encode("ascii"))
ser.flush()
ser.readline()
# TODO: retry command
# while True:
# serial_cmd = '{0}\n'.format(cmd)
# ser.write(serial_cmd.encode("ascii"))
# ser.flush()
# serial_line = ser.readline().decode("ascii", errors='ignore')
# if cmd in serial_line:
# break
# else:
# print(serial_line.replace('\n', ''))
# if time.time() > timeout_start + timeout:
# print("Error, unable to write cmd")
# return False
# time.sleep(1)
# print results, wait for final result (PASSED or FAILED)
timeout = 180 # 3 minutes
timeout_start = time.time()
timeout_newline = timeout_start
while True:
serial_line = ser.readline()
print(serial_line.replace('\n',''))
serial_line = ser.readline().decode("ascii", errors='ignore')
if (len(serial_line) > 0):
print(serial_line, end='')
if cmd in serial_line:
continue
elif test_name + " PASSED" in serial_line:
if test_name + " PASSED" in serial_line:
success = True
break
elif test_name + " FAILED" in serial_line:
success = False
break
elif "nsh>" in serial_line:
success = False
break
elif "NuttShell (NSH)" in serial_line:
success = False
break
if time.time() > timeout_start + timeout:
print("Error, timeout")
@@ -72,22 +78,28 @@ def do_test(port, baudrate, test_name):
success = False
break
# newline every 30 seconds if still running
if time.time() - timeout_newline > 30:
ser.write('\n')
# newline every 10 seconds if still running
if time.time() - timeout_newline > 10:
ser.write("\n".encode("ascii"))
timeout_newline = time.time()
ser.close()
return success
class TestHadrwareMethods(unittest.TestCase):
class TestHardwareMethods(unittest.TestCase):
TEST_DEVICE = 0
TEST_BAUDRATE = 0
def test_atomic_bitset(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "atomic_bitset"))
def test_bezier(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "bezier"))
def test_bitset(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "bitset"))
def test_bson(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "bson"))
@@ -97,8 +109,8 @@ class TestHadrwareMethods(unittest.TestCase):
def test_controllib(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "controllib"))
# def test_dataman(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "dataman"))
# def test_dataman(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "dataman"))
def floattest_float(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "float"))
@@ -109,6 +121,9 @@ class TestHadrwareMethods(unittest.TestCase):
def test_IntrusiveQueue(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "IntrusiveQueue"))
def test_IntrusiveSortedList(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "IntrusiveSortedList"))
def test_List(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "List"))
@@ -133,8 +148,8 @@ class TestHadrwareMethods(unittest.TestCase):
def test_microbench_uorb(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "microbench_uorb"))
# def test_mixer(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "mixer"))
# def test_mixer(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "mixer"))
def test_param(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "param"))
@@ -145,34 +160,34 @@ class TestHadrwareMethods(unittest.TestCase):
def test_perf(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "perf"))
def search_mintest_xxx(self):
# def test_rc(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "rc"))
def test_search_min(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "search_min"))
def test_sleep(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "sleep"))
def test_smoothz(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "smoothz"))
def test_time(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "time"))
#def test_uorb(self):
# self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "uorb"))
def test_uorb(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "uorb"))
def test_versioning(self):
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "versioning"))
def main():
parser = ArgumentParser(description=__doc__)
parser.add_argument('--device', "-d", nargs='?', default = None, help='')
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
args = parser.parse_args()
TestHadrwareMethods.TEST_DEVICE = args.device
TestHadrwareMethods.TEST_BAUDRATE = args.baudrate
TestHardwareMethods.TEST_DEVICE = args.device
TestHardwareMethods.TEST_BAUDRATE = args.baudrate
unittest.main(__name__, argv=['main'])
unittest.main(__name__, failfast=True, verbosity=0, argv=['main'])
if __name__ == "__main__":
main()
+5 -5
View File
@@ -4,10 +4,10 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then
echo "guessing PX4_DOCKER_REPO based on input";
if [[ $@ =~ .*px4_fmu.* ]]; then
# nuttx-px4fmu-v{1,2,3,4,5}
PX4_DOCKER_REPO="px4io/px4-dev-nuttx-focal:2020-09-14"
PX4_DOCKER_REPO="px4io/px4-dev-nuttx-focal:2020-11-18"
elif [[ $@ =~ .*ocpoc.* ]] || [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*beaglebone.* ]] || [[ $@ =~ .*pilotpi.default ]]; then
# aerotenna_ocpoc_default, beaglebone_blue_default, emlid_navio2_default, px4_raspberrypi_default, scumaker_pilotpi_default
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2020-04-01"
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2020-11-18"
elif [[ $@ =~ .*pilotpi.arm64 ]]; then
# scumaker_pilotpi_arm64
PX4_DOCKER_REPO="px4io/px4-dev-aarch64:latest"
@@ -16,13 +16,13 @@ if [ -z ${PX4_DOCKER_REPO+x} ]; then
PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2020-04-01"
elif [[ $@ =~ .*ocpoc.* ]] || [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*bebop.* ]]; then
# aerotenna_ocpoc_default, posix_rpi_cross, posix_bebop_default
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2020-04-01"
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2020-11-18"
elif [[ $@ =~ .*clang.* ]] || [[ $@ =~ .*scan-build.* ]]; then
# clang tools
PX4_DOCKER_REPO="px4io/px4-dev-clang:2020-04-01"
PX4_DOCKER_REPO="px4io/px4-dev-clang:2020-11-18"
elif [[ $@ =~ .*tests* ]]; then
# run all tests with simulation
PX4_DOCKER_REPO="px4io/px4-dev-simulation-bionic:2020-04-01"
PX4_DOCKER_REPO="px4io/px4-dev-simulation-bionic:2020-11-18"
fi
else
echo "PX4_DOCKER_REPO is set to '$PX4_DOCKER_REPO'";
+3 -3
View File
@@ -16,8 +16,8 @@ function spawn_model() {
MODEL=$1
N=$2 #Instance Number
SUPPORTED_MODELS=("iris" "iris_rtps" "plane" "standard_vtol" "rover" "r1_rover")
if [[ " ${SUPPORTED_MODELS[*]} " != *"$MODEL "* ]];
SUPPORTED_MODELS=("iris" "iris_rtps" "plane" "standard_vtol" "rover" "r1_rover" "typhoon_h480")
if [[ " ${SUPPORTED_MODELS[*]} " != *"$MODEL"* ]];
then
echo "ERROR: Currently only vehicle model $MODEL is not supported!"
echo " Supported Models: [${SUPPORTED_MODELS[@]}]"
@@ -31,7 +31,7 @@ function spawn_model() {
pushd "$working_dir" &>/dev/null
echo "starting instance $N in $(pwd)"
../bin/px4 -i $N -d "$build_path/etc" -w sitl_${MODEL}_${N} -s etc/init.d-posix/rcS >out.log 2>err.log &
python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${MODEL}/${MODEL}.sdf.jinja ${src_path}/Tools/sitl_gazebo --mavlink_tcp_port $((4560+${N})) --mavlink_udp_port $((14560+${N})) --output-file /tmp/${MODEL}_${N}.sdf
python3 ${src_path}/Tools/sitl_gazebo/scripts/jinja_gen.py ${src_path}/Tools/sitl_gazebo/models/${MODEL}/${MODEL}.sdf.jinja ${src_path}/Tools/sitl_gazebo --mavlink_tcp_port $((4560+${N})) --mavlink_udp_port $((14560+${N})) --mavlink_id $((1+${N})) --gst_udp_port $((5600+${N})) --video_uri $((5600+${N})) --mavlink_cam_udp_port $((14530+${N})) --output-file /tmp/${MODEL}_${N}.sdf
echo "Spawning ${MODEL}_${N}"
+3 -2
View File
@@ -344,8 +344,9 @@ class uploader(object):
try:
self.__getSync(False)
except:
# if it fails we are on a real Serial Port
self.ackWindowedMode = True
# if it fails we are on a real serial port - only leave this enabled on Windows
if _platform.system() == 'Windows':
self.ackWindowedMode = True
self.port.baudrate = self.baudrate_bootloader
+8
View File
@@ -130,6 +130,14 @@ serial_ports = {
"default_baudrate": 0,
},
# WIFI Port (PixRacer)
"WIFI": {
"label": "Wifi Port",
"index": 301,
"default_baudrate": 1, # set default to an unusable value to detect that this serial port has not been configured
},
}
parser = argparse.ArgumentParser(description='Generate Serial params & startup script')
+2 -1
View File
@@ -11,6 +11,8 @@ pandas>=0.21
pkgconfig
psutil
pygments
wheel>=0.31.1
pymavlink
pyros-genmsg
pyserial>=3.0
pyulog>=0.5.0
@@ -19,4 +21,3 @@ requests
setuptools>=39.2.0
six>=1.12.0
toml>=0.9
wheel>=0.31.1
+24 -1
View File
@@ -127,7 +127,30 @@ elif [ "$program" == "gazebo" ] && [ ! -n "$no_sim" ]; then
gzserver $verbose $world_path &
SIM_PID=$!
while gz model --verbose --spawn-file="${src_path}/Tools/sitl_gazebo/models/${model}/${model_name}.sdf" --model-name=${model} -x 1.01 -y 0.98 -z 0.83 2>&1 | grep -q "An instance of Gazebo is not running."; do
# Check all paths in ${GAZEBO_MODEL_PATH} for specified model
IFS_bak=$IFS
IFS=":"
for possible_model_path in ${GAZEBO_MODEL_PATH}; do
if [ -z $possible_model_path ]; then
continue
fi
# trim \r from path
possible_model_path=$(echo $possible_model_path | tr -d '\r')
if test -f "${possible_model_path}/${model}/${model}.sdf" ; then
modelpath=$possible_model_path
break
fi
done
IFS=$IFS_bak
if [ -z $modelpath ]; then
echo "Model ${model} not found in model path: ${GAZEBO_MODEL_PATH}"
exit 1
else
echo "Using: ${modelpath}/${model}/${model}.sdf"
fi
while gz model --verbose --spawn-file="${modelpath}/${model}/${model_name}.sdf" --model-name=${model} -x 1.01 -y 0.98 -z 0.83 2>&1 | grep -q "An instance of Gazebo is not running."; do
echo "gzserver not ready yet, trying again!"
sleep 1
done
+1 -1
View File
@@ -238,7 +238,7 @@ class Graph(object):
special_cases_pub = [
('replay', r'Replay\.cpp$', None, r'^sub\.orb_meta$'),
('uavcan', r'sensors/.*\.cpp$', r'\bUavcanCDevSensorBridgeBase\([^{]*DEVICE_PATH,([^,)]+)', r'^_orb_topic$'),
('uavcan', r'sensors/.*\.cpp$', None, r'^_orb_topic$'),
]
special_cases_pub = [(a, re.compile(b), re.compile(c) if c is not None else None, re.compile(d))
for a,b,c,d in special_cases_pub]
+1 -1
View File
@@ -45,6 +45,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -71,7 +72,6 @@ px4_add_board(
esc_calib
led_control
mixer
modules
motor_ramp
param
perf
+2 -1
View File
@@ -59,6 +59,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -87,8 +88,8 @@ px4_add_board(
hardfault_log
i2cdetect
led_control
mft
mixer
modules
motor_ramp
motor_test
mtd
@@ -32,6 +32,7 @@ CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F427V=y
CONFIG_ARCH_INTERRUPTSTACK=512
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_LAZYFPU=y
CONFIG_ARMV7M_MEMCPY=y
CONFIG_ARMV7M_USEBASEPRI=y
CONFIG_BOARDCTL_RESET=y
+4
View File
@@ -307,5 +307,9 @@ __EXPORT int board_app_initialize(uintptr_t arg)
#endif
/* Configure the HW based on the manifest */
px4_platform_configure();
return OK;
}
+1 -1
View File
@@ -64,6 +64,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -95,7 +96,6 @@ px4_add_board(
#hardfault_log
led_control
mixer
modules
motor_ramp
motor_test
#mtd
+1
View File
@@ -56,6 +56,7 @@ px4_add_board(
attitude_estimator_q
commander
ekf2
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
+1 -1
View File
@@ -63,6 +63,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -93,7 +94,6 @@ px4_add_board(
#hardfault_log
led_control
mixer
modules
motor_ramp
motor_test
#mtd
+1
View File
@@ -56,6 +56,7 @@ px4_add_board(
attitude_estimator_q
commander
ekf2
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
+1 -1
View File
@@ -59,6 +59,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -88,7 +89,6 @@ px4_add_board(
i2cdetect
led_control
mixer
modules
motor_ramp
motor_test
nshterm
+3 -1
View File
@@ -8,7 +8,9 @@ param set CBRK_SUPPLY_CHK 894281
if [ $AUTOCNF = yes ]
then
# Multi-EKF
param set EKF2_MULTI_IMU 3
param set SENS_IMU_MODE 0
fi
set LOGGER_BUF 64
@@ -52,6 +52,7 @@ CONFIG_ARMV7M_BASEPRI_WAR=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_DTCM=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_ARMV7M_LAZYFPU=y
CONFIG_ARMV7M_MEMCPY=y
CONFIG_ARMV7M_USEBASEPRI=y
CONFIG_BOARDCTL_RESET=y
+4
View File
@@ -192,6 +192,10 @@ __EXPORT int board_app_initialize(uintptr_t arg)
configure_switch();
/* Configure the HW based on the manifest */
px4_platform_configure();
return OK;
}
+1 -1
View File
@@ -40,6 +40,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -67,7 +68,6 @@ px4_add_board(
esc_calib
led_control
mixer
modules
motor_ramp
param
perf
+2 -1
View File
@@ -21,6 +21,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
land_detector
landing_target_estimator
load_mon
@@ -43,8 +44,8 @@ px4_add_board(
hardfault_log
i2cdetect
led_control
mft
mixer
modules
motor_ramp
motor_test
mtd
@@ -31,6 +31,7 @@ CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F405RG=y
CONFIG_ARCH_INTERRUPTSTACK=512
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_LAZYFPU=y
CONFIG_ARMV7M_MEMCPY=y
CONFIG_ARMV7M_USEBASEPRI=y
CONFIG_BOARDCTL_RESET=y
@@ -64,6 +64,7 @@ EXTERN(_vectors) /* force the vectors to be included in the output */
* code pulled in by libgcc.a requires it (and that code cannot be easily avoided).
*/
EXTERN(abort)
EXTERN(board_get_manifest)
SECTIONS
{
@@ -35,6 +35,7 @@ add_library(drivers_board
i2c.cpp
init.c
led.c
mtd.cpp
spi.cpp
timer_config.cpp
usb.c
+4
View File
@@ -169,5 +169,9 @@ __EXPORT int board_app_initialize(uintptr_t arg)
#endif
/* Configure the HW based on the manifest */
px4_platform_configure();
return OK;
}
+81
View File
@@ -0,0 +1,81 @@
/****************************************************************************
*
* 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.
*
****************************************************************************/
#include <nuttx/spi/spi.h>
#include <px4_platform_common/px4_manifest.h>
// KiB BS nB
static const px4_mft_device_t i2c1 = { // 24AA64FT on Base 8K 32 X 256
.bus_type = px4_mft_device_t::I2C,
.devid = PX4_MK_I2C_DEVID(1, 0x50)
};
static const px4_mtd_entry_t fmu_eeprom = {
.device = &i2c1,
.npart = 2,
.partd = {
{
.type = MTD_PARAMETERS,
.path = "/fs/mtd_params",
.nblocks = 128
},
{
.type = MTD_WAYPOINTS,
.path = "/fs/mtd_waypoints",
.nblocks = 128
}
},
};
static const px4_mtd_manifest_t board_mtd_config = {
.nconfigs = 1,
.entries = {
&fmu_eeprom,
}
};
static const px4_mft_entry_s mtd_mft = {
.type = MTD,
.pmft = (void *) &board_mtd_config,
};
static const px4_mft_s mft = {
.nmft = 1,
.mfts = &mtd_mft
};
const px4_mft_s *board_get_manifest(void)
{
return &mft;
}
@@ -37,6 +37,7 @@ px4_add_module(
COMPILE_FLAGS
-Wno-cast-align # TODO: fix and enable
SRCS
ringbuffer.cpp
syslink_main.cpp
syslink_bridge.cpp
syslink_memory.cpp
@@ -38,7 +38,7 @@
#include <battery/battery.h>
#include <drivers/device/device.h>
#include <drivers/device/ringbuffer.h>
#include "ringbuffer.h"
#include <uORB/PublicationMulti.hpp>
#include <uORB/topics/parameter_update.h>
+1
View File
@@ -51,6 +51,7 @@ px4_add_board(
#hardfault_log
#i2cdetect
#led_control
#mft
#mixer
#motor_ramp
#motor_test
@@ -28,6 +28,7 @@ CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32F412CE=y
CONFIG_ARCH_INTERRUPTSTACK=512
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_LAZYFPU=y
CONFIG_ARMV7M_MEMCPY=y
CONFIG_ARMV7M_USEBASEPRI=y
CONFIG_BOARDCTL_RESET=y
+4
View File
@@ -123,5 +123,9 @@ __EXPORT int board_app_initialize(uintptr_t arg)
{
px4_platform_init();
/* Configure the HW based on the manifest */
px4_platform_configure();
return OK;
}
+2
View File
@@ -64,6 +64,7 @@ px4_add_board(
dataman
ekf2
events
flight_mode_manager
fw_att_control
fw_pos_control_l1
land_detector
@@ -92,6 +93,7 @@ px4_add_board(
hardfault_log
i2cdetect
led_control
mft
mixer
motor_ramp
motor_test
+6
View File
@@ -31,6 +31,12 @@ then
param set BAT1_A_PER_V 24
param set BAT2_A_PER_V 24
# Multi-EKF
param set EKF2_MULTI_IMU 3
param set SENS_IMU_MODE 0
param set EKF2_MULTI_MAG 3
param set SENS_MAG_MODE 0
# Enable IMU thermal control
param set SENS_EN_THERMAL 1
fi

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