Daniel Agar
63448faf2d
[DO NOT MERGE] update NuttX to pr-nuttx_sd_testing
2021-11-19 14:30:53 -08:00
David Sidrane
0f5f522631
sd_bench:Add verify and keep options
2021-11-19 14:30:53 -08:00
Daniel Agar
7e3256161d
jenkins testing
2021-11-19 14:30:53 -08:00
Daniel Agar
e8e464c986
Jenkins testing
2021-11-19 14:30:53 -08:00
Daniel Agar
0cf54cbe1f
Revert "Tools/HIL/run_tests.py - temporarily disable flaky dataman test until it can be reviewed"
...
This reverts commit 00b15798da .
2021-11-19 14:30:53 -08:00
Max Elfgen
7f5fa3d1f7
Using RTPS as a label resulted in the PX4 instance crashing. Removing the label fixed the problem.
2021-11-19 20:30:46 +01:00
Matthias Grob
f912ee2c8b
Commander: send out parachute MAVLink command when kill switch engaged
2021-11-19 17:15:04 +01:00
Matthias Grob
3193b554ca
Add optional preflight check for healthy MAVLink parachute system
2021-11-19 17:15:04 +01:00
Matthias Grob
43c529f294
Add MAVLink parachute system heartbeat detection
2021-11-19 17:15:04 +01:00
Thomas Debrunner
fb54324f56
gyro-fft: Disable asm-operand-widths warning on apple silicon. The warning is caused by unused functions only. As with compiling for x86, the functions containing assembly never get used, but since the apple silicon is also an ARM target, they trigger a warning.
2021-11-19 09:14:11 -05:00
Daniel Agar
24090b724c
cmake: px4_add_module improve unity build dependencies to avoid unnecessary work
2021-11-19 09:13:07 -05:00
Matthias Grob
4c6621f6cf
Commander: Allow arming a rover with the throttle stick in the middle
2021-11-19 10:10:32 +01:00
Jani Paalijarvi
02336acd61
Improve SPI bus implementation
...
Make possible to define chip-select pin for internal SPI.
By defining chip-select pin, it's possible to start specific SPI device only.
This allows to have several same type of sensors on the same bus with different orientation.
2021-11-19 07:47:18 +01:00
Matthias Grob
35d4986ea7
FlightTasks: remove updateFinalize() concept because it got obsolete
2021-11-18 19:12:44 -05:00
Matthias Grob
9eac0edbc0
FlightTaskAuto: remove generateSetpoints function, replace by implementation
2021-11-18 19:12:44 -05:00
Matthias Grob
ece8fdddec
FlightTaskAuto: simplify early setpoint preparation based on triplet type
2021-11-18 19:12:44 -05:00
dagar
9646b49b60
[AUTO COMMIT] update change indication
2021-11-18 13:58:53 -05:00
Daniel Agar
bffd88ad81
ekf2: don't inhibit accel bias when not in air
2021-11-18 13:58:53 -05:00
Daniel Agar
f3472385da
sensors/vehicle_imu: fix accel/gyro learned bias calibration updates
...
- fix confusion between estimated bias and calibration offset when
saving after each flight
- when the stable bias estiamte is retrieved during flight it's
immediately converted to a sensor offset and saved
- fixes https://github.com/PX4/PX4-Autopilot/issues/18658
2021-11-18 10:00:26 -05:00
bresch
fc155bc57e
Ekf2Selector: declare filter unhealthy when high test ratio
...
Request a switch to another instance when the combined test ratio is too high.
2021-11-18 13:29:01 +01:00
bresch
43fb076828
AngularAcceleration: explicitly disable filter when cutoff <= 0
2021-11-18 09:25:47 +01:00
bresch
4a14a8bc7f
AutoLineSV: Always publish a valid yaw setpoint
...
In MPC_YAW_MODE 3 (along trajectory), the flight task is asked to
produce a yaw setpoint. If the previous yaw value was NAN (e.g.: during
early takeoff), the setpoint should then be reset to the current
estimate.
2021-11-16 18:09:37 -05:00
bresch
f751dd2242
FlightTask: set yaw_setpoint to NAN when yaw should not be controlled
2021-11-16 18:09:37 -05:00
bresch
2213343240
ft altitude: use longerThan to save a sqrt operation
2021-11-16 18:09:37 -05:00
bresch
394fa953b8
EKF: get status on yaw alignement in flight
...
1s after the in air mag reset is performed, the final yaw alignment is
complete and the yaw estimate can be used for yaw control.
2021-11-16 18:09:37 -05:00
Matthias Grob
2a5751233a
FlightTasks: remove unused StraightLine library
...
It was meant as an example for an easy to use interface of a
motion primitive with a minimal implementation. But the implementation
is much worse than the jerk optimized trajectory. We rather
work on making it easier to use. #18390 was a first step towards that.
2021-11-16 18:08:27 -05:00
Daniel Agar
e062f4fcf0
mavlink: ORBIT_EXECUTION_STATUS stream limit to 2 instances
2021-11-16 17:10:13 -05:00
Alessandro Simovic
7090e634cc
mission_block: always accept yaw in MC takeoff
2021-11-16 12:35:16 -05:00
Beat Küng
0622cb8857
mavlink_ftp: disallow writes outside of /fs/microsd under NuttX
...
As these files are kept in RAM, it could just fill up the RAM.
2021-11-16 12:34:16 -05:00
Daniel Agar
4e8c234a55
ekf2: only save mag declination if changed
2021-11-16 12:33:48 -05:00
Daniel Agar
96bf3aa5d0
matrix: apply PX4 astyle
2021-11-16 12:30:51 -05:00
Daniel Agar
ab07f5300b
lib/matrix: delete unused and add testing to PX4
2021-11-16 12:27:14 -05:00
Daniel Agar
4a3d64f1d7
consume PX4/Matrix repository and preserve history
2021-11-16 12:24:19 -05:00
Daniel Agar
38516f7e9c
delete matrix submodule
2021-11-16 12:20:57 -05:00
Matthias Grob
b36dbf8de4
Remove AutoLineSmoothVel, merged into Auto
2021-11-16 10:08:47 +01:00
Matthias Grob
179b1cdf56
FlightTaskAuto: merge activate(), reActivate() and update() from FlightTaskAutoLineSmoothVel
2021-11-16 10:08:47 +01:00
Matthias Grob
51ebb0f294
FlightTaskAuto: move in helper methods from FlightTaskAutoLineSmoothVel
2021-11-16 10:08:47 +01:00
Matthias Grob
aa376c5824
FlightTaskAuto: move in parameters from FlightTaskAutoLineSmoothVel
2021-11-16 10:08:47 +01:00
Matthias Grob
50e13f132f
FlightTaskAuto: move in members from FlightTaskAutoLineSmoothVel
2021-11-16 10:08:47 +01:00
Matthias Grob
33e349d71e
FlightTask: remove unused _time
2021-11-16 10:08:47 +01:00
PX4 BuildBot
4a66c8c4c4
Update submodule sitl_gazebo to latest Tue Nov 16 00:39:15 UTC 2021
...
- sitl_gazebo in PX4/Firmware (f5d9b01f5c ): https://github.com/PX4/PX4-SITL_gazebo/commit/1c8c9197103e746a21f2d2d2c844dd2f7e2b036b
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/607aa4d990ff20b4f8a3a714043d116cf191f8b6
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/1c8c9197103e746a21f2d2d2c844dd2f7e2b036b...607aa4d990ff20b4f8a3a714043d116cf191f8b6
607aa4d 2021-11-15 Alexander Funke - Wind Plugin: Fixed typo in windGustVelocityMean. Closes #825 , fixes #812 Fixed the typo in windGustVeloctiyMean to windGustVelocityMean, so that the parameter in the world file can be correctly read and the mean gust velocity properly set to the parameter's value.
2021-11-15 23:13:43 -05:00
PX4 BuildBot
bfcd251a54
Update submodule mavlink to latest Tue Nov 16 00:39:28 UTC 2021
...
- mavlink in PX4/Firmware (2615146a0770ea416aa24dce70bd61845e45b939): https://github.com/mavlink/mavlink/commit/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd
- mavlink current upstream: https://github.com/mavlink/mavlink/commit/c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2
- Changes: https://github.com/mavlink/mavlink/compare/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd...c3a4b52eb1ac6e8053d64a6a8b6ade887d4fa2d2
c3a4b52e 2021-11-14 olliw42 - use [value:] invalid attribute style (#1742 )
5f353d79 2021-11-15 Hamish Willee - fix invalid attribute for arrays where first element sets as invalid (#1740 )
b354af1c 2021-11-11 Beat Küng - add actuator test and configuration commands (#1738 )
a8401492 2021-11-11 Beat Küng - Component information: add actuators (#1729 )
2021-11-15 23:13:02 -05:00
Daniel Agar
f5d9b01f5c
NuttX build in place
...
- cmake NuttX build wrapper compile in place instead of copying source tree to build directory
- slightly faster skipping necessary copying (depending on system)
- allows debugging in place
- easier to work directly in NuttX following official documentation
- simplifies overall build which should make it easier to resolve any remaining NuttX dependency issues in the build system
- the downside is switching back and forth between different builds always require rebuilding NuttX, but I think this is worth the improved developer experience
- also no longer builds px4io and bootloader in every single build, for most users these rarely change and we're wasting a lot of build time
2021-11-15 18:47:38 -05:00
Daniel Agar
7b7b7acd36
i2c_spi_buses: respect CONFIG_I2C and CONFIG_SPI
...
- bmp280, dps310, and ms5611 barometers support boards without I2C
2021-11-15 15:57:33 -05:00
Daniel Agar
eade2915c1
cleanup old parameter translation
2021-11-15 10:01:22 -05:00
Matthias Grob
91c48606ee
battery_status: clearly define and handle zero remaining flight time
2021-11-15 15:44:02 +01:00
Matthias Grob
73287e8e8c
battery: compute remaining flight time
2021-11-15 15:44:02 +01:00
Matthias Grob
54f2e91775
battery_status: report remaining flight time in seconds
...
This allows more accurate reporting and is compliant with the
MAVLink interface.
2021-11-15 15:44:02 +01:00
Beat Küng
4ba84d56c9
logger: introduce optional topics
...
The current practice of adding topics to the default set isn't scalable,
as it affects all setups.
By making sure topics are advertised on init, logger can just discard
topics that don't exist. This does not work for all topics, so topics are
specifically marked as optional. It can be extended to more topics later
on though.
This reduces the list of topics by ~35 on a pixracer configured as quad,
and reduces RAM usage by ~1KB.
2021-11-15 09:02:03 -05:00
Daniel Agar
177fe4bade
logger: log write file allow single retry on write failure
2021-11-13 20:32:29 +01:00
alexklimaj
333629ce37
Update Broadcom AFBR to v1.3.5 API
2021-11-13 12:05:08 -05:00
RomanBapst
439400f76e
commander: don't ack gimbal commands
...
- this leads to an unnecessary amount of acks which can in turn overflow
the orb queue
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-13 11:59:28 -05:00
Daniel Agar
3cb286abc8
gyro_calibration: reset on any sensor timeout
2021-11-13 10:15:25 -05:00
Daniel Agar
29b9e46664
mavlink_tests: add correct mavlink_c_generate dependency
2021-11-12 13:43:32 -05:00
kevindsp
17ad7071c3
fix the quaternion normalization issue
...
Be course of the numerical computing error . The normalization of the quaternion can't always equal to 1 precisely. It could occasionally trigger the error"attitude estimate no longer valid". So enlarge the threshold to 1e-6f. That keeps it silence.
2021-11-12 16:31:40 +01:00
Daniel Agar
6a60fba96d
boards: holybro_kakutef7_default remove systemcmds/ver to save flash
2021-11-11 11:17:15 -05:00
Daniel Agar
0ec3f0d2cb
mathlib: LowPassFilter2p update cutoff freq min to match NotchFilter
...
- numerically the cutoff frequency not being smaller than 1% of the
sample frequency is probably a better choice, but we're mostly filtering
16 bit data now stored in 32 bit float
2021-11-11 11:17:15 -05:00
Daniel Agar
0d171384b3
update IMU_GYRO_DNF_BW default 8->15 Hz
...
- dshot telemetry feedback can be quite slow (~2 Hz), so I think a
larger default value here makes sense
2021-11-11 11:17:15 -05:00
Daniel Agar
452f15e985
IMU_GYRO_DNF_EN remove from developer category
2021-11-11 11:17:15 -05:00
Daniel Agar
0e2ecdc59a
sensors/vehicle_angular_velocity: perf counter naming consistentcy
2021-11-11 11:17:15 -05:00
Daniel Agar
c60a9e2981
sensors/vehicle_angular_velocity: avoid unnecessary ESC notch filter resets
2021-11-11 11:17:15 -05:00
Daniel Agar
78436e706c
mathlib: NotchFilter add optimized parameter update if only notch frequency changes
2021-11-11 11:17:15 -05:00
Daniel Agar
edce30c6de
sensors/vehicle_angular_velocity: fix ESC RPM notch filter update
2021-11-11 11:17:15 -05:00
Daniel Agar
376b72fb2f
sensors/vehicle_angular_velocity: add new parameter for ESC RPM notch filter BW
2021-11-11 11:17:15 -05:00
Viktor Vladic
02709fcfab
Fixes for MPU6000 and MatekH743-slim board
...
- MPU6000: Added 10us delay for R/W of slow registers
- Board: Fixed DRDY pin from PB1 to PB2
2021-11-11 08:40:41 -05:00
Beat Küng
fdf8461452
ver: print PX4_BOARD_LABEL for 'ver all'
2021-11-11 08:38:42 -05:00
Matthias Grob
dbacdedad1
Remove FlightTaskAutoMapper, merged into AutoLineSmoothVel
2021-11-11 09:14:49 +01:00
Matthias Grob
a94c61b896
FlightTaskAutoMapper: move parameters into FlightTaskAutoLineSmooth
2021-11-11 09:14:49 +01:00
Matthias Grob
59a395f6a0
FlightTaskAutoMapper: move remaining members into FlightTaskAutoLineSmooth
2021-11-11 09:14:49 +01:00
Matthias Grob
f5183348a6
FlightTaskAutoMapper: move remaining methods into FlightTaskAutoLineSmooth
2021-11-11 09:14:49 +01:00
Matthias Grob
0211ef3ba1
FlightTaskAutoMapper: move update() into FlightTaskAutoLineSmooth
2021-11-11 09:14:49 +01:00
Matthias Grob
1cef2ad196
FlightTaskAutoMapper: merge activate() into FlightTaskAutoLineSmooth
2021-11-11 09:14:49 +01:00
wsolichin
e9d50b853a
Adding MAVLink message stream of GPS_RTCM_DATA
2021-11-10 21:15:01 -05:00
David Lechner
d61f5d3d7b
mavlink: fix forwarding to target id >= 128
...
The _MAV_PAYLOAD macro casts the value to a char*. Some compilers treat
char as signed, so we were getting negative system and component ids
if the id was >= 128. This caused later comparisons to fail which
resulted in messages not being forwarded.
2021-11-10 21:14:21 -05:00
Daniel Agar
374d44f38f
mavlink: tests add git_mavlink_v2 dependency to avoid build race
2021-11-10 14:06:40 -05:00
PX4 BuildBot
e0a9ceb2cb
Update submodule mavlink to latest Wed Nov 10 12:39:06 UTC 2021
...
- mavlink in PX4/Firmware (74a33bad350857b6a7dcfe2a6745e8283baa2ce4): https://github.com/mavlink/mavlink/commit/3718ee300bef7a8e7a25314e25e03c11d9f0b180
- mavlink current upstream: https://github.com/mavlink/mavlink/commit/0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd
- Changes: https://github.com/mavlink/mavlink/compare/3718ee300bef7a8e7a25314e25e03c11d9f0b180...0a728aa8dcea5023b26d0df9f25ba5b2a14a71cd
0a728aa8 2021-11-10 Julian Oes - common: request multiple CAMERA_IMAGE_CAPTURED (#1735 )
2021-11-10 14:00:28 -05:00
Daniel Agar
5e3701a365
Tools/check_submodules.sh: perform submodule sync again after first update to reach nested submodules
2021-11-10 13:52:51 -05:00
Jukka Laitinen
be1023f5e9
smbus_sbs: Define linker language for a header-only library
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-10 09:27:21 -05:00
Jukka Laitinen
d02a10b20f
Remove src/lib/drivers/accelerometer and gyroscope linking to drivers__device
...
These are pure uORB publishers, they don't link to drivers__device.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-10 09:26:36 -05:00
Matthias Grob
dd05cb3496
FlightTaskManualPosition: simplify optical flow limiting logic
2021-11-09 21:47:06 -05:00
Claudio Micheli
10e329ce9e
mc_pos_control: correct MPC_XY_CRUISE description
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2021-11-09 21:47:06 -05:00
Matthias Grob
7ec8dd9d23
vehicle_constraints: remove deprecated speed_xy constraint
2021-11-09 21:47:06 -05:00
Jukka Laitinen
356de6ccf1
Factor cdc_acm_init away from px4_init
...
In protected build, this needs to go to user-space initialization as it
calls apps (sercon) and launches mavlink.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-09 21:28:28 -05:00
Jukka Laitinen
39c0c68167
print_load: Remove reference to CONFIG_MAX_TASKS
...
This is already removed from nuttx, and in posix the size of s->last_times
can be just checked with sizeof()
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-09 21:25:10 -05:00
Jukka Laitinen
9299a5c3f6
hrt: Add interface functions for latency counters
...
Add interface functions for fetching latency buckets and counters and use
those in perf_counter.cpp. This cleans up the usage of perf counters, when variables defined in hrt_drv are not referenced directly from perf.
This also enables implementing kernel-userspace interface for those for
nuttx protected/kernel build.
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-09 21:24:25 -05:00
Jukka Laitinen
da51177382
Don't link sensors module to drivers__device
...
sensors module only works on uORB, it doesn't link to drivers__device
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-11-09 12:18:49 -05:00
Matthias Grob
ab9b9b1eac
boards: Add manual_control module to newly added boards
2021-11-09 16:36:42 +01:00
bresch
d47f9f155a
MC mixer: replace multirotor_motor_limits by control_allocator_status
...
CA: fix saturation computation
Since the CA matrix is normalized, the same scale applied to be used when using the effectiveness matrix
MCRateControl: use control_allocator_status to get saturation info
2021-11-09 10:35:10 -05:00
Jaeyoung-Lim
dd83ef1813
Fix fw position controller takeoff
...
This was introduced by a rebase
2021-11-09 10:30:28 -05:00
Matthias Grob
00905973c7
boards/kakutef7: remove dmesg to save flash
2021-11-09 16:05:25 +01:00
Matthias Grob
4aa0756d08
ManualControlSelector: correct parameter for any source according to documentation
2021-11-09 16:05:25 +01:00
Matthias Grob
fabf865411
Use backwards compatible manual_control_setpoint instead of manual_control_input
2021-11-09 16:05:25 +01:00
Matthias Grob
423aadcc4f
ManualControl: fix RC override
2021-11-09 16:05:25 +01:00
Matthias Grob
7e4a079e09
Commander: report when RC selected mode is not available
2021-11-09 16:05:25 +01:00
Matthias Grob
a593a51f05
Commander: fix mode initialization with RC
2021-11-09 16:05:25 +01:00
Matthias Grob
9f17f3b0f3
ManualControl: correct source for RC mode switches without mode slot
2021-11-09 16:05:25 +01:00
Matthias Grob
21739c6937
MulticopterRateControl: Add event for landing gear retraction when landed
2021-11-09 16:05:25 +01:00
Matthias Grob
2b29df06fd
ManualControl: avoid scheduling based on unchosen input
2021-11-09 16:05:25 +01:00
Matthias Grob
48869ed03e
ManualControl: Simplify check if switches updated
2021-11-09 16:05:25 +01:00
Matthias Grob
38ab7e6ab9
Commander: separate function for action request execution
2021-11-09 16:05:25 +01:00
Matthias Grob
820ba07d4b
Fix landing gear processing
2021-11-09 16:05:25 +01:00
Matthias Grob
0a02d8e774
Commander: handle denying disarm when not landed centrally
2021-11-09 16:05:25 +01:00
Matthias Grob
af54ac7cdb
ManualControl: remove unused variables and renaming
2021-11-09 16:05:25 +01:00
Matthias Grob
e73e6a490d
ManualControl: separate function for stick arming
2021-11-09 16:05:25 +01:00
Matthias Grob
a349dae760
Use action_request to command RC VTOL transitions
2021-11-09 16:05:25 +01:00
Matthias Grob
dcd26bd2b8
Commander: fix "Manual control lost" showing double in QGC
...
because of the missing tab in the deprecated message.
2021-11-09 16:05:25 +01:00
Matthias Grob
956997eb1e
Replace arm_request and mode_request with combined action_request
...
Which saves flash space, log size and is extensible to handle e.g.
the VTOL transition and future actions.
2021-11-09 16:05:25 +01:00
Matthias Grob
052e29267d
Use mode_request for RC mode switching
2021-11-09 16:05:25 +01:00
Matthias Grob
f8e4846851
Use arm_request for manual killing
2021-11-09 16:05:25 +01:00
Matthias Grob
af607e3040
Use separate arm_request instead of vehicle_command for RC arming
2021-11-09 16:05:25 +01:00
Matthias Grob
c4473bdab7
ManualControl: clean up arm/disarm gesture
2021-11-09 16:05:25 +01:00
Matthias Grob
48ed350b25
ManualControlSelector: simplification refactoring
...
- clang tidy did't like {bool} == true in a condition
- setpoint_from_input() got small enough ot just put in line
2021-11-09 16:05:25 +01:00
Matthias Grob
cc2ec09659
ManualControl: fix arm button logic during testing
...
The latching logic has to be different than for the arm switch
this difference got lost in the rewrite of the old obfuscated
arming trigger logic.
2021-11-09 16:05:25 +01:00
Matthias Grob
0901b73f50
ManualControlSelector: rename functions and validate chosen inputs all the time
2021-11-09 16:05:25 +01:00
Matthias Grob
28a29ad050
ManualControlSelector: revamp logic to switch when configuration is changed
2021-11-09 16:05:25 +01:00
Matthias Grob
05946ff0c6
mavlink_receiver: remove unused start_helper declaration
2021-11-09 16:05:25 +01:00
Matthias Grob
7a2ef4a917
Commander: don't publish RC_IN_MODE to vehicle_status
...
This just contains the content of the parameter which
is redundant and results in multiple sources of truth.
2021-11-09 16:05:25 +01:00
Matthias Grob
fff2de43a5
commander_params: update description based on ManualControlSelector
2021-11-09 16:05:25 +01:00
Matthias Grob
396bab52ad
ManualControlSelector: refactor selection to chose based on a single condition
2021-11-09 16:05:25 +01:00
Matthias Grob
1bd786c71a
ManualControlSelector: don't invalidate existing setpoint with other invalid input
2021-11-09 16:05:25 +01:00
Matthias Grob
e15f6b27f2
ManualControlSelector: copy manual_control_input struct instead of each individual field
2021-11-09 16:05:25 +01:00
Matthias Grob
63ddb050ef
ManualControlSelector: refactor timeout calculation to be consistent
2021-11-09 16:05:25 +01:00
Matthias Grob
2528e8c572
ManualControl: correct calculation of dt in seconds
2021-11-09 16:05:25 +01:00
Matthias Grob
12bb2de175
state_machine_helper: rever explicitly handling unavaialble mission
...
It was already handled by the existing condition.
2021-11-09 16:05:25 +01:00
Matthias Grob
4dc165efd0
Commander: don't retry to reach the desired_main_state if we reached it
2021-11-09 16:05:25 +01:00
Matthias Grob
d48302c841
Commander: send out manual control lost event
2021-11-09 16:05:25 +01:00
Matthias Grob
93bed7f670
vehicle_command: shorten arming action/origin enum names
2021-11-09 16:05:25 +01:00
Matthias Grob
709c909929
commander_params: correct RC override description
2021-11-09 16:05:25 +01:00
Julian Oes
b3a5072de5
commander/manual_control: use msg enum for params
...
Instead of using a private enum class we should define the enum in the
vehicle_command message and then use it consistently.
2021-11-09 16:05:25 +01:00
Julian Oes
f1b1068824
commander: remove unused mode/main_state methods
...
With the previous changes these seem no longer required.
2021-11-09 16:05:25 +01:00
Julian Oes
42af44700b
mc_rate_control: always allow landing gear control
...
Except of course when landed and we try to put it up.
2021-11-09 16:05:25 +01:00
Julian Oes
486a4b0118
mavlink: reduce calls to hrt_absolute_time
2021-11-09 16:05:25 +01:00
Julian Oes
454aa611ae
manual_control: add missing 7
2021-11-09 16:05:25 +01:00
Julian Oes
2c0fc686a7
manual_control: don't accept outdated input
2021-11-09 16:05:25 +01:00
Julian Oes
4d00a56230
manual_control: method can be static
2021-11-09 16:05:25 +01:00
Julian Oes
6027398459
manual_control: handle invalid rc_in_mode
2021-11-09 16:05:25 +01:00
Julian Oes
50cca204d8
manual_control: add check for instance
2021-11-09 16:05:25 +01:00
Julian Oes
963d15eacc
manual_control: use correct sysid/compid
2021-11-09 16:05:25 +01:00
Julian Oes
cfdb53a4d8
manual_control: don't switch gear on first init
...
This will ignore the first transition from NONE to something.
This matches the behaviour that existed before.
2021-11-09 16:05:25 +01:00
Julian Oes
60de330f18
manual_control: add hysteresis for arm button back
2021-11-09 16:05:25 +01:00
Julian Oes
75209a7552
manual_control: address review comments
2021-11-09 16:05:25 +01:00
Matthias Grob
942eb23248
ManualControlSelector: remove commented stick difference filter draft
2021-11-09 16:05:25 +01:00
Matthias Grob
11a46d3d27
ManualControlSelectorTest: add constantly outdated samples case
...
Reviewing the code I saw this case arising from the order things
get checked.
2021-11-09 16:05:25 +01:00
Julian Oes
39282a795f
manual_control: fix tests
2021-11-09 16:05:25 +01:00
Julian Oes
53bd254502
commander: add valid check
...
Better checking once too much than once too little.
2021-11-09 16:05:25 +01:00
Julian Oes
efd8757fda
manual_control: handle NAN
2021-11-09 16:05:25 +01:00
Julian Oes
374c9f38a7
manual_control: use constrain() instead
2021-11-09 16:05:25 +01:00
Julian Oes
2a41ade223
manual_control: update first, get diff after
...
Not sure why I had this the wrong way round.
2021-11-09 16:05:25 +01:00
Julian Oes
d0fea93d72
manual_control: add reset to diff
...
This should prevent triggering user override right after RC re-appears.
2021-11-09 16:05:25 +01:00
Julian Oes
93c505b163
commander: force arming is not an option from RC
2021-11-09 16:05:25 +01:00
Julian Oes
4a5ef1c81e
ROMFS: whitespace
2021-11-09 16:05:25 +01:00
Julian Oes
6a6b8d49fc
msg: re-use manual_control_input in setpoint
...
This way we avoid duplication between manual_control_input and
manual_control_setpoint.
2021-11-09 16:05:25 +01:00
Julian Oes
baf81abbab
msg: whitespace only
2021-11-09 16:05:25 +01:00
Julian Oes
14cfad74bf
manual_control: remove leftover debug statements
2021-11-09 16:05:25 +01:00
Julian Oes
5ae76bdc17
commander: fix potentially wrong user message
2021-11-09 16:05:25 +01:00
Julian Oes
bd0c1014d9
manual_control: support arming button
...
The arming button required some refactoring in order to support to
toggle arm/disarm using the vehicle_command. Otherwise manual_control
would have to subscribe to the arming topic and we would spread out the
logic again, and risk race conditions.
2021-11-09 16:05:25 +01:00
Julian Oes
9cbfa2ca95
manual_control: ORBIT and PRECLAND not supported
...
ORBIT and PRECLAND are not actually possible on the flight mode switch.
2021-11-09 16:05:25 +01:00
Julian Oes
2e9edfcd89
commander: only override according to param
...
This got lost in the refactor earlier.
2021-11-09 16:05:25 +01:00
Julian Oes
56b2b81600
manual_control: use filter to check user override
...
Instead of only looking at the diff between two RC samples to decide
whether a user wants to override, we now look at the filtered diff over
one second. This should be more robust to RC sent at various or varying
rates.
2021-11-09 16:05:25 +01:00
Julian Oes
97d01f200e
commander: move manual_control and switches out
...
This moves the remaining handling of the manual control stuff out
of commander. All communication between manual control now goes through
vehicle commands, and the landing gear topic.
2021-11-09 16:05:25 +01:00
Julian Oes
e49b596edc
commander: add desired main state
...
This is an intermediate solution to carry forward the initial state of
the mode slot. Basically, it allows that we start up in Stabilized but
switch to POSCTL as soon we have the required GPS.
2021-11-09 16:05:25 +01:00
Julian Oes
b6af068f25
commander: always reset posvel validity
...
I assume reseting posvel validity is ok for any case, not just all cases
except manual, acro, stabilized.
2021-11-09 16:05:25 +01:00
Julian Oes
52563264e6
commander: move valid mission check inside
...
I think it makes more sense to move this check inside of
main_state_transition.
2021-11-09 16:05:25 +01:00
Julian Oes
916ffef04c
manual_control: send initial mode in the beginning
...
In order for commander to know the desired mode we need to send the
initial position of the mode slot.
2021-11-09 16:05:25 +01:00
Julian Oes
a91fa7f3c1
commander: only move to POSCTL when armed
...
I don't think we want to switch to POSCTL when the sticks are moved when
armed.
2021-11-09 16:05:25 +01:00
Julian Oes
66b069e788
commander: move main_state_transition out
...
This is a first step to having a desired main state.
2021-11-09 16:05:25 +01:00
Julian Oes
e2e908d0fc
mavlink: remove unused methods
2021-11-09 16:05:25 +01:00
Julian Oes
97aa06cc19
commander: move switch handling to manual_control
2021-11-09 16:05:25 +01:00
Julian Oes
08e58a44e9
Fix style
2021-11-09 16:05:25 +01:00
Julian Oes
71d6aa913d
manual_control: starting to implement switches
2021-11-09 16:05:25 +01:00
Julian Oes
ac121c676a
commander: check for valid flag for manual_control
2021-11-09 16:05:25 +01:00
Julian Oes
cda6524421
manual_control: move override detection
...
This also removes the option to ignore throttle for the override
detection as it's not really required anymore.
2021-11-09 16:05:25 +01:00
Julian Oes
1c15cc11d8
manual_control: implement (dis)arming via command
2021-11-09 16:05:25 +01:00
Julian Oes
8876af9150
manual_control: add instance to selector
...
This instance is then used to schedule the callback for the
subscription.
2021-11-09 16:05:25 +01:00
Julian Oes
14eb656a59
rc_update: use snake_case for namespace name
2021-11-09 16:05:25 +01:00
Julian Oes
6e8ccf6a45
rc_update: rename update method
...
This reflects better what it actually does.
2021-11-09 16:05:25 +01:00
Julian Oes
723db8bf2a
manual_control: add selector class [WIP]
...
This adds a selector class with unit tests.
The idea is to have a valid flag in manual_control_septoint and set that
according to the selection and/or timeout of manual_control_inputs.
2021-11-09 16:05:25 +01:00
Julian Oes
eeb7682fd9
ROMFS: start manual_control for SITL
2021-11-09 16:05:25 +01:00
Daniel Agar
2d816e0b3e
[WIP] manual_control selector hacks
2021-11-09 16:05:25 +01:00
Daniel Agar
e18cf3da3e
sensors/vehicle_imu: use WelfordMean for online mean and variance
2021-11-09 15:19:35 +01:00
Daniel Agar
a8c3bcca32
boards: disable CONFIG_STM32H7_SPI_DMATHRESHOLD
2021-11-08 19:20:47 -05:00
Daniel Agar
cb34ff1292
posix-configs/SITL/init/test/test_imu_filtering enable gyro dynamic notch filtering by default
2021-11-08 19:14:32 -05:00
Daniel Agar
e0d9ccdc18
sensors/vehicle_angular_velocity: small FFT notch update simplification
2021-11-08 19:14:32 -05:00
Daniel Agar
47afab62e7
gyro_fft: limit noise floor to configured range (IMU_GYRO_FFT_MIN/MAX)
2021-11-08 19:14:32 -05:00
Daniel Agar
dd3e0b723a
gyro_fft: add IMU_GYRO_FFT_SNR parameter
2021-11-08 19:14:32 -05:00
Matthias Grob
6fab6242db
setup/python requirements: add future module
...
which is a requirement for MAVLink header generation.
Found on Ubuntu 20.04 Python 3.
2021-11-08 17:05:30 +01:00
Silvan Fuhrer
b216cddf49
state_machine_helper: add place holder in array nav_state_names for removed LANDGPSFAIL mode
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-08 13:42:55 +01:00
JaeyoungLim
031f7f831b
Fixedwing Pos Control: Handle vehicle transition waypoints outside controllers ( #18503 )
...
* Handle VTOL transition waypoints outside FW auto control modes
2021-11-08 11:21:08 +01:00
Daniel Agar
66ab7e50df
github actions increase NuttX compile ccache limit slightly
2021-11-07 20:37:58 -05:00
Daniel Agar
3b68f8e510
Tools/check_submodules.sh revert attempted submodule improvements
...
- this wasn't helping break out of submodule issues
2021-11-07 20:36:47 -05:00
Daniel Agar
4627f5514e
boards: holybro_kakutef7_default disable load_mon to save flash
2021-11-07 20:36:47 -05:00
Jaeyoung-Lim
6a2ebfc0cc
Handle setpoint types properly for fixedwing position control
...
Handle setpoint types properly for fixedwing position control
2021-11-07 19:21:00 -05:00
Daniel Agar
f43adaeeb5
Tools/check_submodules.sh disable parallel jobs
...
- this is already run separately for each submodule (potentially in parallel)
2021-11-07 18:12:30 -05:00
Silvan Fuhrer
dbd9b88bea
FW position controller: only allow switching to AUTO_ALTITDUE or AUTO_CLIMBRATE if pos_sp_curr_valid
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-07 23:31:21 +01:00
Daniel Agar
2f8cb5a1c2
mavlink: initial support for MAG_CAL_REPORT stream
2021-11-07 16:03:34 -05:00
Daniel Agar
24b00317b5
Tools/check_submodules.sh attempt update before sync to handle changes
2021-11-07 16:00:13 -05:00
Viktor Vladic
5b3e1a2347
boards: add MatekH743-slim support
2021-11-07 15:39:50 -05:00
JaeyoungLim
cda7c6ceaa
Enable offboard actuator setpoints
2021-11-07 15:38:42 -05:00
Guilherme Lawless
47a191489e
cmake: sitl_gazebo build use memory information from the system to estimate the parallel jobs
...
Using cmake_host_system_information, grabs AVAILABLE_PHYSICAL_MEMORY and adds another job for every 1.5GB of available memory.
This is tested on a single system with 16 logical cores and 16GB RAM (~11.5GB available, reported correctly by cmake).
2021-11-07 15:37:48 -05:00
Daniel Agar
68026eadeb
save significant IMU bias changes learned by the EKF
...
* ekf2: make publishing of learned accel biases more robust
* ekf2: reset accel bias if calibration updated
* msg: add separate accel and gyro calibration counters
* ekf2: use separate accel and gyro calibration counters
* ekf2: rework logic to reset biases when calibration counters increment
* sensors: add saving of learned accel biases
* ekf2: generalized saving accel/gyro/mag in flight sensor calibration
* boards: holybro kakutef7 disable systemcmds/perf and systemcmds/top to save flash
Co-authored-by: Paul Riseborough <gncsolns@gmail.com >
2021-11-07 15:34:27 -05:00
Jacob Crabill
5969508fa7
mavlink: cmake generate mavlink headers at build time
...
- mavlink/mavlink is now directly included as a submodule instead of the generated mavlink/c_library_v2
- this also switches to mavlink development.xml by default
2021-11-05 23:01:38 -04:00
Julian Oes
88489ae8bd
mavlink: Check target for mavlink shell
...
The SERIAL_CONTROL MAVLink message now contains a target_system and
target_component field that we should check.
Without this we might be answering to a command on the network that is
meant for another system.
2021-11-05 23:48:44 +01:00
David Sidrane
96101a9c11
NuttX backports of imxrt dcache fixes to support WB & USB
2021-11-05 13:50:02 -04:00
David Sidrane
af6bedaded
nxp_fmurt1062:Needs pwm_out
2021-11-05 13:50:02 -04:00
David Sidrane
ff43923567
nxp_fmurt1062-v1:Use Write Back Dcache
2021-11-05 13:50:02 -04:00
David Sidrane
dedad87e82
nxp_fmurt1062-v1:Force no no-unaligned-access
...
This results in a load saving (no dcache) of 16.82% at a cost
of 0.03% Flash, .07% XIP Flash and .45% SRAM
Forced Alighment
With: -mno-unaligned-access
Memory region Used Size Region Size %age Used
flash: 606568 B 7 MB 8.26%
flashxip: 622920 B 1 MB 59.41%
sram: 640848 B 856 KB 73.11%
itcm: 0 GB 0 GB
dtcm: 0 GB 128 KB 0.00%
PID COMMAND CP
0 Idle Task 87640 20.047 204/ 748 0 ( 0) READY 3
1 hpwork 0 0.000 332/ 1784 249 (249) w:sig 3
2 lpwork 26 0.008 780/ 1616 50 ( 50) w:sig 4
3 init 0 0.000 1980/ 2928 100 (100) w:sem 3
4 wq:manager 0 0.000 508/ 1256 255 (255) w:sem 4
327 navigator 910 0.204 1124/ 1832 105 (105) READY 6
23 wq:lp_default 3479 0.795 1252/ 1920 205 (205) READY 4
30 wq:hp_default 23554 5.415 1332/ 1904 237 (237) READY 4
47 dataman 0 0.000 820/ 1208 90 ( 90) w:sem 4
57 wq:I2C1 26849 6.190 1060/ 2336 246 (246) w:sem 4
60 wq:I2C2 24045 5.440 732/ 2336 245 (245) w:sem 4
86 wq:SPI1 47127 10.804 1352/ 2336 253 (253) w:sem 4
91 wq:I2C3 1935 0.436 980/ 2336 244 (244) w:sem 4
101 wq:SPI3 6932 1.585 1028/ 2336 251 (251) w:sem 4
237 wq:nav_and_controllers 16743 3.832 1236/ 2240 242 (242) w:sem 4
248 wq:rate_ctrl 9008 2.074 1572/ 1952 255 (255) w:sem 4
250 wq:INS0 37182 8.450 4372/ 6000 241 (241) w:sem 4
264 commander 29395 6.732 1260/ 3224 140 (140) READY 5
287 mavlink_if0 60513 13.828 1876/ 2728 100 (100) READY 4
294 mavlink_rcv_if0 5946 1.387 1292/ 4560 175 (175) READY 4
307 wq:UART5 3345 0.770 844/ 1632 229 (229) READY 4
370 log_writer_file 0 0.000 372/ 1176 60 ( 60) w:sem 3
369 logger 2121 0.484 2468/ 3648 230 (230) READY 3
393 top 37523 8.641 3060/ 4080 237 (237) RUN 3
Processes: 24 total, 10 running, 14 sleeping
CPU usage: 77.08% tasks, 2.87% sched, 20.05% idle
DMA Memory: 5120 total, 1024 used 1024 peak
Uptime: 441.946s total, 87.640s idle
Allow Un-Alighment
With Out: -mno-unaligned-access
Memory region Used Size Region Size %age Used
flash: 604008 B 7 MB 8.23% 8.26% +0.03
flashxip: 622240 B 1 MB 59.34% 59.41% +0.07
sram: 636752 B 856 KB 72.64% 73.11% +0.45
itcm: 0 GB 0 GB
dtcm: 0 GB 128 KB 0.00% 0.00%
PID COMMAND CPU(ms) CPU(%) USED/STACK PRIO(BASE) STATE FD
0 Idle Task 2418 3.190 264/ 748 0 ( 0) READY 3
1 hpwork 0 0.000 332/ 1784 249 (249) w:sig 3
2 lpwork 12 0.004 852/ 1616 50 ( 50) w:sig 3
3 init 0 0.000 1932/ 2928 100 (100) w:sem 3
4 wq:manager 0 0.000 548/ 1256 255 (255) w:sem 4
327 navigator 22 0.203 1052/ 1832 105 (105) READY 6
23 wq:lp_default 83 0.743 1252/ 1920 205 (205) READY 4
30 wq:hp_default 637 5.886 1332/ 1904 237 (237) READY 4
47 dataman 0 0.000 820/ 1208 90 ( 90) w:sem 4
57 wq:I2C1 162 1.063 1060/ 2336 246 (246) w:sem 4
60 wq:I2C2 98 0.500 732/ 2336 245 (245) w:sem 4
86 wq:SPI1 1166 10.771 1352/ 2336 253 (253) w:sem 4
91 wq:I2C3 48 0.437 1060/ 2336 244 (244) w:sem 4
101 wq:SPI3 178 1.653 1028/ 2336 251 (251) w:sem 4
237 wq:nav_and_controllers 410 3.781 1324/ 2240 242 (242) w:sem 4
248 wq:rate_ctrl 222 2.050 1572/ 1952 255 (255) w:sem 4
250 wq:INS0 940 8.691 4372/ 6000 241 (241) w:sem 4
264 commander 753 6.475 1472/ 3224 140 (140) READY 5.03
287 mavlink_if0 1440 13.973 1780/ 2728 100 (100) READY 4
294 mavlink_rcv_if0 139 1.304 1276/ 4560 175 (175) READY 4
307 wq:UART5 83 0.785 828/ 1632 229 (229) READY 4
370 log_writer_file 0 0.000 372/ 1176 60 ( 60) w:sem 3
369 logger 54 0.493 2468/ 3648 230 (230) READY 3
393 top 1053 10.015 3060/ 4080 237 (237) RUN 3
396 mavlink_rcv_if1 166 1.608 1380/ 4560 175 (175) READY 4
395 mavlink_if1 2167 23.459 1812/ 2824 100 (100) READY 4
Processes: 26 total, 12 running, 14 sleeping
CPU usage: 93.90% tasks, 2.91% sched, 3.19% idle 77.08% tasks, 2.87% sched, 20.05% idle -16.82%
DMA Memory: 5120 total, 1024 used 1024 peak
Uptime: 18.242s total, 2.419s idle
2021-11-05 13:50:02 -04:00
David Sidrane
4225193456
nxp_fmurt1062-v1:Proper USB HS config
2021-11-05 13:50:02 -04:00
David Sidrane
e2b4e435a9
Build system:Board level control of no-unaligned-access
2021-11-05 13:50:02 -04:00
David Sidrane
af9f8f08c6
NuttX PX4 build - capture log in VERBOSE=True|1
2021-11-05 13:50:02 -04:00
David Sidrane
d4c2476699
nxp_fmurt1062-v1:init Fix Spelling
2021-11-05 13:50:02 -04:00
David Sidrane
46b208ba21
nxp_fmurt1062-v1:init Define ret indepenent of enabled IP Blocks
2021-11-05 13:50:02 -04:00
David Sidrane
29eb27632a
nxpfmurt1062-v1:Add USB dev
2021-11-05 13:50:02 -04:00
RomanBapst
56cf77a74c
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
RomanBapst
e36e527488
fixed wrong path
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
Roman Bapst
d58d13b2e8
APX4-1617: Fix manual climb rate in TECS ( #1463 )
...
* tecs: workaround for the fact that vel smoothing lib uses a DOWN coordinate system
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
RomanBapst
7cb99f521c
moved ManualVelocitySmoothing to motion_planning lib
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
RomanBapst
924298e9c3
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
RomanBapst
0ac3077bdc
tecs: use trajectory generation library to compute height rate setpoint
...
- added ability to specify maximum acceleration constraint for height rate setpoint
- added support for locking altitude setpoint when in height rate control
mode and height rate input is zero
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
RomanBapst
6e75b7cffd
FixedWingPositionControl: push altitude setpoint locking into TECS
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 18:04:33 +01:00
Beat Küng
296db60a58
camera_capture: use output functions for pin configuration if SYS_CTRL_ALLOC==1
2021-11-05 12:36:04 -04:00
Beat Küng
6d993a9301
camera_trigger: use output functions for pin configuration if SYS_CTRL_ALLOC==1
2021-11-05 12:36:04 -04:00
Silvan Fuhrer
f492fa9d3a
fix typo
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
RomanBapst
514cf12c57
addressed review comments
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
3bd114bf9f
RTL: if vehicle is a VTOL in hover, always consider all safe landing points
...
Unless there is already a mission landing in progress,
in that case stay on the mission landing if RTL_TYPE
isn't set to closest.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
1163a52c17
Navigator: remove unnecessary (duplicated) info messages for RTL
...
There is already (a more precise) info message on RTL activation.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
f4f9b8ebf2
RTL: replace deny_mission_landing logic by getDestinationTypeMissionLanding()
...
The rtl instance decides on destination of RTL, and Navigator then switches to
mission mode if required.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
ab08bbdb58
RTL: improve RTL info message
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
775a1eb4b6
RTL: remove unused function and non-informative comments
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
dd987c08a5
RTL: rename enum names for RTLType
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
a012f01dbc
Navigator: clean up get_rtl_type()
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Silvan Fuhrer
8dc6d5f208
RTL: set destination type to mission landing also in MC
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 17:58:21 +03:00
Daniel Agar
9c15be22d6
mc_autotune_attitude_control: add new MC_AT_EN parameter to enable
...
- only enabled by default on boards that aren't memory constrained
2021-11-05 09:52:07 -04:00
bresch
1e94512719
FD: use flags union instead of bitmask
2021-11-05 09:45:52 -04:00
bresch
3f1025fb1e
FD: add dedicated topic to log more internal states
...
log imbalanced propeller check metric
add failure_detector_status message
2021-11-05 09:45:52 -04:00
bresch
b8ed457371
Commander: trigger failsafe action if imbalanced propeller detected
2021-11-05 09:45:52 -04:00
bresch
5dfb8e594a
FD: add imbalanced propeller check
2021-11-05 09:45:52 -04:00
bresch
bf2fb70d67
vehicleIMU: compute and log accel variance
2021-11-05 09:45:52 -04:00
Silvan Fuhrer
f02786d112
Navigator/Commander: make GPS failsafe consitent: switch to Descend also for FW and VTOL
...
- remove GPS failsafe mode
- for VTOL: transition to hover in Descend (unless NAV_FORCE_VT is not set)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 12:09:39 +03:00
Silvan Fuhrer
b77487d69c
Fixed-wing Position controller: add modes for auto altitude and auto descend
...
- bit of clean up
- add GPS failsafe mode auto_altitude, that will keep current altitude with a fixed-bank angle
for some time, then switches to auto_descend that will descend with constant sink rate
of 0.5m/s
- params controlling GPS failsafe are not FW params: NAV_GPSF_R --> FW_GPSF_R and
NAV_GPSF_LT --> FW_GPSF_LT
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-11-05 12:09:39 +03:00
Daniel Agar
c73a1b4c68
update UAVCAN-v0 dsdl to DroneCAN
2021-11-04 21:36:13 -04:00
Daniel Agar
67437396f1
mpu6000: add USER_CTRL I2C_MST_EN bit to checked registers
2021-11-04 21:22:14 -04:00
Daniel Agar
8fbb241c2e
mpu6000: add gyro/accel self test bits to checked registers
2021-11-04 21:22:14 -04:00
Daniel Agar
bffcdd6fad
boards: modalai_fc-v2 fix bootloader board type
2021-11-04 15:43:29 -04:00
Matthias Grob
f55590ce78
FlightTaskOrbit: remove duplicate newlines
2021-11-03 17:37:52 +01:00
Matthias Grob
6cea707330
FlightTaskOrbit: increase acceptance radius from 1 to 2m
...
to avoid reaproaching when tracking is not perfect while
acc/deccelerating by stick.
2021-11-03 17:37:52 +01:00
Matthias Grob
eda9dce033
FlightTaskOrbit: fix direction change via MAVLink command
2021-11-03 17:37:52 +01:00
Thomas Debrunner
d450afead6
FlightTaskOrbit: Direct orbit approach with slowdown at intersection point
2021-11-03 17:37:52 +01:00
Thomas Debrunner
0d0b87e193
Update src/modules/flight_mode_manager/tasks/Orbit/FlightTaskOrbit.cpp
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2021-11-03 17:37:52 +01:00
Thomas Debrunner
9bd46be124
Orbit: Switch to PositionSmoothing library.
...
This also fixes the bug with altitude not follows and smoothes orbit approach trajectory
2021-11-03 17:37:52 +01:00
Vatsal Asitkumar Joshi
ea1ae73526
Support for Raspberry PI RP2040 MCU ( #18083 )
2021-11-03 12:14:30 -04:00
Daniel Agar
8f6fd5f37b
sensors/vehicle_angular_velocity: gyro RPM dynamic notch filter handle negative RPM
...
- some UAVCAN ESCs report negative RPM for reverse rotation
- lower hard coded safety limit RPM limit to 10 Hz (600 RPM)
- avoid disabling notch filters that weren't configured
2021-11-02 09:36:02 -04:00
Peter van der Perk
c6f249f7f1
Kconfig merge_config only set to 'n' when BOOL
...
Run make updateconfig to fix delta's of derived configs
2021-11-02 09:34:21 -04:00
Daniel Agar
fec0d6c5ed
ekf2: change indication further reduce data precision
2021-11-02 10:21:54 +01:00
bresch
1317b1a6e1
[AUTO COMMIT] update change indication
2021-11-01 13:59:34 +01:00
bresch
9e54c6d1aa
ekf2: move generic functions to control.cpp
...
these functions aren't specific to GPS fusion
2021-11-01 13:59:34 +01:00
bresch
e90734881b
ekf2_test: add more GPS fusion control tests
2021-11-01 13:59:34 +01:00
bresch
8aae39e82a
ekf2: move GPS control logic to separate source file
2021-11-01 13:59:34 +01:00
bresch
689ab12845
ekf2: refactor gps vel/pos fusion control logic
2021-11-01 13:59:34 +01:00
bresch
9afc390552
ekf2: move gps yaw reset in starting function
2021-11-01 13:59:34 +01:00
Daniel Agar
1461eb0e32
logger: increase optimization to ${MAX_CUSTOM_OPT_LEVEL}
...
- ${MAX_CUSTOM_OPT_LEVEL} is -O2 on boards that aren't flash constrained
2021-11-01 09:13:12 +01:00
Thomas Debrunner
32be88404a
commander: Only run estimator navigation checks when armed
2021-10-28 12:06:31 -04:00
PX4 BuildBot
7006b0aee9
Update submodule jMAVSim to latest Thu Oct 28 12:38:55 UTC 2021
...
- jMAVSim in PX4/Firmware (c9b89ee869 ): https://github.com/PX4/jMAVSim/commit/0a5a8c6d9da05bee5f82faa25430213d97d396b0
- jMAVSim current upstream: https://github.com/PX4/jMAVSim/commit/b23dc53d558e801b214fbcb605a061c9773105e0
- Changes: https://github.com/PX4/jMAVSim/compare/0a5a8c6d9da05bee5f82faa25430213d97d396b0...b23dc53d558e801b214fbcb605a061c9773105e0
b23dc53 2021-10-08 Ilya Petrov - Use low resolution texture also on Windows
2021-10-28 11:41:02 -04:00
Harrison MG
c9b89ee869
fixed ulanding_radar autostart command
2021-10-28 00:01:37 -04:00
Daniel Agar
be5c5856e7
cmake: px4_add_module always add module to PX4_MODULE_PATHS so that parameters aren't pruned
2021-10-27 23:00:40 -04:00
Peter van der Perk
51abb804ac
UAVCANv1 Fix NodeClient header and Kconfig merge logic
2021-10-27 10:07:01 -04:00
Beat Küng
0decdb1c7b
github action: run ./Tools/generate_board_targets_json.py in container
...
As it requires kconfiglib
2021-10-27 15:23:23 +02:00
Silvan Fuhrer
e715e6c245
Fixed-wing position control: set yaw_sp to yaw_current instead of nav_bearing when not controlled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 14:35:00 +03:00
Silvan Fuhrer
b53808d11b
fixed-wing: set yaw_sp to yaw_current instead of 0 when not controlled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 14:35:00 +03:00
Silvan Fuhrer
da4d6dc657
L1: increase the max allowed tangential velocity in the opposite direction to 2m/s
...
There is logic in L1 that prevents the vehicle from trying to achieve
an impossible loiter entry (e.g. due to wind). That check makes the
vehicle track the loiter center if the tangential velocity is in the wrong
direction while loitering. After the vehicle flies through the center, it can
then turn the other way around to join the loiter.
This check is though too sensitive if it purely checks for the wrong direction,
and it can end in delayed loiter entry for no reason.
This commit increases the threshold to 2m/s of tangential velocity
in the wrong direction to trigger the check.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 12:32:58 +03:00
RomanBapst
eee5f501cd
navigator: fix flyaway when altitude change is commanded without a valid
...
triplet
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-27 11:01:13 +03:00
RomanBapst
bf6a47ba6a
navigator: cleanup of set_loiter_item
...
Unwraps the set_loiter_item() to solve the issue where the altitdue setpoint
in a MC takeoff wasn't correctly used.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-27 11:01:13 +03:00
Silvan Fuhrer
cb78ba34d7
Mission: for tangential loiter exit, set current position setpoint typ to position
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 11:01:13 +03:00
Silvan Fuhrer
4b21c0c49e
Fw Pos C: always reset pos_sp type from LOITER to POSITION if far away
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-27 11:01:13 +03:00
RomanBapst
d678e792cc
mission_block: don't require an exiting heading when loitering if the next
...
waypoint is within the loiter radius of the current waypoint
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-27 11:01:13 +03:00
Michael Schaeuble
5e1f62e9d0
Add option to warn the pilot in case of strong magnetic interference but still allow arming.
...
This PR changes the COM_ARM_MAG_STR parameter to accept values. If the parameter is set to 2, the check is performed and a warning is logged but the vehicle can still arm.
2021-10-27 09:59:18 +02:00
ponomarevda
2b6bd452df
fix hardpoint hardfault by checking argc before std::strcmp
2021-10-27 08:11:23 +02:00
Beat Küng
de488f0f40
omnibus/f4sd: add topic listener & change timer order
...
So it matches the usage in the channel definition order
2021-10-27 08:03:55 +02:00
Beat Küng
8476875b4d
Kconfig: add missing serial ports
2021-10-27 08:03:55 +02:00
Beat Küng
48344c6e2a
state_machine_helper: add missing 'break' (no behavior change)
2021-10-27 08:03:55 +02:00
Daniel Agar
6d0c6bb6ce
lib/world_magnetic_model: cmake remove helper target BYPRODUCTS
...
- otherwise ninja will try to rebuild these
2021-10-26 18:52:12 -04:00
dagar
a2801bab80
[AUTO COMMIT] update change indication
2021-10-26 14:39:58 -04:00
Daniel Agar
88a979cf1d
lib/world_magnetic_model: add cmake helpers for updating tables
...
- `world_magnetic_model_update` to fetch latest geo_magnetic_tables.hpp
- `world_magnetic_model_tests_update` to fetch latest test_geo_lookup.cpp
2021-10-26 14:39:58 -04:00
Peter van der Perk
24ab430466
Tools/generate_board_targets_json.py: fix json board targets regression from #17100
2021-10-26 16:15:39 +02:00
bresch
d0f89f7fff
ekf2: refactor wind reset functions
2021-10-26 10:18:56 +02:00
bresch
456dfcb4b9
ekf2: update getter for true airspeed
2021-10-26 10:18:56 +02:00
bresch
3927c183de
ekf2_test: adjust airspeed unit test
...
an airpseed of > 2m/s is required to start the fusion (set by param)
fw mode is also required
Given the larger estimated windspeed after those changes, the change of
static pressure is larger and the height estimate takes more time to
reach the final value
2021-10-26 10:18:56 +02:00
bresch
6e8f0e92ff
ekf2: refactor airspeed fusion control logic
2021-10-26 10:18:56 +02:00
bresch
8873e92c7c
ekf: force fallback to baro if GPS is stopped while in GPS height mode
...
Otherwise, no height aiding source is used
2021-10-26 10:05:28 +02:00
bresch
0a140ec59a
ekf2_test: add GPS height to baro fallback
2021-10-26 10:05:28 +02:00
bresch
f4c21cedd9
ekf2_test: use motion_planning for dynamic yaw emergency test
2021-10-25 18:06:38 -04:00
bresch
340a2caa8e
ekf2_test: use motion_planning library
...
The VelocitySmoothing class from the motion_planning library is used to
generate trajectories in order to test the EKF convergence during motion
2021-10-25 18:06:38 -04:00
David Sidrane
38e2e6a01f
Use NuttX MPU Reset ( #18283 )
...
* NuttX with MPU reset backports
* Use NuttX MPU reset
2021-10-25 18:05:31 -04:00
alexklimaj
8088c82b6a
Add CANNODE_FLOW_ROT
2021-10-25 16:31:00 -04:00
Jaeyoung-Lim
5dcaadf492
Fix px4vision defaults
2021-10-25 16:29:52 -04:00
Landon Haugh
24cd0c6fa3
Enablement of PX4 SPI driver for UCANS32K146
2021-10-25 08:36:54 -07:00
Daniel Agar
a548c94230
boards: holybro_durandal-v1_default disable modules to save flash
2021-10-25 13:41:31 +02:00
bresch
6ec9ab11f2
add fw auto-tune module to board configs
2021-10-25 13:41:31 +02:00
bresch
95e2941b17
fw att: inject system identification signal to controller
2021-10-25 13:41:31 +02:00
bresch
6af0856558
add FF to FW rate controllers
2021-10-25 13:41:31 +02:00
bresch
55f0860c31
fw atune: add fixed-wing auto-tuning module
2021-10-25 13:41:31 +02:00
bresch
8dfdb1e3db
compute and publish fixed-wing control power
2021-10-25 13:41:31 +02:00
RomanBapst
d84b0296d2
support orbit command in fixed wing mode
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
commander: support orbit mode for fixed wings
Signed-off-by: RomanBapst <bapstroman@gmail.com >
FwPositionControl: publish orbit status
Signed-off-by: RomanBapst <bapstroman@gmail.com >
commander:reject orbit mode while doing a vtol transition
Signed-off-by: RomanBapst <bapstroman@gmail.com >
FixedWingPositionControl: explicitly cast waypoint for Orbit status
FixedwingPositionControl: fill missing orbit_status fields
navigator_main: handle reposition/orbit corner cases
- set orbit rotation direction correctly
- send mavlink message when orbit is rejected
FixedWingPositionControl: correctly report rotation direction in orbit_status
navigator: hack to not break orbit while doing altitude changes
Signed-off-by: RomanBapst <bapstroman@gmail.com >
navigator: set cruise throttle for orbit command
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-25 09:48:27 +02:00
Daniel Agar
93eb0162e5
drivers/uavcan_v1: fix Kconfig trailing whitespace
2021-10-25 08:15:46 +02:00
Silvan Fuhrer
f9cfcc5cfa
AirspeedSelector: add bitmask to enable checks seperately in ASPD_DO_CHECKS
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
73fe300c00
WindEstimator: remove option to disable scale estimation
...
The situation where this would be desired is unclear, plus it's basically
the same as setting ASPD_SC_P_NOISE to a very small value.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
b38bf23d6e
WindEstimator: avoid division by 0
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
c0754cf324
AirspeedValidator: pass vI as reference
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
f9682b86d1
AirspeedSelector: some clean up
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
7537fa36c8
AirspeedValidator: fix airspeed scale validation (feed raw TAS)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
a2faac148f
AirspeedValidator: check_airspeed_innovation() check absolute innovations
...
Do no longer use tas_innovation from wind estimator and test ratio, but calculate
the innovation based on wind estimate, TAS measurement (including currently applied scale)
and ground velocity. Use innovations directly to trigger failure.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
f6d37ecacf
AirspeedSelector: make sure we don't try to access a negative array index
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
ccab93e68b
AirspeedSelector: use Vector3f
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
259b851ba7
WindEstimator: remove filter reset due to airspeed measurement rejection
...
As the purpose of this wind estimator is to (mainly) catch airspeed failures,
we don't value estimator stability as much as the reliability to catch
actual sensor issues, and thus do not reset the filter (as this may hide
a real issue with the sensor)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
3ad901e51d
Wind Estimator: use time_literals
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
cad7851774
AirspeedSelector: add _CAS_scale_validated to airspeed_wind for logging
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
Silvan Fuhrer
625f556b0e
AirspeedSelector: airspeed scale estimation improvements and robustification
...
- run airspeed scale estimation always, not in dedicated mode
- add option to apply scale automatically, with extra feasibility check
- add airspeed scale for all 3 possible airspeed instances
- clean up parameters
- add check for data stuck (non-changing airspeed data)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-22 17:00:35 +02:00
RomanBapst
8e8c6efd66
Mission block: do not care for altitdue acceptance when approaching backtransition point
...
Not accepting the waypoint causes the vehicle to perform a sharp turn after passing
the land waypoint and this causes worse unexected behavior.
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-22 15:37:10 +02:00
Matthias Grob
3d50adc5fe
astyle: restore backwards compatibility with old pre-commit hook
...
I removed the filtering logic from the shell script in #18482 because
the new pre-commit hook already takes care of it.
The problem is if you don't update the .git/hooks/pre-commit file and
use the new shell script there's no filtering
of files done and it checks all files for every file.
This commit restores backwards compatibility because it does not hurt
until I have an automatic way to update the pre-commit hook file.
2021-10-22 12:56:21 +02:00
bresch
78fe6e2152
VelocitySmoothing: fix issue when delta vel is the same on all axes
...
When the change in velocity is exactly the same on several axes, the T1
of the recumputed trajectories after time sync was set to 0 because it
was skipping both if and else if.
2021-10-22 10:54:36 +02:00
mcsauder
9301288d1f
Add parameter and logic to set RTL heading mode.
2021-10-22 09:28:30 +02:00
Matthias Grob
6938d24ec7
pre-commit hook: show all style issues, not just the ones from the first file
2021-10-21 19:07:13 -04:00
Matthias Grob
2716ce7a56
pre-commit hook: clear output with error, file name, diff, instructions
2021-10-21 19:07:13 -04:00
Matthias Grob
4454fe9770
pre-commit hook: don't unstage the entire file containing a style issue
2021-10-21 19:07:13 -04:00
Daniel Agar
19952768fb
boards: try to keep test boards in sync
2021-10-21 15:59:15 -04:00
Daniel Agar
6fb1c79ef0
mixer_module: reject mixer load and reset when dynamic mixing is enabled
2021-10-21 11:27:33 -07:00
Daniel Agar
f1016dc32c
boards: add systemcmds/topic_listener to CAN nodes
2021-10-21 14:06:11 -04:00
Daniel Agar
17328bef69
Jenkins attach GDB and print back trace on failure
2021-10-21 14:04:33 -04:00
David Sidrane
258cde668c
nxp_fmurt1062-v1:Pared down boardconfig
2021-10-21 11:04:34 -04:00
David Sidrane
0e29cb31e6
nxp_fmurt1062-v1:Pull more code into XIP Flash
2021-10-21 11:04:34 -04:00
David Sidrane
ff3a76d918
nxp_fmurt1062-v1:Needs to usne ocram Linker script
2021-10-21 11:04:34 -04:00
Daniel Agar
ea9c64dcd9
drivers/uavcan: add new UAVCAN_SUB_* parameters to enable subscriptions
...
- only GPS and mag are enabled by default
2021-10-21 09:55:04 -04:00
Silvan Fuhrer
fd96bbf9b9
Mavlink: bump MAX_REMOTE_COMPONENTS to 16
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-21 07:48:50 +02:00
Daniel Agar
4247e1320b
px4io: allow switching to rate ctrl wq
2021-10-20 09:56:42 -04:00
Beat Küng
c0f75b1c79
dshot: add missing '#pragma GCC diagnostic push'
2021-10-20 08:11:07 +02:00
Daniel Agar
757424c2c0
clang-tidy ignore modernize-raw-string-literal for now
2021-10-20 08:10:05 +02:00
Beat Küng
8a2b310b83
topic_listener: avoid code generation, use existing metadata at runtime
...
This reduces flash size for v5 by ~110KB, the topic listener now only adds
about 1.2KB.
2021-10-20 08:10:05 +02:00
Beat Küng
a0e72b35a4
replay: ignore ULogMessageType::PARAMETER_DEFAULT messages
2021-10-20 08:10:05 +02:00
Beat Küng
4c73ac3805
uorb: use single byte for internal types in o_fields metadata
...
Reduces flash usage by ~9KB.
2021-10-20 08:10:05 +02:00
Landon Haugh
9aaf6e3f3e
[NXP_UCANS32K146] Increase usermain stack size to prevent init overrun
2021-10-19 20:17:11 -04:00
Thomas Debrunner
f4a85fa951
rcS: Allow startup files to be located on SD card
2021-10-19 14:08:38 -04:00
alexklimaj
6daa579e46
Add ARK RTK GPS Debug, turn on UART RX DMA
2021-10-19 13:30:46 -04:00
mcsauder
21163d859e
Whitespace cleanup.
2021-10-19 13:29:26 -04:00
Daniel Agar
4cf8eb8226
ekf2: EKF vehicle_at_rest always require some rotation in addition to vibration metrics
2021-10-18 21:39:40 -04:00
Daniel Agar
33954a904f
lib/tunes: never play tunes if circuit breaker is set
2021-10-18 21:37:09 -04:00
Daniel Agar
b08f20806b
ROMFS: rcS don't play startup tune until after UAVCAN and px4io
...
- fixes potential duplicate startup tune
2021-10-18 21:37:09 -04:00
Tia
6e3e6846f4
Fix srf05 driver.
2021-10-18 21:00:59 -04:00
bazooka joe
b35dd86d04
mc_pos_control: remove unused var
2021-10-18 20:37:18 -04:00
bazooka joe
c8d6f8f5e5
remove proto for unused function limit_thrust_during_landing()
2021-10-18 20:37:18 -04:00
Daniel Agar
9d7c4596f7
navigator: increase stack 1800 -> 1864 bytes
2021-10-18 20:31:35 -04:00
Daniel Agar
b20d8207a7
Jenkins: compile delete obsolete px4_fmu-v5_ctrlalloc
2021-10-18 20:11:58 -04:00
Beat Küng
3e9c88e48e
px4/fmu-v5 test, uavcanv0periph: disable modules to reduce flash
2021-10-18 18:45:19 -04:00
Beat Küng
da1df5352c
fix pwm: only update oneshot timers owned by the current pwm_out instance
...
This fixes the case where oneshot was enabled with multi-instance pwm_out,
triggering oneshot updates too close to each other and as a result could
lead to spinning motors while disarmed.
2021-10-18 18:45:19 -04:00
Daniel Agar
2ed623c8ae
boards: px4_fmu-v6x_default disable modules to save flash
2021-10-18 18:45:19 -04:00
Daniel Agar
be868aae92
boards: px4_fmu-v5_uavcanv0periph disable modules to save flash
2021-10-18 18:45:19 -04:00
Daniel Agar
a7a2aa3b74
boards: px4_fmu-v3_test disable modules to save flash
2021-10-18 18:45:19 -04:00
Beat Küng
cc1d24a5fe
ci compile_nuttx: disable fail-fast
...
So that all failures can be evaluated.
2021-10-18 18:45:19 -04:00
Beat Küng
d01f2b1d40
cubepilot/cubeorange test: disable uavcan to reduce flash usage
2021-10-18 18:45:19 -04:00
Beat Küng
dbd4426271
nxp/fmurt1062-v1: set CONSTRAINED_FLASH
2021-10-18 18:45:19 -04:00
Beat Küng
e36a8f3765
ROMFS: disable vtol airframes for kakutef7
2021-10-18 18:45:19 -04:00
Beat Küng
f1686b1abf
px4io: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
837a1066e0
px4io, pwm_out: update pwm default checking
...
The defaults changed in the previous commit for per-channel params,
so we make sure that the overall params are still used as long as the
per-channel params are default.
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
ba4a1ec6c4
boards/px4/io-v2: swap timer definitions
...
So that the ordering of the generated params make more sense.
TIM1 is now for channels 2-4 instead of 5-8.
2021-10-18 18:45:19 -04:00
Beat Küng
319e90961b
output_groups_from_timer_config.py: fix timer index
...
The implementation assumed timers are defined in the same order as used
in the channels. This could lead to a mismatch between TIMx param and
actual timer config.
Now we use the actual array index, same as in the code.
2021-10-18 18:45:19 -04:00
Beat Küng
183ab8bbe7
control_allocator: avoid default argument for virtual method getEffectivenessMatrix
...
clang tidy error:
/__w/PX4-Autopilot/PX4-Autopilot/src/modules/control_allocator/ActuatorEffectiveness/ActuatorEffectivenessMultirotor.cpp:50:34: error: default arguments on virtual or override methods are prohibited [google-default-arguments,-warnings-as-errors]
ActuatorEffectivenessMultirotor::getEffectivenessMatrix(matrix::Matrix<float, NUM_AXES, NUM_ACTUATORS> &matrix,
2021-10-18 18:45:19 -04:00
Beat Küng
563cf61126
module_schema.yaml: add actuator_output section
...
The parameter additions are only used internally for the pwm generator.
2021-10-18 18:45:19 -04:00
Beat Küng
8b3ab7e36d
fix pwm_out: ensure up_pwm_servo_arm() is never continuously called
...
This happened with multi-instance, when the second instance did not load
a mixer. Then the first instance would always return false in
update_pwm_out_state, and continuously call up_pwm_servo_arm.
This led to irregular pulses, e.g. with an output set to fixed 1500us, I
saw pulses of e.g. 1800us occationally (they were in a range of
[1500-2100]).
2021-10-18 18:45:19 -04:00
Beat Küng
838ec5d485
airframes: set output function params for ctrlalloc airframes
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
2b039b2af8
px4/fmu-v6x: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
4e0e2dec57
fmu-v6u: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
4a4acf7ead
px4/fmu-v5x: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
faf481df31
modalai/fc-v2: remove unused DIRECT_PWM_CAPTURE_CHANNELS define
2021-10-18 18:45:19 -04:00
Beat Küng
d28dd5cc14
holybro/pix32v5: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
d9bf03b2dc
holybro/durandal-v1: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
0ab4a24de8
px4/fmu-v5: add capture pins to list of pwm pins
2021-10-18 18:45:19 -04:00
Beat Küng
a01cf2efc0
rc.mc_apps: allow to set COM_PREARM_MODE with control allocation
...
This is safe now.
2021-10-18 18:45:19 -04:00
Beat Küng
21c1671693
pwm_out_sim: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
0871b7974d
uavcan_v1: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
ae15ad14a8
tap_esc: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
35ce6d1b73
pca9685_pwm_out: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
955179e992
linux_pwm_out: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
c1e5e666f0
pwm_out, dshot: add dynamic mixing support
2021-10-18 18:45:19 -04:00
Beat Küng
3ff6014a3c
uavcan: implement servo outputs
2021-10-18 18:45:19 -04:00
Beat Küng
07fa8c5295
uavcan: reduce sensor status output verbosity
2021-10-18 18:45:19 -04:00
Beat Küng
49f8131f82
uavcan: add dynamic mixing support
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
f5fbcb0770
dshot: handle telemetry index correctly when dynamic mixer is used
2021-10-18 18:45:19 -04:00
Beat Küng
d951c74a7d
spracing/h7extreme: use single-line comments instead of multi-lines
...
Required for output_groups_from_timer_config.py parser
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
db28ea9cfa
generate_params.py: extend params 'definitions' section to support a list
...
allows to add multiple entries for a multi-instance param with different
instance_start
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
6424faccb1
generate_params.py: fix parse_yaml_parameters_config
...
Correctly handle multiple parameter sections
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
ab3fe77f46
mavlink_receiver: publish MAV_CMD_DO_SET_ACTUATOR command
2021-10-18 18:45:19 -04:00
Beat Küng
5103f00de3
vehicle_command.msg: add VEHICLE_CMD_DO_SET_ACTUATOR
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
Beat Küng
ad1bcfd77c
commander: correct lockdown CLI description
2021-10-18 18:45:19 -04:00
AuroraRAS
62dd38fe35
Prepare for Android NDK build
...
Modify CMakeList.txt prepare for Android NDK build
Signed-off-by: AuroraRAS <chplee@gmail.com >
2021-10-18 14:55:56 -04:00
Alex Klimaj
b482986e8e
uavcannode: Add CANNODE_TERM parameter (configure CAN termination on ARK cannodes)
...
- adds functionality to enable the built in can termination on the ARK cannodes
2021-10-15 09:29:56 -04:00
Jari van Ewijk
55910caec5
UCANS32K146: Enable CONFIG_BCH to use EEEPROM as character driver
2021-10-15 05:54:27 -07:00
Silvan Fuhrer
a66b0829b0
Standard VTOL: add airspeed to back transition logic and refactor it a bit
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-15 09:58:48 +02:00
Silvan Fuhrer
358c67226e
Tiltrotor: backtransition logic improvements
...
-use groundspeed in body x for exit condition
-use airspeed for speed exit condition if no valid groundspeed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-15 09:58:48 +02:00
Silvan Fuhrer
cba80a6338
Tiltrotor: front transition: fade out yaw equally to roll
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-15 09:58:48 +02:00
Silvan Fuhrer
641383cbfb
VTOL backtransition improvements
...
* vtol_type: only allow positive pitch setpoints during backtransition
* vtol params: set default of VT_B_DEC_FF to 0, as for most frames a FF is not necessary
* Tiltrotor: fix throttle during first part of back transition
* Tiltrotor: only enable all motors in second phase of backtransition (tilting phase)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-15 09:58:48 +02:00
RomanBapst
af291e2040
FlightTaskTransition: Transition improvements
...
- use fw pitch setpoint offset during transition
- take over previous vertical velocity and smooth out over transition
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-15 09:58:48 +02:00
Silvan Fuhrer
d39c32619e
Tiltrotor: add minimum throttle of 0.25 during front transition
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-15 09:58:48 +02:00
RomanBapst
f61853d428
vtol: implement throttle blending out and into transition
...
- blend into TECS throttle after front transition
- blend out of TECS throttle during backtransition
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-15 09:58:48 +02:00
RomanBapst
8dd76050e0
vtol: take fixed wing attitude setpoint during transition if altitude is
...
not controlled
- required as there is no flightask running if altitude is not controlled
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-15 09:58:48 +02:00
Daniel Agar
435e5515df
github actions: increase nuttx and linux ccache max size to 100M
2021-10-14 19:45:29 -04:00
Daniel Agar
7e71b7eafc
github actions: compile nuttx archive bin files and remove duplicate nuttx cannode builds
2021-10-14 19:45:29 -04:00
Daniel Agar
12c7056ae5
drivers/imu: icm20602/icm20649/icm20948 remove timestamp_sample adjustments
2021-10-14 16:37:11 -04:00
Daniel Agar
56823b5ac9
ekf2: EKF control don't allow invalid flow gyro to propagate
2021-10-14 16:31:22 -04:00
Daniel Agar
e8a064af02
github actions: try increasing nuttx ccache limit
2021-10-14 11:54:19 -04:00
Daniel Agar
b88c8eb245
Jenkins: hardware stop commander before sensors module to avoid errors
...
- this is only done to silence timeouts during small benchmarks
2021-10-14 09:17:50 -04:00
Daniel Agar
d35cf78e4a
commander: PX4_ERR if attitude or angular velocity become invalid
2021-10-14 09:17:50 -04:00
Daniel Agar
4559230de6
drivers/imu/invensense: adjust icm20602/icm20649/icm20948 rescheduling logic
...
- this handles the case where the driver might be more than one full
transfer cycle behind
2021-10-14 09:17:11 -04:00
Daniel Agar
ef4d4c3093
sensors/vehicle_imu: fix timestamp_sample increasing check
2021-10-14 09:12:45 -04:00
Jaeyoung-Lim
4535b18a80
Set setpoint type as const
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim
07d72f8604
Fix comments
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim
443666199e
Move setmode outside of control_position
...
This commit moves the position controller mode handling outside of the control_position method.
The control_method is renamed to control_auto
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim
ae9e91f90c
FW Pos controller: fix format in new switch
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-14 11:18:02 +02:00
Silvan Fuhrer
c3e961a1ed
FW Pos C: move setting of control_mode_current to separate function and minor clean ups
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-14 11:18:02 +02:00
Silvan Fuhrer
0cf3ef87e3
FW Position Controller: move nav_speed_2d calculation to function
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-14 11:18:02 +02:00
Jaeyoung-Lim
581ec224be
Encapsulate loiter and position setpoint handling
...
This commit encapsulates the position setpoint and loiter setpoint handling into a single method, in order to make the code easier to understand
4be452
2021-10-14 11:18:02 +02: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
Peter van der Perk
07303af8f8
UAVCANv1 Fix typo in #define
2021-10-13 21:22:15 -04:00
Peter van der Perk
ed394027b1
UAVCANv1 Include Kconfig & Fix #18396
2021-10-13 21:22:15 -04:00
mcsauder
a732ddaefb
Deprecate 4250_teal from CMakeLists.txt.
2021-10-13 17:25:18 -04:00
mcsauder
c1b0d78077
Minimize flash by migrating MIXER quad_x and PWM_OUT 1234 to rc.mc_defaults. Deprecate 4250_teal config file.
2021-10-13 17:25:18 -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
alexklimaj
f5e1da5b0f
Fix broadcom afbrs50 build
2021-10-13 17:22:26 -04:00
Daniel Agar
7de00469a6
platforms: nuttx px4_init fix USB serial mavlink autodetect
2021-10-13 16:34:45 -04:00
Julian Oes
f91aa76645
boards: add v5x RTPS version again
...
I just copied this from v5 and removed the heater.
2021-10-13 16:20:43 -04:00
David Lechner
426efb515f
setup: fix installing in virtual env on Ubuntu
...
This fixes running the Ubuntu setup script in a Python virtual
environment. This was failing because pip doesn't allow the --user
option in virtual environments.
2021-10-13 16:19:24 -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
Jukka Laitinen
e6658547cf
sensors/vehicle_imu: Fix compiler warning for implicit INFINITY double->float cast
...
This pops up on some newer compilers
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-10-13 15:01:26 -04:00
Jukka Laitinen
5509235517
commander: Fix implicit NaN conversion from double to float compiler warning
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2021-10-13 15:01:26 -04:00
Daniel Agar
41a4045630
boards: nxp_fmuk66 fix serial_dma_poll
2021-10-13 13:45:39 -04:00
Daniel Agar
49a4283d0d
boards: px4_fmu-v5x restore rc.board_mavlink
...
- this was unintentionally removed in https://github.com/PX4/PX4-Autopilot/pull/16180
2021-10-13 17:34:20 +02:00
alexklimaj
ffb47466df
Add ARK GPS passthrough
2021-10-12 22:00:58 -04:00
Mathieu Bresciani
56b0c46444
ekf2: improve optical flow angular rate compensation
2021-10-12 13:17:29 -04:00
Daniel Agar
fab053d33b
mavlink: receiver battery_status prevent out of bounds access
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/18385
2021-10-12 09:20:40 -04:00
Daniel Agar
12670b70f4
Jenkins: hardware quick cal skip sleeps
2021-10-11 15:21:43 -04:00
Silvan Fuhrer
801ef2d520
VTOL main: add local variable for int(vehicle_command.param1 + 0.5)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-11 18:15:18 +02:00
Silvan Fuhrer
342e9900f8
vtol main: only guard against transition to FW in certain flight modes, never to MC
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-11 18:15:18 +02:00
SalimTerryLi
5ebe41efbf
pilotpi: fix upload cmake
2021-10-11 10:43:59 -04:00
RomanBapst
8f8304f31e
FixedWingPositionController: Set l1 variables to NAN if no l1 guidance
...
took place
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-10-11 16:41:42 +02: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
Jaeyoung-Lim
e2f048f608
Add sitl glider model
...
Add airframe configs for SITL glider model
This commit adds an airframe config for a glider model
2021-10-10 12:33:25 -04:00
Shubham Shah
99b098f608
Update FixedwingAttitudeControl.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
c92cd65831
Update EKF2.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
6576e1fda9
Update battery_status.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
b56bd7cb21
Update AirspeedValidator.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
47a72a6b7b
Update vtol_att_control_main.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
9fd19a2c83
Update standard.cpp
2021-10-09 19:39:43 -04:00
Shubham Shah
af34b21ba8
Update tiltrotor.cpp
2021-10-09 19:39:43 -04:00
Jacob Dahl
98f655815a
mavlink: add LAND_TARGET stream
2021-10-09 10:29:02 -04:00
Daniel Agar
4be45229bf
fw_pos_control_l1: fix launch detector dt update
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/18354
2021-10-08 17:34:14 -04: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
Jacob Dahl
fd39d5b9a1
drivers/distance_sensor/lightware_laser_serial: add LW20/C support
2021-10-08 17:30:41 -04:00
Igor Mišić
47dc2ae5a5
Revert "protocol_splitter: delete non rtps or mavlink data from buffer"
...
This reverts commit 0cae3c129d .
2021-10-08 14:35:12 -04:00
alexklimaj
2ba369dd54
Add uavcannode fix2 mode and submode
2021-10-08 11:00:37 -04:00
Peter van der Perk
d8e88aedc6
motor_ramp ram cleanup
2021-10-08 10:51:06 -04:00
Nicolas Martin
ba66f8a1e2
reset hover thrust value in controllers when disarmed
...
During landing, hover thrust value can be very incorrect so it should be
reset before taking off
2021-10-08 10:39:49 +02:00
bresch
ba1b7f3a07
CA pseudo inverse: set all small elements in CA matrix to zero
...
This avoids problems in the sequencial desaturation method where vectors
of the CA matrix are used to desaturate the motors.
2021-10-08 09:35:40 +02:00
bresch
d1a2d6e1aa
h480_ctrlalloc: tune rate controller
2021-10-08 09:35:40 +02:00
bresch
984a698760
matrix: update to include min/max of slices
2021-10-08 09:35:40 +02:00
bresch
21b1f090e6
SITL: add typhoon_h480_ctrlalloc target
2021-10-08 09:35:40 +02:00
bresch
b18b7e84d2
CA pseudo-inverse: normalize control allocation matrix
2021-10-08 09:35:40 +02:00
bresch
927c0c4296
McRateControl: publish torque and thrust setpoint for control allocator
2021-10-08 09:35:40 +02:00
bresch
212df95193
ctrlalloc: use normal rate controller
2021-10-08 09:35:40 +02:00
Peter van der Perk
3de5623556
Kconfig remove defconfig in root directory after gen
...
Cleanup fmu configs
2021-10-07 10:09:01 -04:00
Peter van der Perk
eb8620a0da
Kconfig FMU-V5 flash cleanup
2021-10-07 10:09:01 -04:00
Daniel Agar
cb6b1bd427
boards: delete unused test and debug variants
2021-10-07 10:09:01 -04:00
Peter van der Perk
6b7237aa3a
Kconfig add WIFI serial port option
2021-10-07 10:09:01 -04:00
Peter van der Perk
05d71c8118
Kconfig fix CI issues after rebase
2021-10-07 10:09:01 -04:00
Peter van der Perk
96994b82bb
Kconfig cmake change rm to remove to remain compatible with CMake older then 3.17
2021-10-07 10:09:01 -04:00
Peter van der Perk
ed5fee1a72
Backport #18311 mc atune
2021-10-07 10:09:01 -04:00
Peter van der Perk
454c907b7d
Kconfig backport #18327 mag_bias
2021-10-07 10:09:01 -04:00
Peter van der Perk
36191e649a
Kconfig backport #18289 and other flash size fixes
2021-10-07 10:09:01 -04:00
Peter van der Perk
500d80c329
Kconfig backport 51758bd7e6
2021-10-07 10:09:01 -04:00
Peter van der Perk
bfa87fdac7
Kconfig fix wrong nuttx submodule commit
2021-10-07 10:09:01 -04:00
Peter van der Perk
bb7b033e11
Kconfig backport #18259 & remove contrained flash depedency on NO_HELP
2021-10-07 10:09:01 -04:00
Peter van der Perk
c3c9910f04
Backport #17814 to Kconfig
2021-10-07 10:09:01 -04:00
Peter van der Perk
5e98f38f78
Kconfig rebase backports 26-09-21
2021-10-07 10:09:01 -04:00
Peter van der Perk
6a1675ac28
Backport #17864 to px4board config
2021-10-07 10:09:01 -04:00
Peter van der Perk
60790f7112
Backport boards: modalai_fc-v1 update default.cmake ( #18202 )
2021-10-07 10:09:01 -04:00
Peter van der Perk
9b55a8083a
Backport to kconfig: boards: remove camera_capture from sitl and linux targets
2021-10-07 10:09:01 -04:00
Peter van der Perk
12898ea560
[Kconfig] Update configs 06-09-21
2021-10-07 10:09:01 -04:00
Peter van der Perk
010d854023
[Kconfig] Add extra SITL cmake variables
2021-10-07 10:09:01 -04:00
Peter van der Perk
0571932e7c
[Kconfig] Backport rebase config changes
2021-10-07 10:09:01 -04:00
Peter van der Perk
7c6b995cb4
[Kconfig] Replace find_executable by python module, moved python check before calling kconfig
2021-10-07 10:09:01 -04:00
Peter van der Perk
c6e7b8bae1
[Kconfig] Fix SITL by adding rpm/rpm_simulator
2021-10-07 10:09:01 -04:00
Peter van der Perk
f7803fb686
[Kconfig] Bloaty 2nd pass
2021-10-07 10:09:01 -04:00
Peter van der Perk
2dcfe533d6
[Kconfig] Telemetry don't include iridum by default
2021-10-07 10:09:01 -04:00
Peter van der Perk
33fd65e5fe
[Kconfig] Fix regressions found by bloaty and cleanup unused cmake
2021-10-07 10:09:01 -04:00
Peter van der Perk
43a3de8c18
[Kconfig] Fix px4 fmu configs
2021-10-07 10:09:01 -04:00
Peter van der Perk
a918025adb
[Kconfig] fix fmu-v2 configs
2021-10-07 10:09:01 -04:00
Peter van der Perk
892d673b45
[Kconfig] fix flash overflow test builds
2021-10-07 10:09:01 -04:00
Peter van der Perk
8951ed9f12
[Kconfig] fmu-v5 match cmake configs
2021-10-07 10:09:01 -04:00
Peter van der Perk
1eb9a77a9b
[Kconfig] Added missing sensor drivers
2021-10-07 10:09:01 -04:00
Peter van der Perk
603d0c594d
[Kconfig] fix boards configs
2021-10-07 10:09:01 -04:00
Peter van der Perk
efc91d2b69
[Kconfig] Fixed inclusion of microbench bydefault when TESTING was enabled
...
Added full optimization option
2021-10-07 10:09:01 -04:00
Peter van der Perk
a1247d6bcf
[Kconfig] Backport cmake config changes
2021-10-07 10:09:01 -04:00
Peter van der Perk
9f38553ab0
[Kconfig} update broken board configs px4 fmu-v4/v5
2021-10-07 10:09:01 -04:00
Peter van der Perk
cc752f11df
[Kconfig] python script doesn't remove delta, thus we've to manually add remove deltas
2021-10-07 10:09:01 -04:00
Peter van der Perk
d4fbd5674e
[Kconfig] Change patern matching order so that xx_xx doesnut result xx if it exists
2021-10-07 10:09:01 -04:00
Peter van der Perk
b3e799e277
[Kconfig] Add all distance sensors
2021-10-07 10:09:01 -04:00
Peter van der Perk
5542402ca0
[Kconfig] CI fixes and SITL fix
2021-10-07 10:09:01 -04:00
Peter van der Perk
6d0829c251
[Kconfig] px4 io-v2 fix toolchain
2021-10-07 10:09:01 -04:00
Peter van der Perk
b44c0eb434
[Kconfig] FMUv4 CI fixes
2021-10-07 10:09:01 -04:00
Peter van der Perk
21e6547ac7
[Kconfig] Toolchain & platform fixes, SITL still broken
2021-10-07 10:09:01 -04:00
Peter van der Perk
d1e7642b9a
[Kconfig] temporily updated github actions to latest to test CI
2021-10-07 10:09:01 -04:00
Peter van der Perk
4ba1a2f395
[Kconfig] Fix Posix / SITL build
2021-10-07 10:09:01 -04:00
Peter van der Perk
0400c24af5
[Kconfig] 17-08-21 rebase fixes
2021-10-07 10:09:01 -04:00
Peter van der Perk
c2ad07b983
[Kconfig] Don't inherit kconfig when bootloader (and canbootloader)
2021-10-07 10:09:01 -04:00
Peter van der Perk
6af0477733
[Kconfig] Gnerate px4board from old cmake
...
Added make updateconfig to update all config when default's have changed
Added cmake to px4board conversion script
2021-10-07 10:09:01 -04:00
Peter van der Perk
815617e670
Added common options for sensor drivers
...
uavcan_board_identity check for existance
Added kconfig for compiler definitions
2021-10-07 10:09:01 -04:00
Peter van der Perk
82888d3320
[Kconfig] Merge/diff fixes and added some FMUv5 targets
2021-10-07 10:09:01 -04:00
Peter van der Perk
ea393b54d9
[Kconfig] non-default labels config inherit default.px4board config
2021-10-07 10:09:01 -04:00
Peter van der Perk
b7f03cec5e
[Kconfig] Add FMU-V5 and PX4-IOv2 px4board config
2021-10-07 10:09:01 -04:00
Peter van der Perk
56472eeed7
Completely removed px4_add_board
2021-10-07 10:09:01 -04:00
Peter van der Perk
57593cc56a
Initial attempt to make px4_add_board obsolute
2021-10-07 10:09:01 -04:00
Peter van der Perk
7aa28ba9cd
Kconfig remove clean use configure depends and apps timestamp instead
2021-10-07 10:09:01 -04:00
Peter van der Perk
abd85cd219
Rebase 06-07-21 and add batman Kconfig support
2021-10-07 10:09:01 -04:00
Peter van der Perk
4e4aabc03f
Update Kconfig after rebasing 03-05-21
2021-10-07 10:09:01 -04:00
Peter van der Perk
d5e3e9a7bc
[Kconfig] Decompose Kconfig, now each module has its own Kconfig
...
Which is better for versioning and decomposability
2021-10-07 10:09:01 -04:00
Peter van der Perk
094d3557d7
Add Kconfig for Gyro calibration #17040
2021-10-07 10:09:01 -04:00
Peter van der Perk
a0821afafd
[Kconfig] Move UAVCANv0 num interfaces to Kconfig
2021-10-07 10:09:01 -04:00
Peter van der Perk
16f86a99c2
Swap pwm_out with pwm_sim_out to get same binary output as the non-kconfig build
2021-10-07 10:09:01 -04:00
Peter van der Perk
e4f9fd8f53
[Kconfig] forgot distance sensor furthermore K66 build should be equal now
2021-10-07 10:09:01 -04:00
Peter van der Perk
29c4d234ec
Add make clean after boardconfig configure
2021-10-07 10:09:01 -04:00
Peter van der Perk
787b9b54e1
Board config now saved as defconfig which is smaller and friendlier for version control
2021-10-07 10:09:01 -04:00
Peter van der Perk
8df21b0b42
Changed CMake warning to status to not kill the CI
...
Furthermore removed obsolete uavcanconfig target
2021-10-07 10:09:01 -04:00
Peter van der Perk
7a747b43f6
Initial boardconfig working with FMUK66
2021-10-07 10:09:01 -04:00
Peter van der Perk
4044fbd4a0
Initial Kconfig implementation in CMake
...
Used fmuk66-v3 as test case
2021-10-07 10:09:01 -04:00
Peter van der Perk
4b89ff29ce
PX4 full firmware Kconfig PoC
2021-10-07 10:09:01 -04:00
Peter van der Perk
55aa2e50ff
UAVCANv1 menuconfig make it board label configurable
2021-10-07 10:09:01 -04:00
Peter van der Perk
b9bcb7fe7f
uavcanconfig force CMake reconfiguration after use
2021-10-07 10:09:01 -04:00
Peter van der Perk
95e593f3b8
Added python menuconfig.py fallback
2021-10-07 10:09:01 -04:00
Peter van der Perk
37271d334b
[UAVCANv1] Initial uavcanconfig menuconfig example
2021-10-07 10:09:01 -04:00
Igor Mišić
0cae3c129d
protocol_splitter: delete non rtps or mavlink data from buffer
...
protocol_splitter: add missing buffer_size checker
2021-10-07 09:23:23 -04:00
Silvan Fuhrer
a202bcbc73
VTOL: fix param description concerning VT_PITCH_MIN
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-07 09:22:59 -04:00
Silvan Fuhrer
fb8bf7eaa6
ROMFS: remove default params from configs
...
Remove params from airframe configs that are just set again
to the param default value or to the value that is
specified in the mc_default, fw_default or vtol_default.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-07 09:22:59 -04: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
bresch
d03bf42f60
slice: add min and max functions
2021-10-07 09:19:28 -04:00
Daniel Agar
dc9e072e83
github actions ccache set hash_dir=false
2021-10-06 17:55:50 -04:00
Daniel Agar
bbfaa4694c
boards: cleanup serial RX DMA hrt_call_every
...
- remove ts_to_abstime dependency
2021-10-06 14:39:59 -04:00
Matthias Grob
b40dbd3d6f
FlightTaskAuto: hotfix filter for yawspeed feed-forward
...
to get rid of derivative spikes when navigator is
continuously updating the yaw setpoint in the
triplet for a POI but is running at a lower rate.
The proper solution is to generate that yaw setpoint
with high rate in the flight task and have the triplet
just guid to the next waypoint at low rate.
2021-10-06 14:06:58 -04:00
Daniel Agar
3e6ff2451b
github actions increase newly added timeouts
2021-10-06 13:47:12 -04:00
Daniel Agar
6e057a644b
github actions remove ccache from deploy metadata and low priority builds
...
- this is an attempt to preserve our limited amount of github actions
cache storage
2021-10-06 13:46:20 -04:00
Daniel Agar
0bdcd54184
mavlink: reciever trajectory_representation_waypoints resepect valid_points
...
- fixes https://github.com/PX4/PX4-Autopilot/issues/18369
2021-10-06 13:45:15 -04:00
Silvan Fuhrer
31a599f303
Commander: add comment in COM_RC_OVERRIDE that it's always enabled in Descend mdoe
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-06 11:32:23 -04:00
Silvan Fuhrer
eeb6244c6b
Commander: add wind speed warning
...
Publishes periodically (max every 1 min) a warning if the current wind estimate
is above COM_WIND_WARN.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-06 11:31:13 -04:00
Silvan Fuhrer
1a4ce136f3
Tiltrotor: add hover tilt offset to pusher assist tilt
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-06 11:27:19 -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
Silvan Fuhrer
f0de88fada
vtol_type: fix motor_state::VALUE
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-06 11:26:39 -04:00
Matthias Grob
a461bb971a
FlightTask: preserve vertical velocity during reactivation
...
to allow descending by stick for reliable land detection.
Issue:
Stick smoothing gets completely reset to state when not taken off
-> downwards velocity setpoint is gone when not taken off
-> in_descend flag of land detection is never true when not taken off
-> when landing but falling out of landing it landing detection fails
bafore taking off and landing again
2021-10-06 11:25:51 -04:00
Matthias Grob
c20e5e3a00
FlightTaskManualAltitudeSmoothVel: remove separate reactivate handling
...
It was added before the activation was able to work with the previous
setpoint.
2021-10-06 11:25:51 -04:00
Matthias Grob
9b92862980
MulticopterLandDetector: correct in_descend comment
2021-10-06 11:25:51 -04:00
Daniel Agar
10bc778651
boards: freefly_can-rtk-gps delete unused include
2021-10-06 10:41:36 -04:00
bresch
d95e387d79
angular acceleration: change 2nd order to 1st order LPF
...
Having a 2nd order low-pass filter in the derivative loop reduces
stability at low cutoff values as too much phase is lost through
the filter. Using a 1st order filter avoids this issue because its
maximum phase loss is 90 degrees instead of 180 degrees for a 2nd order
lpf.
2021-10-06 16:26:03 +02:00
bresch
1b58202b0d
AlphaFilter: add function to set param from cutoff frequency
2021-10-06 16:26:03 +02:00
Daniel Agar
b5d401b20c
drivers/imu: ensure timestamp_sample adjustment isn't done as float (continued)
2021-10-06 10:19:01 -04:00
Daniel Agar
e31dd34388
lib/led: replace subscription missed error with perf count
2021-10-06 09:31:44 -04:00
Daniel Agar
113ea5ea26
github actions add timeout to all_variants nuttx compile job
2021-10-06 09:28:27 -04:00
Daniel Agar
6edb1fa1f8
github actions add timeout to SITL tests run
2021-10-06 09:28:27 -04:00
Daniel Agar
ad27d2c49a
github actions enable ccache hash_dir for SITL tests
2021-10-06 09:28:27 -04:00
Daniel Agar
52fccb1e75
github actions decrease ccache max_size selectively
2021-10-06 09:28:27 -04:00
Daniel Agar
d002002ceb
github actions increase ccache compression level
2021-10-06 09:28:27 -04:00
Daniel Agar
ddd1dea4f0
ekf2: avoid uint64 timestamp conversion to float
2021-10-06 09:27:06 -04:00
Daniel Agar
dc1b423721
drivers/imu: ensure timestamp_sample adjustment isn't done as float
...
- larger HRT timestamps can't be represented exactly when cast to float
2021-10-06 09:26:26 -04:00
Julian Oes
6b8840a01b
commander: fix switch to ALTCTL when RC regained
...
This fixes the case where we sometimes switch to altitude control
instead of position control when RC is regained.
What happens is that we detect that the pilot wants to take over control
right when RC comes back. This means that we try to go in position
control in main_state_transition, however, we are already in position
control because we come back from the failsafe state. The result of
main_state_transition is then TRANSITION_NOT_CHANGED, and therefore we
"fall back" to altitude control even though being already in position
control would have been fine.
This fix checks the return result of main_state_transition correctly and
only reacts to TRANSITION_CHANGED and TRANSITION_DENIED but ignores
TRANSITION_NOT_CHANGED.
2021-10-06 10:30:08 +02:00
Daniel Agar
51758bd7e6
boards: delete unused variants
2021-10-05 23:14:04 -04:00
Daniel Agar
3570e5a4f0
boards: cuav_nora_test disable attitude_estimator_q to save flash
2021-10-05 20:43:43 -04:00
Silvan Fuhrer
2dca51216c
vtol: change message for transition timeout warning
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-05 18:19:33 -04:00
Silvan Fuhrer
bdc57178d4
Tailsitter: add add transition timeout (abort transition after VT_TRANS_TMEOUT, Quadchute)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-05 18:19:33 -04:00
Silvan Fuhrer
1a1bb2629d
tiltrotor: add transition timeout (abort transition after VT_TRANS_TIMEOUT, Quadchute)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-05 18:19:33 -04:00
Daniel Agar
02aed782e3
boards: px4_fmu-v6x_default disable sd_stress to save flash
2021-10-05 18:17:22 -04:00
Daniel Agar
beb358a344
px4_work_queue: adjust status formatting to accommodate longer names (eg mc_autotune_attitude_control)
2021-10-05 18:09:00 -04:00
Silvan Fuhrer
98c7f664c1
FW Position control: add roll slewrate also in manual Position flight mode
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-10-05 18:06:49 -04:00
Matthias Grob
2edd97102b
Sticks/StickYaw: refactor to use constructor properly
2021-10-05 18:05:54 -04:00
Matthias Grob
0cc13f0799
FlightTaskAutoMapper: add horizontal and yaw nudging during final descent
2021-10-05 18:05:54 -04:00
Matthias Grob
bb9f167d79
StickAccelerationXY: add reseting position to specified coordinates
2021-10-05 18:05:54 -04:00
Daniel Agar
578d57a060
Jenkins: hardware disable sd_stress temporarily
...
- currently failing intermittantly when run on the test rack
2021-10-05 17:55:52 -04:00
Daniel Agar
b4d33a36f8
boards: px4_fmu-v6x_default disable examples/fake_gps to save flash
2021-10-05 17:11:47 -04:00
Daniel Agar
2b9ebb7ed6
boards: holybro_kakutef7 disable systemcmds/work_queue to save flash
2021-10-05 17:10:30 -04:00
Beat Küng
007a7f78ae
CI: switch to github actions
2021-09-03 12:07:26 +02:00
Beat Küng
c96f0a48b6
test: update gtest to v1.11.0
2021-09-03 12:07:26 +02:00
Beat Küng
7c1860f286
geninv(): pass result as argument
...
depending on usage, this reduces stack usage a bit.
2021-09-03 12:07:26 +02:00
Beat Küng
dc7f119b99
geninv(): improve runtime performance and reduce stack usage
...
- use associativity of matrix operations to reduce size of temporary
matrices and number of multiplications in the M <= N case
- minimize the number of temporary matrices required
2021-09-03 12:07:26 +02:00
romain-chiap
3d1c9b988d
quaternion exponential ( #164 )
2021-08-04 19:04:57 -04:00
Daniel Agar
b8568a89db
Euler: improve quaternion constructor
2021-04-14 22:56:03 -04:00
Daniel Agar
1d0e7f1ca1
Matrix: use naive per element copy instead of memcpy call
2021-04-14 15:44:18 -04:00
Daniel Agar
1344ce06fd
Euler: simplify DCM constructor
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2021-04-14 15:40:24 -04:00
Daniel Agar
3679f7fd51
add double precision alias declarations and remove typedefs
2021-02-11 12:40:54 -05:00
Julian Kent
977cf52322
Ignore debug line in code coverage
2021-01-22 17:30:00 +01:00
Julian Kent
4837316f9b
Fix small inconsistencies and compiler warnings
2021-01-22 17:30:00 +01:00
Julian Kent
d540ca5de2
Coerce default epsilon values to Type
2021-01-13 10:17:09 +01:00
Julian Kent
054f8b12f4
Use a single inverse implementation for a single matrix size
2021-01-05 09:02:09 +01:00
Julian Kent
15e54ceda1
Rework rank-detection tolerance in pseudoinverse
2020-12-18 12:07:19 +01:00
Julian Kent
d9a5e3dec2
Add test for new cutoff threshold
2020-12-18 12:07:19 +01:00
JacobCrabill
ea43303c1c
test/vector3: Add test for scalar +/- operators
2020-12-17 18:05:46 +01:00
JacobCrabill
158409abce
Vector3f: Add operator+/- for scalars
2020-12-17 18:05:46 +01:00
Mitchell-Lee-93
a504b6e881
precision of tol for float has been changed
2020-11-04 10:00:55 +01:00
Julian Oes
ce6b10b99a
Fix clang-tidy warnings
...
This comes from PX4 CI.
2020-08-27 17:42:42 +02:00
Kamil Ritz
13f092a30f
sparse quadratic form
2020-08-26 19:45:05 +02:00
Julian Oes
3a5bfb2bd1
matrix: inline to prevent multiple definitions ( #147 )
...
Without inline we get multiple definitions during linking.
2020-08-25 12:58:04 +02:00
Julian Oes
e101edc0e7
Matrix: fix warning if M == N ( #146 )
...
This fixes the warning appearing with GCC 10.2:
../../src/lib/matrix/matrix/Matrix.hpp:481:34: error: logical ‘and’ of equal expressions [-Werror=logical-op]
481 | for (size_t i = 0; i < M && i < N; i++) {
|
I would prefered something with if constexpr but we don't have that yet
in because we're using C++14.
2020-08-24 14:19:43 +02:00
Morten Fyhn Amundsen
cd8ad1584c
Make wrap() work with integer types ( #145 )
...
* Make wrap() work with integers
2020-08-24 10:49:12 +02:00
kamilritz
25c0455348
comply with Firmware style requirements
2020-08-10 10:13:40 +02:00
kritz
f981cea2ae
add possibility to iterate over SparseVector data at runtime ( #143 )
2020-08-09 09:44:49 +02:00
kamilritz
e714a28c83
use size_t instead of int in sparseVector
2020-08-07 19:45:02 +02:00
kritz
18699416b0
SparseVector ( #140 )
...
* Add SparseVector
temp
* Add gtest
* Some reworking of the sparse concept
* Change type of M from int to size_t
* Add const modifier
* Add needed declaration for accessing elements of _indices
* Add norm_squared, norm, longerThan
* Add test for all sparse vector functions
* Add missing const to slice's norm_squared, norm and longerThan
* Construction from Vector<M> and carray[N]
* try to fix ci
Co-authored-by: Julian Kent <julian@auterion.com >
2020-08-07 18:44:48 +02:00
kamilritz
6ed5dbc2db
Construct Vector from Slice<1,M> alias row()
2020-08-06 16:15:05 +02:00
Matthias Grob
a126be0882
attitude test: refactoring to avoid identity quaternion confusion
2020-07-20 18:44:08 +02:00
Matthias Grob
572bafb01f
Quaternion: use template type for division by two
2020-07-20 18:44:08 +02:00
Matthias Grob
242b38ee9e
Quaternion: remove deprecated axis_angle conversions
2020-07-20 18:44:08 +02:00
Matthias Grob
7a3009f7a3
Remove asserts for unsigned integer >= 0
...
GCC 10 gives a warning
"comparison of unsigned expression in ‘>= 0’ is always true"
for these asserts since checking if an unsigned integer cannot
be negative and hence the statement gets droped.
2020-07-20 15:10:49 +02:00
Matthias Grob
0fd99c59f1
Switch operator() to return a const reference
2020-07-17 10:43:34 +02:00
kamilritz
8a59b463f2
Quaternion: Use template type instead of single hardcoded type
2020-07-17 10:37:18 +02:00
Julian Kent
9a30828a0a
Add explicit matrix + scalar test
2020-06-30 10:37:10 -04:00
Julian Kent
f3cf615023
Do += -= and scalar *= /= in place
2020-06-30 10:37:10 -04:00
kamilritz
f529358e9a
Add missing const modifier
2020-06-28 14:24:49 +02:00
kamilritz
674bd99f3b
Add operator* and operator/ for slice with type
2020-06-12 11:34:09 +02:00
Nicolas MARTIN
38b3acce96
fix conjugate_inversed comment
2020-06-11 16:17:28 +02:00
Matthias Grob
2bee0d078c
Quaternion: refactor multiplication to matrix multiplication style
...
Most often the multiplication in convention descriptions and papers is
described in matrix multiplication style like this:
q · p := Q(q)p
Q(q) :=
[q0 −q1 −q2 −q3]
[q1 q0 −q3 q2]
[q2 q3 q0 −q1]
[q3 −q2 q1 q0]
I'm just rearanging the terms such that it's easily comparable with
these definitions additional to it being clearly described by
documenting we use the hamilton convention.
2020-05-06 13:17:02 +02:00
kamilritz
d613055462
Add more assignment operators for slices
2020-04-07 09:12:17 +02:00
Matthias Grob
976ada411b
Matrix: min max comments and test style
2020-03-23 09:46:07 +01:00
Matthias Grob
fa7153ecfb
Matrix: omit min max nan case with same result
...
I observed this during review in
https://github.com/PX4/Matrix/pull/105/files#r348386226
2020-03-23 09:46:07 +01:00
Matthias Grob
a32892926c
Matrix: capture stdout for print() test
...
I want to switch the print() function back to use printf()
such that it's fully compatible with all (embedded) platforms.
To still test the print function I'm capturing stdout into a file
such that the print() function can stay unchanged and the result of
the printf()s can be evaluated.
2020-03-12 13:24:08 +01:00
Matthias Grob
c6db357c92
Matrix: correct print buffer size prediction
...
Apparently printf of %8.8g can result in
8 significant digits + dot + scientific notation e.g. "e+12" = 14 bytes
2020-03-12 10:08:04 +01:00
Matthias Grob
2cca35c8fe
AxisAngle: call q.imag().norm() for conversion
...
This is important depending on the platform because norm()
calls matrix::squrt() which dispatches correctly to the implementation
for the used type. Otherwise float squrt()s can get calculated as
double.
2020-03-12 07:35:44 +01:00
kritz
4873dc1c1e
Analytic inverse implementation ( #122 )
...
* Add analytic 2x2 matrix inverse
* Add analytical 3x3 matrix inverse
2020-03-04 09:14:04 +01:00
Julian Kent
649c837b6b
Use faster but less accurate average
2020-02-25 15:08:17 +01:00
kamilritz
a37b91c96a
Type cast remaining integer
2020-01-13 12:21:18 +01:00
Lorenz Meier
3b581fb599
Update .travis.yml
...
Bring Ubuntu and Mac OS toolchains to latest.
2020-01-01 15:53:50 +01:00
Lorenz Meier
efa5580a67
Update CMakeLists.txt
...
Remove non-compatible compile option.
2020-01-01 15:53:50 +01:00
Lorenz Meier
20a9e91d44
Fix CMake configuration for coverage tests on Mac OS
2019-12-31 15:54:51 +01:00
kritz
d18be0d0fa
Fix AngleAxis constructors ( #117 )
2019-12-28 17:18:15 -05:00
kritz
e81483a808
Catch quaternion canonical corner cases ( #116 )
2019-12-18 14:12:47 +01:00
kritz
4f3565da94
Add asserts ( #115 )
...
* Add asserts
* Type cast literals
* asserts for indexing vectors
* include assert
* Fix accessing elements outside of slice
2019-12-09 10:21:27 +01:00
kritz
2f6398168d
Add several functions that are useful for coavriance matrices: ( #114 )
...
* uncorrelateCovariance
* uncorrelateCovarianceSetVariance
* makeBlockSymmetric
* makeRowColSymmetric
* isBlockSymmetric
* isRowColSymmetric
2019-12-06 12:03:26 +01:00
kritz
5cbcf6035a
Set Matrix's col amd row to single value ( #113 )
2019-12-05 18:16:14 +01:00
kritz
ef442fab92
Getter function for the diag elements of slice ( #112 )
2019-12-05 11:39:21 +01:00
kritz
de6a2d31ff
Slice assign value ( #111 )
...
* Assign value to slice
* Readme for formatting
2019-12-04 14:33:33 +01:00
Daniel Agar
a8009a36a3
Quaternion multiply inline return
2019-11-29 14:40:11 -05:00
Daniel Agar
dba84236cb
Vector3f cross product directly return result ( #109 )
2019-11-28 10:36:13 +01:00
Matthias Grob
de85dcff97
Vector: switch read only functions to const ( #108 )
2019-11-26 13:46:45 +01:00
Julien Lecoeur
a172c3cdac
Add implementation of pseudo-inverse ( #102 )
...
* Fix compilation error
* Add implementation of pseudo-inverse
The implementation is based on this publication:
Courrieu, P. (2008). Fast Computation of Moore-Penrose Inverse Matrices, 8(2), 25–29. http://arxiv.org/abs/0804.4809
It is a fully templated implementation to guaranty type correctness.
* Add tests for pseudoinverse
* Apply suggestions from code review
Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com >
* Adapt fullRankCholesky tolerance to type
* Add pseudoinverse test with effectiveness matrix
* Fix coverage
* Fix rebase issue
* Fix SquareMatrix test, add null Matrix test
2019-11-18 14:36:30 -08:00
Daniel Agar
cd185c995b
add braces around statements and cleanup formatting ( #107 )
2019-11-13 10:41:38 -08:00
kritz
38e966cea1
Add min, max, constrain function for Matrix ( #105 )
...
* Add min, max, constrain function for Matrix
* Set individual elements to nan in constrain
* Deal with NANs
2019-11-12 18:57:12 +01:00
kritz
93d42947b6
Add test for setting Quaternion to Identity ( #104 )
2019-11-08 17:27:33 +01:00
Julian Kent
9f46483951
Fix GCC-4.8 bug
2019-11-04 11:11:30 -05:00
Julian Kent
445f58d484
Fix weird C preprocessor conflicts ( #101 )
2019-11-01 14:23:35 +01:00
Julian Kent
215203fc6f
Automatic Differentiation 'Dual' Type ( #100 )
...
* Dual numbers initial implementation
* Add test coverage, with partial derivative example
* Add Jacobian test, fix small issues
* Improve test to demonstrate non-square jacobian
* Better naming for collectReals/Derivatives
* Improve comments
* Potential GCC 4.8 bug workaround
* Add fallback workaround for non-IEEE float platforms
2019-10-23 12:07:51 +02:00
Julian Kent
92d1c8761e
More features: longerThan, norm, copyTo and slice on a Slice ( #97 )
...
* Allow slices of slices, add longerThan to Vector/Slice
2019-10-03 13:47:36 +02:00
Matthias Grob
740324cf1e
Make all array constructors explicit ( #99 )
...
* Make all array constructors explicit
to avoid accidental implicit casts like e.g.
Vector3f v = 0;
assigning nullpointer content.
2019-10-03 13:38:51 +02:00
Julian Kent
7b34c1c51d
Enable branch coverage
2019-10-03 08:32:05 +02:00
Matthias Grob
973999a4d3
Fix some template type conversions and style
2019-09-23 10:59:12 +02:00
Matthias Grob
c34e8dc98f
helper: consider matrices with the same NANs and INFINITYs equal
...
to simplify bulk checks when these values are expected
2019-09-18 09:59:50 +02:00
Matthias Grob
bbaa93880b
helper: consider NAN equal to NAN such that vectors can be compared exactly
2019-09-18 09:59:50 +02:00
Matthias Grob
33a629105c
Matrix: add proper print function testing
...
Before the print function was just implicitly called somewhere
and that's why we had 100% line coverage. With this we have actual
testing of the functions.
2019-09-18 09:59:50 +02:00
Matthias Grob
b0b7d7229a
Multiplication test: fix division resulting in NAN
2019-09-18 09:59:50 +02:00
Matthias Grob
3747232724
LeastSquaresSolver: Fix nasty GCC compile optimization error
...
The original implementation with no wrapping on size_t is more readable
but the compiler errors with:
internal compiler error: in trunc_int_for_mode, at explow.c:55
I read up and it's apparently a loop optimization problem.
Inspired by https://stackoverflow.com/a/27224697/6326048
I used a far less readable implementation that works fine and
wrote a comment to explain it.
2019-09-18 09:59:50 +02:00
Matthias Grob
5844b0e46e
Implement one float equality check and use it everywhere
2019-09-18 09:59:50 +02:00
Matthias Grob
1e80807e8e
test: Add uncovered equality checks with NAN and INFINITE
2019-09-18 09:59:50 +02:00
Matthias Grob
a374f37a54
Include helper_functions like all other library components
2019-09-18 09:59:50 +02:00
James Goppert
60c9c99dcc
Fix type for division.
2019-09-17 11:08:00 -04:00
Julian Kent
b4714e2ed2
Don't lose array sizes in copyTo
2019-09-17 15:09:12 +02:00
Julian Kent
51d2f9f0dc
Remove direct access to internal data
2019-09-16 21:58:32 -04:00
Julian Kent
18218c8f9c
Test non-square matrix multiplication ( #91 )
...
* Test non-square matrix multiplication
2019-09-16 17:40:25 +02:00
Julian Kent
b817e8677d
Add helpers based on Slice: row(), col(), xy()
2019-09-16 16:11:08 +02:00
Julian Kent
82d565f4d9
Add support for Slice to Matrix, SquareMatrix, Vector
2019-09-16 16:11:08 +02:00
Julian Kent
af1378cc55
Add Slice class
2019-09-16 16:11:08 +02:00
Julian Kent
15865b741c
Help compiler with name resolution to avoid overload mixups
2019-09-09 11:18:57 -07:00
Julian Kent
03ffd696a6
Replace pow with sqrt
2019-09-09 02:18:10 -07:00
Julian Kent
22bf63cb71
A smaller codesize wrap, since it gets inlined in many places
2019-09-05 22:31:13 +02:00
Matthias Grob
74ace7d1d5
helper test: cover wrap close to limits cases ( #84 )
2019-09-05 18:02:33 +02:00
Tanja Baumann
26fd962cbe
fix bug in matrix wrap function ( #83 )
2019-09-05 11:21:41 +02:00
Julian Kent
4a4309327a
better API comment
...
Co-Authored-By: Julian Oes <julian@oes.ch >
2019-09-05 10:19:47 +02:00
Matthias Grob
31450c407c
Matrix: use existing print() if isEqual test fails
2019-09-05 10:19:47 +02:00
Matthias Grob
938274fce5
helper test: add extensive wrap tests
2019-09-05 10:19:47 +02:00
Matthias Grob
315010bae1
helper_functions: generalize wrap function to any range
2019-09-05 10:19:47 +02:00
Matthias Grob
007c7c58c4
fix math defines to have M_PI and M_TWOPI
2019-09-05 10:19:47 +02:00
Martina Rivizzigno
cc084e0791
matrix: add method to check all values are nan ( #82 )
2019-08-26 19:27:58 +02:00
kritz
84b3da227c
Canonical Quaternion with tests ( #81 )
2019-08-22 15:05:14 +02:00
Matthias Grob
56b069956d
slice test: fix trailing whitespace style
2019-03-08 20:20:08 +01:00
Oskar Weigl
5ccfa74c72
Fix const error
2019-03-08 19:17:40 +00:00
Oskar Weigl
eea6b59973
Implement slice as copy loop
2019-03-08 19:17:40 +00:00
Oskar Weigl
93375fbd3c
Fix copy-paste error
2019-03-08 19:17:40 +00:00
Oskar Weigl
5872bbc28c
Add slicing tests that are not pure row slicing
...
I had a look at the implementation of `slice`, and I found it odd that it doesn't have a copy loop. The current implementation does a raw memcpy of the underlying contiguous row-major data. As far as I can tell, this could only slice along rows. Interestingly, I found that the tests only tested for slicing along rows, so this bug would go unnoticed.
I added some tests that checks slicing along columns also. I have a feeling this would break, and we need to fix the implementation of `slice`. However I could be wrong, and hence I'm submitting these tests first to verify.
2019-03-08 19:17:40 +00:00
TSC21
ec436d5aee
define FLT_EPSILON; be descriptive about upper_right_triangle() method
2019-02-24 17:14:05 +00:00
TSC21
7355a29a2a
tests: use __FLT_EPSILON__ in comparisons
2019-02-24 17:14:05 +00:00
TSC21
7ab2b24e65
tests: urt: refactor
2019-02-24 17:14:05 +00:00
TSC21
4aab44fe01
Travis CI: update MacOS version to use
2019-02-24 17:14:05 +00:00
TSC21
707967d117
add test to .urt()
2019-02-24 17:14:05 +00:00
TSC21
210c76c04b
add test to setNaN()
2019-02-24 17:14:05 +00:00
TSC21
96cb9ab146
add NaN value set for Matrix; add return of URT of a matrix
2019-02-24 17:14:05 +00:00
Daniel Agar
6b0777d815
stdlib_imports cinttypes currently unavailable in NuttX toolchain ( #79 )
2019-01-21 09:12:36 -05:00
Matthias Grob
18fba8221c
quaternion: improve comments
2018-12-16 20:16:38 +01:00
Matthias Grob
a4f39c0f89
quaternion: reuse existing dot product
2018-12-16 20:16:38 +01:00
Matthias Grob
9c0acfba36
Matrix: remove unsafe copyToRaw method
...
It used a pointer and could therefore not do correct type checking
for index out of bound or struct memebr order.
Has to be considered unsafe and bad practise.
We should switch to arrays as representation for vectors
inside the messages instead of foo_x, foo_y, foo_z fields.
2018-11-20 16:39:44 +00:00
Beat Küng
0d3bff5e00
Vector2: add explicit constructor for Vector3
...
Initialize from the first 2 elements.
2018-10-01 10:17:16 +02:00
Beat Küng
807472bfd7
README: document how to run tests
2018-10-01 10:17:16 +02:00
Bart Slinger
30d5a79432
testing float/double with Type template
2018-09-18 09:39:17 +02:00
Bart Slinger
707e288019
explicit casting
2018-09-18 09:39:17 +02:00
Bart Slinger
480c5f1f8e
static assert M>=N. floats to Type, arguments as const reference
2018-09-18 09:39:17 +02:00
Bart Slinger
7495794386
test zero divisions
2018-09-18 09:39:17 +02:00
Bart Slinger
3f2d3cf58d
fix a div/0 condition
2018-09-18 09:39:17 +02:00
Bart Slinger
983a3f0212
use Matrix and Vector class for A and tau
2018-09-18 09:39:17 +02:00
Bart Slinger
98b8e2d43b
formatting
2018-09-18 09:39:17 +02:00
Bart Slinger
0009328257
least squares solver for MxN matrices using QR householder algorithm
2018-09-18 09:39:17 +02:00
Daniel Agar
dc3af80977
constructors use array size rather than pointers
2018-08-31 08:11:02 +02:00
Daniel Agar
f1bee775a0
use default constructors and skip unnecessary initialization
2018-08-31 08:11:02 +02:00
Daniel Agar
1bcf48bd82
Quaternion from_dcm don't pass by value
2018-08-30 12:07:48 -04:00
Roman Bapst
b815fc97c4
replace quiet_NaN() with INFINITY ( #70 )
...
- solves undefined symbols for QURT
Signed-off-by: Roman <bapstroman@gmail.com >
2018-06-12 12:24:51 -04:00
Daniel Agar
03a3e3ad46
helper_functions add wrap_2pi
2018-06-10 10:56:45 +02:00
Daniel Agar
abc8f82d49
travis-ci add codecov.io ( #69 )
2018-06-09 21:08:56 -04:00
Daniel Agar
21d47424c6
Quaternion mark const helpers const
2018-04-01 17:02:20 -04:00
James Goppert
e7c95fa027
Fix README/cmake format.
2018-03-28 00:11:03 -04:00
James Goppert
d142ac234c
Fix coverage and bug in matrix equal test.
2018-03-28 00:09:01 -04:00
Daniel Agar
50446a55c8
Matrix add == and != operators
2018-03-27 15:05:22 -04:00
Daniel Agar
61af508755
helper_functions include required px4_defines header
2018-03-19 02:24:38 -04:00
Daniel Agar
41a1cc7583
LICENSE minor changes to template
2017-12-05 10:56:04 -05:00
Matthias Grob
f835d39017
Quaternion/Vector: Small refactor for review: put more comments, switched type conversions, took out default destination vector because confusing
2017-12-04 15:34:13 +01:00
Matthias Grob
af2610ec04
Test: added check for quaternion vector to vector rotation constructor
...
including all the parallel vector corner cases
2017-12-04 15:34:13 +01:00
Matthias Grob
84cd7483ae
Quaternion: added constructor which generates the shortest rotation that maps one vector to another
...
including tedious corner case handling for parallel vectors with 180 degree rotations
2017-12-04 15:34:13 +01:00
Matthias Grob
d513c94f85
Test: added check for Vector.norm_squared()
2017-12-04 15:34:13 +01:00
Matthias Grob
5130da206a
Vector: added norm_squared() because sometimes you can safe the sqrt operation
2017-12-04 15:34:13 +01:00
Matthias Grob
41ad2bdea5
Matrix: added copyToRaw method to allow copying to a pointer
...
because most uORB messages still contain all components of a vector one by one after each other
2017-11-17 09:30:56 +01:00
Matthias Grob
308a6c91cb
Test: added copyTo tests for Vector3, Quaternion and Matrix including clolumn-major order
2017-11-16 04:42:54 +01:00
Matthias Grob
1dffd5930b
Matrix: add copyTo copying data to an array and copyToColumnMajor which does the same but with column-major order
...
same functionality explicitly for quaternions can be deleted
2017-11-16 04:42:54 +01:00
Matthias Grob
3bd94fcd6f
Test vector: structured & commented, added normalize and unit_or_zero tests, removed duplicate data preparation
2017-11-06 17:58:52 +01:00
Matthias Grob
9e59691e43
Vector: Additional normalization with check for zero norm because it occurs so many times in applications
2017-11-06 17:58:52 +01:00
Matthias Grob
f4243160e2
Quaternion: changed comments because of typos and unclear inconsistent indexing
2017-10-17 17:37:23 +02:00
Matthias Grob
d259ab2108
Test: add Quaternion rotate() test that catches non-commutating rotations
2017-10-17 17:37:23 +02:00
Matthias Grob
ee2219b836
Quaternion: replace conversion in rotate() with AxisAngle call
2017-10-17 17:37:23 +02:00
Matthias Grob
b241cf5c95
Quaternion: Adjusted rotate() to the Hamilton convention (which we switched to)
...
Note: This error was not caught by a test because the test included only trivial cases which do not explore non-commuting quaternions.
2017-10-17 17:37:23 +02:00
Matthias Grob
6b1fea76d0
Quaternion: added and adjusted comments to further explain conjugation and derivative functionality
2017-10-17 17:37:23 +02:00
Matthias Grob
0527471a52
Matrix: adjust buffer size calculation to account for additional characters
...
Note: If the buffer is too small there's no memory corruption because of the snprintf limit but part of the output gets missing.
2017-10-17 17:37:23 +02:00
Matthias Grob
0a772f59dd
Quaternion: added direct efficient body z-axis calculation with test
2017-09-26 11:20:56 +02:00
Matthias Grob
976461eb0f
Dcm: more efficient conversion from quaternion, extend reuse of multiplications
2017-09-26 11:20:56 +02:00
Matthias Grob
baf54ad29f
quaternion: correcting comments
...
^(-1) went missing and some phrase was inprecise
2017-09-25 12:18:10 +01:00
James Goppert
e595ebb9a7
Switch to Hamilton quaternions and add Cholesky decomposition.
2017-08-31 11:09:20 +02:00
Nate Weibley
471e96ff6f
Provide const dataptr access
2017-03-23 20:22:45 -07:00
Nate Weibley
2ad3ec46b9
Mark simple min, max, abs methods as const
2017-03-23 20:22:45 -07:00
Nate Weibley
66e1b406b8
Remove artifical need to virtualize dtors
2017-03-23 20:22:45 -07:00
Pavel Kirienko
499b897e5f
Style fix
2017-03-17 12:18:39 -04:00
Pavel Kirienko
99b44c0242
NuttX math lib workaround
2017-03-17 12:18:39 -04:00
Pavel Kirienko
8dbe4a7531
NuttX workaround
2017-03-17 12:18:39 -04:00
Pavel Kirienko
23def31d21
Fixed stdlib imports
2017-03-17 12:18:39 -04:00
Pavel Kirienko
e09cf12e2e
Removed all uses of C library from tests
2017-03-17 12:18:39 -04:00
Pavel Kirienko
9ebf5f89db
Removed all use of C library from the matrix namespace
2017-03-17 12:18:39 -04:00
Pavel Kirienko
552dad40a1
Fixed inclusions in matrix/
2017-03-17 12:18:39 -04:00
Pavel Kirienko
b74749fb61
Un-poisoned fabs
2017-03-17 12:18:39 -04:00
Pavel Kirienko
8af7b8c130
Poisoned the C library identifiers
2017-03-17 12:18:39 -04:00
Daniel Agar
cf924956d7
test vector3 using matrix::isEqual
2017-02-24 20:47:41 -05:00
Daniel Agar
d81ddb0f37
travis-ci only check formatting once
2017-02-24 20:47:41 -05:00
Daniel Agar
de3517a5c7
cmake add asan and ubsan
2017-02-24 20:47:41 -05:00
Daniel Agar
cfa68c2196
clang-tidy trivial cleanup
2017-02-24 20:47:41 -05:00
Daniel Agar
5f2f6f0308
rename cmake "Profile" to "Coverage" and add builds
2017-02-24 20:47:41 -05:00
Daniel Agar
fb87165051
cmake add check
2017-02-24 20:47:41 -05:00
Daniel Agar
f00edc9442
update to astyle 2.06 and fix formatting
2017-02-24 20:47:41 -05:00
Daniel Agar
68c7cc5bfd
Quaternion add copyTo
2017-02-24 20:47:41 -05:00
Daniel Agar
e2211c5867
QuRT use __builtin_isfinite
2017-02-15 19:30:19 -05:00
Lorenz Meier
2283e6946a
Matrix inversion: Ensure that null check is done against the same type
2017-02-04 10:42:10 +01:00
James Goppert
843be9418b
Rename isfinite to is_finite to avoid name conflicts.
2017-02-03 18:15:43 -05:00
James Goppert
63aea23f9e
Add cholesky decomp, Closes #30 , and dynamic print buf
2017-02-03 17:54:16 -05:00
James Goppert
a154e14439
Fix coverage for inverse.
2017-02-03 17:24:15 -05:00
James Goppert
db6dfeafbe
Add helper_functions include for inverse and in general header
2017-02-03 16:56:33 -05:00
James Goppert
230e84702a
Fix unit test, create matrix isfinite.
2017-02-03 16:25:55 -05:00
Siddharth Bharat Purohit
7e3eff7b2d
remove unnecessary duplicate matrices from inverse
2017-02-03 16:12:17 -05:00
Matthias Grob
47c0a93140
Quaternion: added tests for the corner cases of Dcm to quaternion conversion
2016-12-14 18:25:06 +01:00
Matthias Grob
2f4427a923
Quaternion: Implemented the largest pivot element method for conversion from Dcm to Quaternion to avoid numerical problems
2016-12-14 17:55:05 +01:00
Matthias Grob
bb1a321639
Changed Dcm to inherit from SquareMatrix because it is square and we can use the trace method
2016-12-14 17:42:45 +01:00
James Goppert
7eff04742c
Fix for zero check on quat from dcm ctor.
2016-12-13 10:21:55 -05:00
James Goppert
74a120f554
Handle some divide by zero edge cases on init.
2016-11-30 01:27:48 -05:00
James Goppert
945edbc58c
Ensure direction is always defined for axis angle.
2016-11-30 00:40:55 -05:00
James Goppert
8a94f0f8ac
Fix axis angle fabsf usage.
2016-11-28 10:43:29 -05:00
James Goppert
bf69be7f17
Fix formatting.
2016-11-22 10:07:08 -05:00
James Goppert
f3e478cbff
Fix matrix inverse pivotting logic.
2016-11-22 10:04:45 -05:00
James Goppert
34fccdd680
add renormalize method ( #32 )
2016-11-02 12:10:30 -04:00
James Goppert
db4374882b
Fix attitude tests.
2016-08-18 16:54:43 -04:00
James Goppert
3aeb099249
Revert "Use Hamilton quaternion definition."
...
This reverts commit 19554c4470 .
2016-08-18 16:51:00 -04:00
James Goppert
4653626d92
Format.
2016-08-16 19:04:23 -04:00
James Goppert
0eb8aa0c0b
Support more of mathlib function for easier swap in px4.
2016-08-16 19:03:54 -04:00
James Goppert
558777f34c
Fix formatting.
2016-08-16 12:43:42 -04:00
James Goppert
262a715d90
Fix some when building in px4.
2016-08-16 12:37:41 -04:00
James Goppert
4be23552c5
Bump version.
2016-08-16 12:13:26 -04:00
James Goppert
9af58f7e08
Coverage fix.
2016-08-16 12:00:37 -04:00
James Goppert
6197515a51
Fix shadow warnings.
2016-08-16 11:50:46 -04:00
James Goppert
f02fb37265
Add Testing to git ignore.
2016-08-16 11:40:14 -04:00
James Goppert
37b00b0880
Added check or consistency of dcm and quaternion product.
2016-08-16 11:37:45 -04:00
James Goppert
1a87564b85
Added dcm quat prod consistency check.
2016-08-16 11:33:56 -04:00
James Goppert
4f13809420
Added axis angle accessors, removed == operator.
2016-08-16 11:05:01 -04:00
James Goppert
19554c4470
Use Hamilton quaternion definition.
2016-08-16 03:59:06 -04:00
James Goppert
e6a6b4680c
Use quaternion multiplaction for quaternion derivative.
2016-08-16 01:03:23 -04:00
James Goppert
c563c41cd4
Fix cmake version.
2016-07-06 01:56:24 -04:00
James Goppert
cbb7e06a1f
Replace float with Type in kalman.
2016-07-06 01:39:06 -04:00
James Goppert
9353e4cb64
Fix bugs in axis angle.
2016-07-06 01:37:50 -04:00
James Goppert
7b7297b674
Fix for ctor comments on axis angle.
2016-07-05 21:30:22 -04:00
James Goppert
fdf00d163c
Small fix to README.
2016-07-05 21:27:42 -04:00
James Goppert
0b1bed6b00
Added deprecation warnings in source code.
2016-07-05 21:16:17 -04:00
James Goppert
b78e124b73
Fix for README.
2016-07-05 21:08:12 -04:00
James Goppert
298e037f3a
Added AxisAngle to README.
2016-07-05 21:06:48 -04:00
James Goppert
0f41af271a
Added axis angle attitude representation. ( #25 )
2016-07-05 20:59:42 -04:00
James Goppert
3320d57f63
Fix format.sh user message.
2016-07-05 17:13:41 -04:00
Beat Küng
42eadb2656
format.sh: better inform the user what to do on style issues ( #24 )
2016-07-05 17:09:25 -04:00
Beat Küng
b1f76782f6
Euler, Quaternion: fix compiler errors for GCC 6.1.1 ( #23 )
...
* Euler, Quaternion: fix compiler errors for GCC 6.1.1
GCC output:
error: implicit conversion from ‘float’ to ‘double’ to match other operand
of binary expression [-Werror=double-promotion]
* astyle: fix formatting for Euler.hpp & Quaternion.hpp
2016-07-05 17:00:35 -04:00
Roman Bapst
3c87ae78ff
added two more examples to the README
2016-05-25 15:24:35 +02:00
Roman
eeb595d1db
applied formatting
2016-05-17 08:27:35 +02:00
Roman
f4e2b21608
- better description for quaternion class
...
- revert conversion functions to constructor
2016-05-16 09:21:44 +02:00
Andreas Bircher
81eacb0cfa
removing body and intertial frame expressions and establishing consistency
2016-05-15 18:42:21 +02:00
Roman
4a405e7f60
make it clear that we are using right hand rotation convention
2016-05-15 18:42:21 +02:00
Roman
10c1b49bde
fix typo
2016-05-15 18:42:21 +02:00
Roman
1033e145a5
fix some typos and better explanation of quaternion ordering
2016-05-15 18:42:21 +02:00
Roman
2b3bdb523d
better description for quaternion class
2016-05-15 18:42:21 +02:00
Roman
3152d3d6cf
better function descriptions for rotation classes:
...
- do not talk specifically about body or earth frame, just use frame 1 and frame 2
2016-05-15 18:42:21 +02:00
Andreas Bircher
e3a1d67444
adding detailed comments on rotation classes
2016-05-15 18:42:21 +02:00
Andreas Bircher
af2e6d952e
correcting comments
2016-05-15 18:42:21 +02:00
Andreas Bircher
34e6e2a941
refactoring rotation classes and adding initial description
2016-05-15 18:42:21 +02:00
jaredkw
3509329f30
Define M_PI float, change logical and to &&
2016-05-11 18:35:05 -04:00
James Goppert
4d33092bcb
Removed lcov testing from travis.
2016-05-09 12:19:26 -04:00
James Goppert
dd8ff8db12
Made coverage html output optional.
2016-05-09 12:13:00 -04:00
James Goppert
061609322a
Added command line output for coverage.
2016-05-09 12:01:20 -04:00
James Goppert
32ad3989f2
Fix lcov install on travis.
2016-05-09 11:55:45 -04:00
James Goppert
f4902fafb9
Added lcov package for coverage test.
2016-05-09 11:53:18 -04:00
James Goppert
155202f6b0
Found a few coverage gaps with local coverage testing.
2016-05-09 11:49:45 -04:00
James Goppert
6efa3c1cb5
Added make coverage to travis.
2016-05-09 11:34:26 -04:00
James Goppert
3f77991388
Merge branch 'MaEtUgR-maetugr-fix2'
2016-05-09 11:24:55 -04:00
James Goppert
8b7eae3b4a
Merge branch 'maetugr-fix2' of https://github.com/MaEtUgR/Matrix into MaEtUgR-maetugr-fix2
2016-05-09 11:24:28 -04:00
James Goppert
bd8420fcf6
Added example of assignment to already created object.
2016-05-09 11:12:06 -04:00
MaEtUgR
b2eb4d13d8
Matrix.setCol off by one bug fixed
...
The Column Vector you are copying from, only has one Column and it is indexed by 0 not 1.
I also completed the unit test stub that would have found this bug.
2016-05-05 13:18:51 +02:00
Matthias Grob
65679fbcbb
Features and fixes
...
* added the trace function for a SquareMatrix
* added Vector3.hat() and it's counterpart Dcm.vee()
for skewsymskew symmetric matrix operations in relation to the cross product
see https://en.wikipedia.org/wiki/Hat_operator
* Matrix::write_string produced runtime errors when I used it in PX4 posix simulation, i simplified it
* a Matrix3f is a SquareMatrix
* added tests for SquareMatrix.trace, Vector3.hat and Dcm.vee
* added a test for quaternion initialisation from array
* preventing buffer overflows in Matrix.write_string method
2016-04-28 15:16:36 -04:00
James Goppert
07fba8322a
Fix for effective cpp.
2016-03-18 20:56:41 -04:00
James Goppert
711b57d2d4
Added unit function that returns normalized vector.
2016-03-15 18:09:48 -04:00
James Goppert
0e14e11183
Added support for attitude_estimator_q functions.
2016-03-15 06:35:13 -04:00
James Goppert
6c04605531
Added conversion for scalar to vector.
2016-02-26 06:10:09 -05:00
James Goppert
2d27cd79d3
Added scalar to matrix conversion.
2016-02-26 05:56:21 -05:00
James Goppert
6974f97b1c
Added scalar const conversion operator.
2016-02-26 05:47:24 -05:00
James Goppert
7b969094cb
Fix for scalar type.
2016-02-26 05:33:16 -05:00
James Goppert
3917ef1992
Merge branch 'master' of github.com:PX4/Matrix
2016-02-26 03:39:28 -05:00
James Goppert
15865897d5
Added pow.
2016-02-26 03:39:04 -05:00
James Goppert
dd30028823
Merge pull request #14 from mcsauder/master
...
Matrix index correction to allow non-square matrices to evaluate properly.
2016-02-25 16:36:14 -05:00
mcsauder
46c83a8c18
Correct a few indexing copy/paste errors that likely previously only functioned properly on square matrices.
2016-02-25 18:51:28 -07:00
James Goppert
95e3d7d6ce
Added set function.
2016-02-16 14:54:15 -05:00
James Goppert
5a01e6c939
Added slice function for matrix.
2016-02-16 12:22:08 -05:00
James Goppert
1ae114b3d2
Improved rk4 integration to allow longer time interval than 1 step.
2016-02-16 10:53:12 -05:00
James Goppert
ce30542dba
Fix output for unit test.
2016-01-25 13:54:13 -05:00
James Goppert
1778ac199c
Fixed euler wrapping.
2016-01-25 13:40:51 -05:00
James Goppert
a92d5c1338
Removed unneeded headers.
2016-01-24 02:44:25 -05:00
James Goppert
e639a3612f
Fix typo.
2016-01-24 02:30:54 -05:00
James Goppert
d8e397c010
Merge pull request #10 from PX4/euler_fix
...
fix euler calculation
2016-01-24 01:52:40 -05:00
James Goppert
5aef810e7c
Fixed euler angles.
2016-01-24 01:50:34 -05:00
James Goppert
6e6033a1af
Merge branch 'master' into euler_fix
2016-01-24 00:41:12 -05:00
James Goppert
b98ac75452
Formatting.
2016-01-24 00:39:59 -05:00
James Goppert
ffbe58ca10
Added better roundtrip euler test.
2016-01-24 00:39:21 -05:00
James Goppert
b9bfadb0cc
Fix for travis.
2016-01-24 00:00:22 -05:00
James Goppert
faee66273b
Turned back on testing flag.
2016-01-23 23:58:43 -05:00
James Goppert
20a1f902b1
Merge branch 'master' into euler_fix
...
Conflicts:
.travis.yml
test/attitude.cpp
2016-01-23 23:56:35 -05:00
James Goppert
cc2804d6a6
Merge pull request #13 from PX4/testing
...
Testing
2016-01-23 23:38:13 -05:00
James Goppert
0969b0ae56
Removed uncessary print.
2016-01-23 23:35:44 -05:00
James Goppert
d761bd3721
Fixed formatting. Made traivs more verbose.
2016-01-23 23:33:25 -05:00
James Goppert
38211e1aff
Fix testing mechanism.
2016-01-23 23:26:26 -05:00
Lorenz Meier
6009709986
Merge pull request #11 from PX4/dspal_fix
...
Added dspal_math.h for missing constants
2016-01-21 23:23:41 +01:00
Mark Charlebois
306f0ac25d
Added dspal_math.h for missing constants
...
Signed-off-by: Mark Charlebois <charlebm@gmail.com >
2016-01-21 12:45:07 -08:00
Lorenz Meier
48a3288753
Fix QuRT build
2016-01-18 13:39:46 -08:00
James Goppert
fa31c61f2c
Fix for euler.
2016-01-14 15:24:37 -05:00
Roman Bapst
a22a47fe15
fix euler calculation
...
Conflicts:
matrix/Euler.hpp
2016-01-14 15:51:28 +01:00
Lorenz Meier
1d9d8e6f9b
Use a slight ifdef hack to let things default to C++11 for most platforms
2016-01-12 12:14:53 +01:00
Lorenz Meier
187830164d
Fix cast
2016-01-12 11:50:21 +01:00
James Goppert
67c8c8b331
Cast to float for isfinite.
2016-01-12 01:35:33 -06:00
James Goppert
f1968f51d6
Fixed coverage issues.
2016-01-12 01:28:48 -06:00
James Goppert
a90484362f
Merge pull request #8 from PX4/cast_fix
...
added missing cast
2016-01-12 01:09:56 -06:00
Roman
4034c916c7
added missing cast
2016-01-12 07:51:52 +01:00
James Goppert
cc800454d2
Formatting.
2016-01-11 22:05:34 -06:00
James Goppert
684a6b626d
Merge branch 'quaternion'
...
Conflicts:
test/attitude.cpp
2016-01-11 21:59:28 -06:00
James Goppert
0e48d2596c
Merge pull request #6 from thomasgubler/pr1
...
scalar multiplication; std::cout support
2016-01-11 21:47:51 -06:00
Thomas Gubler
45e6012818
matrix scalar pre multiplication and general scalar multiplication for
...
quaternions
2015-12-26 13:15:39 +01:00
Thomas Gubler
99ac532746
remove unnecessary ;
2015-12-26 12:07:12 +01:00
Thomas Gubler
d999923a35
support for std::cout
2015-12-26 12:07:12 +01:00
Roman
cc1658db15
fixed wrong type conversion
2015-12-22 11:23:18 +01:00
Roman Bapst
c3c6a0a9df
fix euler calculation
2015-12-20 06:06:56 +01:00
Roman
10b395a782
added more quaternion methods
2015-12-19 09:47:03 +01:00
jgoppert
9cd6ac3dd9
Fixed coverage.
2015-11-14 09:04:38 -05:00
jgoppert
dc0eb16880
Fixed integration test.
2015-11-14 09:01:09 -05:00
jgoppert
f2c0669c0d
Changed rk4 to use generic matrix interface.
2015-11-14 08:55:34 -05:00
jgoppert
b9924820e1
Work on kalman filter interface.
2015-11-12 16:41:07 -05:00
jgoppert
0a110a1b02
Fixed integration test.
2015-11-12 15:15:31 -05:00
jgoppert
aa3a086cda
Work on rk4 interface.
2015-11-12 15:13:17 -05:00
jgoppert
7656385ea1
Changed rk4 signature.
2015-11-12 10:19:30 -05:00
jgoppert
606eb1dc2b
Added attitude classes to README.
2015-11-12 10:09:54 -05:00
jgoppert
a334cecfa7
Forced function instantiation for coverage testing.
2015-11-12 10:07:09 -05:00
jgoppert
410bbc4c71
Added more to README.
2015-11-12 09:51:11 -05:00
jgoppert
c29c44b450
Added more testing to instantiate some missing templates.
2015-11-12 09:44:30 -05:00
James Goppert
6a351ac050
Merge pull request #1 from PX4/coverage_filter
...
Changed root dir for coverage.
2015-11-12 01:32:08 -05:00
jgoppert
e724ae4078
Set include dir.
2015-11-12 01:29:47 -05:00
jgoppert
8054180e89
Changed root dir for coverage.
2015-11-12 01:27:27 -05:00
jgoppert
10b89a2594
Switching coverage upload mechanism.
2015-11-12 01:22:40 -05:00
jgoppert
787606b6b8
Formatting.
2015-11-11 23:33:26 -05:00
jgoppert
42f2e60b24
Added runge kutta integration.
2015-11-11 23:31:43 -05:00
jgoppert
2c7a375e3d
Fixed kalman correct test.
2015-11-09 19:58:00 -05:00
jgoppert
e972a0a111
Made kalman filter correction function usable.
2015-11-09 19:55:20 -05:00
jgoppert
222a97e73f
Merge ../Firmware/src/lib/matrix
2015-11-08 12:08:52 -05:00
jgoppert
5c573b075f
Fixes for nuttx.
2015-11-08 12:08:19 -05:00
jgoppert
400a9caa47
Merge ../Firmware/src/lib/matrix
2015-11-07 14:27:41 -05:00
jgoppert
9b995e19f3
Added vector2.
2015-11-07 14:27:12 -05:00
jgoppert
1f72309520
Added some docs.
2015-11-07 12:17:45 -05:00
jgoppert
835cdd2f91
README fix.
2015-11-07 12:03:10 -05:00
jgoppert
3a2c3bdae1
README formatting.
2015-11-07 12:00:21 -05:00
jgoppert
9884a4c423
Improved README.
2015-11-07 11:59:30 -05:00
jgoppert
f621f68fe1
Changed license holder to development team.
2015-11-07 11:55:24 -05:00
jgoppert
ace2751715
Badge fix.
2015-11-07 11:29:08 -05:00
Lorenz Meier
f6e8cdd970
First attempt at enabling coveralls
2015-11-07 17:17:37 +01:00
jgoppert
b9e1ccfe00
Merge branch 'master' of github.com:PX4/Matrix
2015-11-07 11:08:33 -05:00
jgoppert
1fb0f33eb4
Removed old references to matrix.hpp.
2015-11-07 11:08:17 -05:00
Lorenz Meier
4058e32f73
Fix include path
2015-11-07 17:06:07 +01:00
Lorenz Meier
222e42f934
Re-add convenience header
2015-11-07 09:43:28 +01:00
Lorenz Meier
6abd2f782a
Re-add Matrix.hpp
2015-11-07 09:42:33 +01:00
Lorenz Meier
713aee154b
Remove both versions of matrix / Matrix
2015-11-07 09:41:38 +01:00
jgoppert
a2696fcee4
Fix for isfinite.
2015-11-06 21:09:34 -05:00
jgoppert
7abbdcd88f
License fix.
2015-11-05 20:27:03 -05:00
jgoppert
32839006f3
Implemented vector 3 cross product.
2015-11-05 20:22:17 -05:00
jgoppert
5b5cfcfeca
Added more vector ctors.
2015-11-05 19:37:31 -05:00
jgoppert
44768fad35
Added vector data ctor.
2015-11-05 19:32:28 -05:00
jgoppert
cefe7b3e80
Cleaned up header includes.
2015-11-05 19:25:44 -05:00
jgoppert
b06c557a2a
Comment fix.
2015-11-05 18:16:07 -05:00
jgoppert
c70994e6a5
Formatting.
2015-11-05 18:10:06 -05:00
jgoppert
4a6369cee5
More coverage testing.
2015-11-05 18:07:05 -05:00
jgoppert
550108cf1d
More testing.
2015-11-05 17:29:57 -05:00
jgoppert
75399fb15e
Cleanup of printing.
2015-11-05 17:13:03 -05:00
jgoppert
455cb58ebf
New tests.
2015-11-05 17:03:22 -05:00
jgoppert
6ff42b7b31
Added some more vectors tests.
2015-11-05 16:59:59 -05:00
jgoppert
7136e5b7d1
More work on gimbal lock case.
2015-11-05 16:54:19 -05:00
jgoppert
d01e0a1038
Formatting.
2015-11-05 15:44:54 -05:00
jgoppert
00a0b36836
Moved inverse outside of matrix definition.
2015-11-05 15:43:36 -05:00
jgoppert
5566b3dc77
expm testing and fixes.
2015-11-05 15:39:41 -05:00
jgoppert
5517532c90
Fixed coveralls build.
2015-11-05 13:37:14 -05:00
jgoppert
6aa8a72651
Renamed coverage option.
2015-11-05 13:34:49 -05:00
jgoppert
31821a44aa
Fixed formatting script.
2015-11-05 13:33:35 -05:00
jgoppert
9af1604daa
Formatting.
2015-11-05 12:45:53 -05:00
jgoppert
537c683d58
More cleanup.
2015-11-05 12:34:14 -05:00
jgoppert
fd64e7e93a
More testing and cleanup.
2015-11-05 12:28:39 -05:00
jgoppert
9d88b0d573
Fix for gcc 4.6
2015-11-05 11:29:18 -05:00
jgoppert
bb6b375390
Travis fix.
2015-11-05 11:25:47 -05:00
jgoppert
5b0ea675c3
Fixed float in square matrix.
2015-11-05 11:23:54 -05:00
jgoppert
cbe8b4ef6f
Travis fix.
2015-11-05 11:21:48 -05:00
jgoppert
b8dc262582
Formatting.
2015-11-05 11:18:33 -05:00
jgoppert
0062cbcbe2
Added more warnings, and fixed issues.
2015-11-05 11:17:54 -05:00
jgoppert
6ba15eeaa0
Formatting.
2015-11-05 10:51:53 -05:00
jgoppert
7c4b2c590e
Update for travis.
2015-11-05 10:46:22 -05:00
jgoppert
f7b1c63b86
Work on testing.
2015-11-05 10:44:21 -05:00
jgoppert
a703c8169e
Working on formatting.
2015-11-04 23:19:20 -05:00
jgoppert
f23bed6823
Explicity disabled sudo.
2015-11-04 22:54:39 -05:00
jgoppert
3fc5ec9751
Tried apt addon.
2015-11-04 22:53:45 -05:00
jgoppert
04f24310b5
Added astyle install to travis.
2015-11-04 22:51:25 -05:00
jgoppert
b818774f6a
Work on format testing.
2015-11-04 22:48:13 -05:00
jgoppert
eddc55827a
More filter testing.
2015-11-04 20:58:56 -05:00
jgoppert
76cf91c5fd
Work on filter.
2015-11-04 20:56:44 -05:00
jgoppert
52956e360a
Added filtering test.
2015-11-04 20:43:22 -05:00
jgoppert
b2e9e1e3c7
Added kalman filter.
2015-11-04 18:58:29 -05:00
jgoppert
7ec13f6282
Updated pdf.
2015-11-04 12:22:07 -05:00
jgoppert
18f80462b7
Got coverage working for templates.
2015-11-04 12:11:32 -05:00
jgoppert
bf6de4b710
Updated travis.
2015-11-04 11:39:49 -05:00
jgoppert
9e37b99d76
Added local coverage tools.
2015-11-04 11:38:55 -05:00
jgoppert
edc356d0db
Added coverage flag.
2015-11-04 11:02:09 -05:00
jgoppert
4bf4611087
Work on coverage.
2015-11-04 10:54:46 -05:00
jgoppert
abd0ef0143
Removed test files from coverage.
2015-11-04 03:39:35 -05:00
jgoppert
88def6b54e
Made instantiation actual test program.
2015-11-04 03:37:33 -05:00
jgoppert
3477ff2adb
Added coverage to build.
2015-11-04 03:29:01 -05:00
jgoppert
6458c0477e
Working on coverage for templates.
2015-11-04 03:16:41 -05:00
jgoppert
ea66d09a8e
Added coverage source.
2015-11-04 03:11:45 -05:00
jgoppert
9b90f223a4
Updated token.
2015-11-04 02:51:42 -05:00
jgoppert
ce719a0fe2
Added cov sources.
2015-11-04 02:29:07 -05:00
jgoppert
8f0448eb91
Coverage fix.
2015-11-04 01:58:48 -05:00
jgoppert
35edae200f
Badge placement.
2015-11-04 01:54:14 -05:00
jgoppert
edd23778ca
Added coverage.
2015-11-04 01:52:19 -05:00
jgoppert
b1ee027f64
Working on coverage.
2015-11-04 01:50:30 -05:00
jgoppert
12713105b8
Fixed quaternion unit test.
2015-11-04 00:48:59 -05:00
jgoppert
c84e934909
Updated vector class.
2015-11-04 00:37:00 -05:00
jgoppert
89851a85c0
Added badge.
2015-11-03 20:31:47 -05:00
jgoppert
33e0272447
Travis fix.
2015-11-03 20:31:10 -05:00
jgoppert
7470134559
Fixed filename.
2015-11-03 20:29:34 -05:00
jgoppert
ad03429ae9
Added readme.
2015-11-03 20:28:48 -05:00
jgoppert
49035ed6a9
Added mode lines for vi.
2015-11-03 20:26:42 -05:00
jgoppert
b842f8d8a5
Added travis.
2015-11-03 20:17:34 -05:00
jgoppert
5369904d27
Fixed default.
2015-11-03 19:50:09 -05:00
jgoppert
a36ff9f1e5
Formatting and added Scalar.
2015-11-03 19:38:31 -05:00
jgoppert
76e86cf937
Initial commit.
2015-11-03 14:46:54 -05:00