Beat Küng
5ff83ef740
gyro calibration: remove unused scale parameters
2019-11-29 11:28:17 -05:00
Matthias Grob
b8f70e865c
voted_senors_update: remove memset 0 initializations because of zero initializer in header
2019-10-15 10:01:03 -04:00
Dusan Zivkovic
b6f21fa76e
voted_sensors_update: fix style
2019-10-10 10:31:56 +02:00
Dusan Zivkovic
316a188e8e
voted_sensors_update: parameter CAL_*_EN enables sensor with id CAL_*_ID
2019-10-10 10:31:56 +02:00
Dusan Zivkovic
d3e79c4726
voted_sensors_update: set priority properly in case of late mag subscriptions or sensors enabled param changes
2019-10-10 10:31:56 +02:00
Julian Kent
2d4ecab3b0
Remove unsafe access to .data() and _data in Matrix
2019-09-18 22:01:36 -04:00
Daniel Agar
20e6adc4ca
sensors: update orb_publish to uORB::Publication<>
2019-09-02 20:44:03 -04:00
Matthias Grob
161429f8c6
voted_sensors_update: refactor to camelCase function names
2019-08-07 18:44:39 +02:00
Matthias Grob
fe37ee2b7f
voted_sensors_update: refactor out matrix:: because of using namespace
2019-08-07 18:44:39 +02:00
Matthias Grob
45187e1aa8
Improve magnetometer inconsistency check
...
To check directional difference between the magnetometer field vectors
instead of vector component difference.
2019-08-07 18:44:39 +02:00
Daniel Agar
e69398c09f
introduce uORB::PublicationQueued and transition most orb_advertise_queue usage
2019-08-04 10:08:09 -04:00
Burak Saruhan
7789e2de88
sensors: mag reload calibration parameters when first seen ( #12586 )
...
* fixes UAVCAN MAG calibration application after reboot
2019-07-31 15:22:59 -04:00
Daniel Agar
2c63e335e9
uORB::Subscription subscribe directly to uORB device node object
2019-06-03 17:06:21 -04:00
Julian Oes
4dea79b2d6
sensors: prevent double orb_copy of gyro topic
...
By using the uORB::Subscription API we use a separate subscription
rather than `orb_copy` on the existing file descriptor used in
sensors through `px4_poll`.
This fixes a very peculiar problem that we observed in SITL in CI for
fixedwing. The events were as follows:
1. `sensors` does `px4_poll` on the gyro topic (as normal), and gets
the latest sample using `orb_copy`.
2. A parameter update happens when the mag is initialized and triggers
`VotedSensorsUpdate::parameters_update()` where `orb_copy` happens
before the main loop in `sensors` has started a `px4_poll`.
3. `sensors` now does the `px4_poll`, however waits indefinitely because
it has already copied the latest sample.
Also, the `px4_poll` will never time out because in lockstep the
simulator waits for the next actuator control message which it never
gets and therefore it never sends the next sensor message with a new
timestamp to advance the time.
This only happens for fixedwing because there is only one "uORB path"
through the system unlike for multicopter where a gyro sample can get
picked up by either `sensors` or directly `mc_att_control`, so the
system can survive if `sensors` has "drops".
2019-02-18 11:44:07 -05:00
Daniel Agar
3e0a3559a9
cmake use standard mechanisms for settings flags
2018-11-26 14:40:14 -08:00
Daniel Agar
571364c617
delete baro_report (alias for sensor_baro_s)
2018-11-06 07:43:43 +08:00
Daniel Agar
acc24da0c2
delete gyro_report (alias for sensor_gyro_s)
2018-11-06 07:43:43 +08:00
Daniel Agar
2a83a40491
delete accel_report (alias for sensor_accel_s)
2018-11-06 07:43:43 +08:00
CarlOlsson
cd382d8874
voted_sensors_update: fix typo
2018-10-22 09:26:06 -04:00
Bob-F
627ea3b23e
update according to pull request review comments
2018-08-06 13:32:36 +02:00
Bob-F
2ece14bad1
Port PX4 to BeagleBone Blue Board using library librobotcontrol instead of a submodule
2018-08-06 13:32:36 +02:00
Julian Oes
80cac6561f
sensors: no temperature compensation in HITL
...
Temperature compensation is not supported in HITL. Therefore, don't try
and fail. This basically removes the confusing error message that we get
in HITL.
2018-07-24 18:56:36 +02:00
Beat Küng
c166ea9ed5
sensors: fix potential busy loop when a gyro driver is stopped
...
When a gyro driver is stopped, the topic is unadvertised and
orb_group_count() returns a smaller count. This can have the effect, that
we poll on a certain gyro fd, but since _gyro.subscription_count is reduced
we never do the orb_copy for that fd.
This cannot happen when armed. And only someone playing with the shell
can trigger it (sensor failures do not have that effect).
2018-07-18 08:10:13 +02:00
Beat Küng
891a09f488
sensors: make sure to do an orb_copy, even if a gyro is disabled
...
This makes sure that poll() never returns immediately.
accel & mag are only updated to keep the code in sync.
2018-07-18 08:10:13 +02:00
Daniel Agar
9ce83f2208
fix all sign-compare warnings
2018-07-01 09:36:55 +00:00
Beat Küng
f241e49ebf
voted_sensors_update: initialize _last_magnetometer & _last_airdata
2018-06-13 16:19:34 +02:00
Philipp Oettershagen
e12b470cac
Subsystem_info status flags & checks: Small fixes according to @bkueng's review
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
0b71c52225
Subsystem_info status flags & checks: Suppress sensor failover warnings in Hardware in the loop (HITL)
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
302cb0a285
Subsystem_info status flags & checks: Moved the set_health_flags helper functions out of the /lib/ folder and into the module/commander folder because they are actually only needed there
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
bd2af289f5
Subsystem_info status flags & checks: Code style fixes and cleanup to avoid strcmp() as suggested by @LorenzMeier
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
e4d863b95f
Subsystem_info status flags & checks: Separate the functionality to a) set the health flags inside commander and b) to publish them from external modules
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
075009be2f
Subsystem_info status flags & checks: 1) Set health flags in commander directly instead of publishing via uORB 2) move publish_subsystem_info into lib/ folder"
2018-06-06 18:54:24 +02:00
Philipp Oettershagen
6f1f414b49
Subsystem_info status flags & checks : Initial commit, updating the health flags in a centralized way mostly in commander and the votedSensorsUpdate function.
2018-06-06 18:54:24 +02:00
alessandro
3ed093ba59
Add baro temperature to sensor voter observation ( #9411 )
...
When determining the confidence of a barometer sensor, we should
consider the temperature as well, alongside the pressure.
Low-noise baros can show the same pressure reading for a second
or two when not moving and in an indoor location.
2018-05-04 12:40:10 -04:00
Daniel Agar
3b5b12e1d1
move baro and magnetometer data out of sensor_combined
2018-04-11 23:26:58 -04:00
Daniel Agar
5dc23def2a
move pressure altitude from baros to sensors module
2018-04-11 23:26:58 -04:00
Beat Küng
a8645b51d5
voted_sensors_update: reduce flash usage by allowing compiler to dedup equal strings
...
reduces roughly 130 bytes. Almost enough to pass CI.
2018-04-11 07:47:06 +02:00
Daniel Agar
3a0a896a9c
sensors move to matrix lib
2018-03-22 08:17:32 +01:00
Lorenz Meier
c31e31bf5e
Voted sensors: Better error messages
2017-12-30 11:24:22 +01:00
Daniel Agar
ed7f333fe8
sensors delete disabled ATT_VIBE_THRESH ( #8372 )
2017-11-26 17:25:45 -05:00
Daniel Agar
fabab8ac4d
sensors remove barometer enabled check for now
2017-11-15 01:34:59 -05:00
Daniel Agar
273742aa0d
add boolean parameters to enable/disable each sensor
2017-11-14 15:54:37 -05:00
Daniel Agar
21995bd4b7
sensors ignore invalid failover index
...
- fixes CID 199478
2017-10-31 08:10:04 +01:00
Paul Riseborough
b3d045d4d0
Revert "add boolean parameters to enable/disable each sensor"
...
This reverts commit 9fde19259e .
2017-10-30 20:49:36 +11:00
Daniel Agar
9fde19259e
add boolean parameters to enable/disable each sensor
2017-10-29 16:24:31 +01:00
Daniel Agar
2a1ecaa13e
sensors reduce priority of a failed sensor
2017-10-29 16:24:31 +01:00
Paul Riseborough
60a68d30c7
sensors: Calculate and publish magnetometer inconsistency
2017-10-05 09:30:26 -07:00
Daniel Agar
e15afcca7a
vehicle_command commands are uint16, not uint32
2017-09-08 09:06:30 +02:00
Lorenz Meier
576ad4b521
Sensors update: use correct constants
2017-08-01 12:46:59 +02:00
Nicolae Rosia
0a22a9c47c
change gyro & accel dt from float to uint64. This has the benefit of
...
calculating the estimator timeslip correctly.
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com >
2017-07-16 14:08:37 +02:00