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
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