Commit Graph

18758 Commits

Author SHA1 Message Date
Julian Oes f0ce300744 platforms: move latency_buckets to perf.c 2018-12-22 10:32:18 +01:00
Julian Oes 6466e690fe DriverFramework: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes 4af0c939ec lockstep_scheduler: update submodule 2018-12-22 10:32:18 +01:00
Julian Oes 5ff3c40179 Added lockstep_scheduler as submodule
This is just an intermediate step until we can copy the sources over.
2018-12-22 10:32:18 +01:00
Julian Oes db6de38b19 Work in progress to support a speed factor in SITL
These contains some rough changes trying to get SITL to speed up by a
SPEED_FACTOR.

This platform time code probably requires some more thought and refactor
but this gets a demo at 4x working.
2018-12-22 10:32:18 +01:00
Julian Oes d70b0f1c8c Replace sleep with px4_sleep
This is another step to isolate time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes 3f695870a4 Replace usleep in GpsDrivers 2018-12-22 10:32:18 +01:00
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Julian Oes e485885344 platforms: remove unused Rate class 2018-12-22 10:32:18 +01:00
PX4 Build Bot 582658f2e0 Update submodule matrix to latest Sat Dec 22 00:38:42 UTC 2018
- matrix in PX4/Firmware (3e5d66580520e5ae64555c5fc9252c6c661389e3): https://github.com/PX4/Matrix/commit/9c0acfba36a928b7b002eea3a9dca54a5a0c1250
    - matrix current upstream: https://github.com/PX4/Matrix/commit/18fba8221cc1840964c43f04d8c2aa21857e1b9b
    - Changes: https://github.com/PX4/Matrix/compare/9c0acfba36a928b7b002eea3a9dca54a5a0c1250...18fba8221cc1840964c43f04d8c2aa21857e1b9b

    18fba82 2018-12-16 Matthias Grob - quaternion: improve comments
