Daniel Agar
33954a904f
lib/tunes: never play tunes if circuit breaker is set
2021-10-18 21:37:09 -04:00
Beat Küng
f1686b1abf
px4io: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
ab1d76ae7d
params: use PWM_MAIN_* instead of PWM_FMU_*
2021-10-18 18:45:19 -04:00
Beat Küng
44bbe87165
pwm_out_sim: use PWM_FMU for sitl and HIL_ACT for hitl
...
We might want to change this later, but for now it allows to use the same
airframe configs for sitl/real, and independent hitl configuration.
2021-10-18 18:45:19 -04:00
Beat Küng
5f0781b6e9
output modules: add param prefix argument to MixingOutput
2021-10-18 18:45:19 -04:00
Beat Küng
916447e804
params: add script to parse timer_config.cpp for timer group info
...
This allows to generate pwm params in the form of:
module_name: PWM Output
actuator_output:
output_groups:
- generator: pwm
param_prefix: PWM_FMU
channel_labels: ['PWM Main', 'PWM Capture']
standard_params:
disarmed: { min: 800, max: 2200, default: 900 }
min: { min: 800, max: 1400, default: 1000 }
max: { min: 1600, max: 2200, default: 2000 }
failsafe: { min: 800, max: 2200 }
extra_function_groups: [ pwm_fmu ]
pwm_timer_param:
description:
short: Output Protocol Configuration for ${label}
long: |
Select which Output Protocol to use for outputs ${label}.
Custom PWM rates can be used by directly setting any value >0.
type: enum
default: 400
values:
-5: DShot150
-4: DShot300
-3: DShot600
-2: DShot1200
-1: OneShot
50: PWM50
100: PWM100
200: PWM200
400: PWM400
reboot_required: true
2021-10-18 18:45:19 -04:00
Beat Küng
6f01b69f49
mixer_module: add param generation for disarmed, min, max, failsafe
2021-10-18 18:45:19 -04:00
Beat Küng
15daded6b0
refactor output_limit: split output_limit_calc_single into separate function
2021-10-18 18:45:19 -04:00
Beat Küng
c55626d2d6
refactor Tools/serial: move non-serial param generation into separate script
2021-10-18 18:45:19 -04:00
Beat Küng
a65533b469
mixer_module: add output functions for servos, landing gear, parachute, RC passthrough & gimbal
2021-10-18 18:45:19 -04:00
Beat Küng
4b37a3d017
mixer_module: generate output_functions header from yaml file
2021-10-18 18:45:19 -04:00
Beat Küng
fd76e5488e
mixer_module: add output functions
2021-10-18 18:45:19 -04:00
Beat Küng
38fa65a47e
control_allocator: remove direct mixer, add actuator_{motors,servos} instead
2021-10-18 18:45:19 -04:00
Beat Küng
a51c465b54
control allocation: introduce parameter SYS_CTRL_ALLOC & unify build targets
2021-10-18 18:45:19 -04:00
Beat Küng
0c5a79d84d
fix mixer_module: use PRIx32 for debug printf
2021-10-18 18:45:19 -04:00
Thomas Debrunner
f08f2a340d
motion_planning: In VelovitySmoothing, mark const functions const
2021-10-13 21:25:43 -04:00
Thomas Debrunner
fed234de81
flight_mode_manager: Extracted position trajectory motion planning into a library
...
Extract the functionality to plan smooth position motion trajectories into a
motion planning library, such that it can be used in other parts of the code as well.
2021-10-13 21:25:43 -04:00
Matthias Grob
8b37db7825
Functions: fix corner case x_low == x_high == value resulting in NAN
...
and added unit test to cover it
2021-10-13 17:24:16 -04:00
Jukka Laitinen
351f679c2f
parameters: Use px4::atomic_bool instead of px4::atomic<bool>
...
This enables us to define the actual atomic bool type in px4_platform
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-10-13 15:01:26 -04:00
RomanBapst
ae5d3103f4
fw l1 controller: added a flag to indicate if navigation has updated
...
- can be used to check if l1 controller ran during a cycle
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2021-10-11 16:41:42 +02:00
Daniel Agar
089f96f800
lib/drivers/{accelerometer,gyroscope} skip obselete Vector3f construction
...
- FIFO clip count only check if value is INT16_MIN/MAX rather than abs() call
2021-10-08 17:33:27 -04:00
bresch
984a698760
matrix: update to include min/max of slices
2021-10-08 09:35:40 +02:00
Beat Küng
393f59ae71
param jsonout: handle @boolean flag
...
This got lost when switching from xml to json metadata
2021-10-07 09:20:50 -04:00
Silvan Fuhrer
4e3fa7cf35
VTOL: rework forward actuation assist
...
-allow positive pitch offsets in hover
-add param for min pitch during LAND
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-10-06 11:27:19 -04:00
bresch
1b58202b0d
AlphaFilter: add function to set param from cutoff frequency
2021-10-06 16:26:03 +02:00
Daniel Agar
e31dd34388
lib/led: replace subscription missed error with perf count
2021-10-06 09:31:44 -04:00
Beat Küng
540c024cbb
parameters: avoid printing errors for erased flash devices
...
Errors:
ERROR [parameters] param import failed (-1) attempt 1, retrying
ERROR [parameters] param import failed (-1) attempt 2, retrying
ERROR [parameters] param import failed (-1) attempt 3, retrying
ERROR [parameters] param import failed (-1) attempt 4, retrying
ERROR [param] importing from '/fs/mtd_caldata' failed (-1)
2021-10-04 10:25:32 -04:00
bresch
07e307b074
FieldSensorBiasEst: fix bias learning equation
...
Also compensate the tuned learning gains for the new equation to keep
the same tuning
2021-10-02 21:25:21 -04:00
bresch
ec178c8745
create new mag_bias_estimator module
...
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-10-02 21:25:21 -04:00
bresch
d858835fd0
mbe: initialize estimator with current measurement
2021-10-02 21:25:21 -04:00
bresch
9067d9cae9
mbe: improve algorithm and fix unit test
2021-10-02 21:25:21 -04:00
Matthias Grob
24dc627e8a
Add MagnetometerBiasEstimator for online magnetometer calibration
2021-10-02 21:25:21 -04:00
bresch
5874b1f87c
mc atune: add module to all targets
...
- adjust flash constrianed targets to fit
2021-10-02 18:12:05 -04:00
bresch
d3cb806627
pid_design: add model-based PID tuning law based on GMVC
2021-10-02 18:12:05 -04:00
bresch
404145c655
sysID: add system identification library
2021-10-02 18:12:05 -04:00
Daniel Agar
03bd5e0f48
lib/led: move drivers/lights/rgbled LED_RGB_MAXBRT -> SYS_RGB_MAXBRT
2021-09-28 10:09:55 -04:00
Jukka Laitinen
40063bd54b
Add libtomcrypt and libtommath submodules
...
These provide e.g. rsa_oaep, which can be used for sw crypto
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Daniel Agar
089c962d92
px4io: moving mixing to FMU side
...
Using mixers on the IO side had a remote benefit of being able to
override all control surfaces with a radio remote on a fixed wing.
This ended up not being used that much and since the original design
10 years ago (2011) we have been able to convince ourselves that the
overall system stability is at a level where this marginal benefit,
which is not present on multicopters, is not worth the hazzle.
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-09-25 19:15:05 -04:00
Beat Küng
1a743e1117
collision_prevention: switch to events
2021-09-11 14:08:41 -04:00
Beat Küng
5ac43e7236
commander: switch to events
2021-09-11 14:08:41 -04:00
Matthias Grob
58ea97a699
MulticopterPositionControl: add horizontal margin for saturation cases
2021-09-08 19:55:27 +02:00
Daniel Agar
29a91306b5
lib/led: error if dropping ORB_ID(led_control) messages
2021-09-08 10:21:09 -04:00
Beat Küng
291ca246d2
matrix: update submodule (improves matrix inversion)
2021-09-05 23:18:28 -04:00
Daniel Agar
99d7cf4255
parameters: only warn on invalid parameter import
2021-09-01 15:16:00 -04:00
Daniel Agar
bd8937642f
lib/sensor_calibration: only warn if external rotation resetting
...
- this also happens with the actual default parameter value (-1)
2021-09-01 15:16:00 -04:00
Beat Küng
d8214f5e00
component_information: merge extra component_information_header target
...
With Makefile build, generate_component_general.py was called twice during
build, which did not happen with the ninja build.
This created a race condition with the following error in rare cases:
Traceback (most recent call last):
File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
save_compressed(filename)
File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1
Merging the targets avoids the duplicate execution.
2021-08-25 10:04:39 -04:00
Beat Küng
af53b60713
Revert "component_information: add debug instrumentation for FileNotFoundError exception"
...
This reverts commit ca454c93d163a551f7f24baac41a3b29538860ae.
2021-08-25 10:04:39 -04:00
Daniel Agar
61702d0d97
sensors: always start baro/GPS/mag aggregators if SYS_HAS_* set
...
- add new SYS_HAS_GPS parameter
2021-08-23 10:59:58 -04:00
Daniel Agar
2b1c97eb37
Update world_magnetic_model to latest Sun Aug 22 11:14:24 UTC 2021
2021-08-22 16:28:00 -04:00
Beat Küng
c4b91c8558
calibration params: avoid using NaN as default
...
- NaN is not supported by JSON, and leads to parsing failure in QGC.
- fixes https://github.com/PX4/PX4-Autopilot/issues/18095
2021-08-19 11:29:26 -04:00