Daniel Agar
a749c787ca
mavlink: param_get proper type to silence errors
2021-11-19 15:55:11 -05:00
Daniel Agar
e997a5f384
param.h type checking more info
2021-11-19 15:51:55 -05:00
Daniel Agar
3f5b7d9e36
mavlink: receiver fix SENS_FLOW_ROT type
2021-11-19 15:51:55 -05:00
Daniel Agar
c2bc77b9b8
[DO NOT MERGE] testing param types
2021-11-19 15:51:55 -05: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
bresch
d03bf42f60
slice: add min and max functions
2021-10-07 09:19:28 -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