a4f39c0 2018-12-16 Matthias Grob - quaternion: reuse existing dot product
2018-12-21 23:39:07 -08:00
Daniel Agar 49be26b6cf load_mon improve cpuload calculation and cleanup (#9852) 2018-12-21 22:27:58 -08:00
Alvar Martti 63651da309 FW bug in checking if landing point has been passed
* the bearing difference between the waypoints and aircraft to landing point should be wrap_pi'ed
2018-12-21 10:03:31 -08:00
Nuno Marques cfd1be584e Feature: VIO: add ODOMETRY stream (#11084)
* mavlink_messages: remove LOCAL_POSITION_NED_COV stream

* mavlink_messages.cpp: add ODOMETRY stream

* add MAV_ODOM_LP parameter to activate odometry loopback

* EKF2: add vehicle_odometry publisher

* Replace VISION_POSITION_ESTIMATE loopback with ODOMETRY

* LPE: add vehicle_odometry publisher

* set vehicle_odometry local_frame field

* mavlink_messages.cpp: ODOMETRY frame_id depends on MAV_ODOM_LP
2018-12-21 12:54:04 -05:00
Christian Rauch b3018646d5 check CONFIG_STACK_COLORATION for print_load_nuttx 2018-12-21 05:43:21 -08:00
Christian Rauch a6adc64569 check CONFIG_TASK_NAME_SIZE for print_load_nuttx 2018-12-21 05:43:21 -08:00
Christian Rauch 92117da3a8 check CONFIG_ARCH_MATH_H 2018-12-21 05:43:21 -08:00
Christian Rauch 0764c76836 check CONFIG_I2C for I2C 2018-12-21 05:43:21 -08:00
Christian Rauch 8a2e3800d8 check CONFIG_SCHED_INSTRUMENTATION for print_load_nuttx 2018-12-21 05:43:21 -08:00
Matthias Grob 3d42c495aa FlightTaskOrbit: clip radius to range 2018-12-19 18:22:08 +01:00
Matthias Grob f8171f999b mavlink: initialize orbit struct 2018-12-19 18:22:08 +01:00
Matthias Grob 25de837c23 FlightTaskOrbit: fix rotation direction in telemetry 2018-12-18 14:40:07 +01:00
Matthias Grob d4a40f5d99 px4_custom_mode: add custom sub mode orbit 2018-12-18 14:40:07 +01:00
Matthias Grob e708e82425 mavlink: lower orbit status frequency 5Hz 2018-12-18 14:40:07 +01:00
Matthias Grob 8b419efa2c FlightTaskOrbit: fix rotation direction from command 2018-12-18 14:40:07 +01:00
Matthias Grob 25aa2b9c8c orbit: fix telemetry message content 2018-12-18 14:40:07 +01:00
Matthias Grob 14b83f7bfc mavlink: add orbit to the normal messages
It is only actually sent out when the orbit is running.
2018-12-18 14:40:07 +01:00
Alessandro Simovic f11465bb26 orbit: publish uorb message 2018-12-18 14:40:07 +01:00
Alessandro Simovic 10913a66b4 orbit: sending telem via mavlink 2018-12-18 14:40:07 +01:00
Beat Küng cfad556a16 mixer_multirotor: use reduce_only instead of -1000 for yaw thrust reduction
This is more accurate, because if we use -1000 as lower bound, a very large
yaw command can reduce thrust more than needed.

The difference can be seen in the following example
(with roll/pitch airmode):
p_dot_sp = -1.0 # roll acceleration
q_dot_sp = 0.9 # pitch acceleration
r_dot_sp = -0.9 # yaw acceleration
2018-12-13 09:50:07 +01:00
Beat Küng 418df2516d mixer multirotor: add to CI 2018-12-13 09:50:07 +01:00
Beat Küng e8e3b00a10 refactor mixer: rename delta_outputs to desaturation_vector 2018-12-13 09:50:07 +01:00
Beat Küng 3eefc93e5d mixer_multirotor.py: avoid scientific notation for vector printf
makes it easier to compare.
2018-12-13 09:50:07 +01:00
Beat Küng 447ed18ab4 commander: use C API for MC_AIRMODE & RC_MAP_ARM_SW to remove multirotor modules dependency 2018-12-13 09:50:07 +01:00
Beat Küng c665c34d2a MC stabilized: allow yaw control at 0 throttle if yaw-airmode is selected 2018-12-13 09:50:07 +01:00
Beat Küng 24dc316973 commander: enforce yaw-airmode to have an arming switch mapped
Yaw airmode w/o arming switch is most likely not what you want and will
lead to surprising results.
2018-12-13 09:50:07 +01:00
Beat Küng cf66656258 mixer multirotor: add unit-tests
To run:
cd src/lib/mixer
make tests

This will validate the C++ implementation by taking the python
implementation as ground-truth. It runs through various actuator control
command values for all airmode variations and several mixer types.

The python script also allows to prototype new mixer algorithms.

It is not integrated into the existing build system, because it's easier
to use that way, with less dependencies, and faster testing workflow.
It could however be a bit more integrated.

Reference: https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation
2018-12-13 09:50:07 +01:00
Beat Küng c659d2bcc2 mixer: minor refactoring to reduce header include dependencies
- avoid including <px4_defines.h> from the math headers
- avoid driver include <drivers/drv_mixer.h> from the mixer
2018-12-13 09:50:07 +01:00
Beat Küng 8bcf54688a mixer: complete refactoring & add airmode for yaw
Provides a more generic desaturation algorithm, making it easier to
handle the different mixer strategies.

python reference implementation:
https://github.com/Auterion/Flight_Control_Prototyping_Scripts/tree/master/control_allocation

The behavior for non-airmode and roll/pitch airmode should be the
same as before.

CPU load is slightly higher for the non-airmode case (+0.5%), for airmode
it is the same.
2018-12-13 09:50:07 +01:00
Beat Küng 19ccab28bb mixer: use an enum for airmode 2018-12-13 09:50:07 +01:00
Beat Küng 9406fa5246 refactor mixer.h: use override keyword, fix set_airmode argument type (uint32_t -> int32_t) 2018-12-13 09:50:07 +01:00
bresch 7cc00f41d2 AirModeYaw - Change airmode type from bool to int 2018-12-13 09:50:07 +01:00
Daniel Agar f851978101 commander run preflight immediately (#11018)
- partially addresses #11017
2018-12-12 09:24:50 -05:00
Kārlis Seņko c1d50d35d3 Move common shmem parameter declarations to shmem.h. 2018-12-11 09:21:15 -05:00
Kārlis Seņko 859b242cb8 Fix some dynamic linking errors.
_Stof, bsearch, param_find_changed
2018-12-11 09:21:15 -05:00
Kārlis Seņko 950ab879ff Make name mangling type consistent. 2018-12-11 09:21:15 -05:00
Hamish Willee 11364c0e01 Improve forcefail/terminatefail docs 2018-12-10 15:30:53 -08:00
Simone Guscetti 2c06cb71c8 FlightTask: use convetion for definition of the landing gear default value 2018-12-10 16:17:23 +01:00
Simone Guscetti 9ee3d79a96 FlightTask Manual: Gear react only on switch changes and not states 2018-12-10 16:17:23 +01:00
Simone Guscetti f4fc0cd291 FlightTAsk AutoMapper: Adapt to new message 2018-12-10 16:17:23 +01:00
Simone Guscetti be7416c823 FlightTask Auto: Adapt to new message and rename variable 2018-12-10 16:17:23 +01:00