Mohammed Kabir
51b23f0b57
sensors : add parameters for 4th mag into used parameters list
2017-06-14 19:53:07 +02:00
Beat Küng
ce7d8d2270
sensor_mag.msg: add is_external flag & set it in the mag drivers
...
With this we don't have to use the ioctl MAGIOCGEXTERNAL, which does not
work on POSIX (eg. RPi).
2017-06-14 19:53:07 +02:00
Beat Küng
ba3d66abba
voted_sensors_update: fix invalid/stale mag data on posix
...
Problem: _mag_device_id is used to get the correct rotation matrix for each
mag. But on POSIX, _mag_device_id was always 0, leading to invalid rotation
matrices.
This resulted in stale mag error messages (rot matrix=0 ==> mag data=0).
_mag_device_id was 0 because there are no /dev/magX devices (eg. on RPi),
thus the mag driver could not be opened.
This patch does: get the device id from the uorb topic instead. We still
need the device handle on certain platforms to apply the calibration params
and to check if the mag is internal or external.
Problem left: on POSIX, the check for external mag does not work.
2017-06-14 19:53:07 +02:00
Beat Küng
76f593afb0
fix voted_sensors_update: remove DevMgr::releaseHandle(h);
...
the 'continue' continues with the inner loop, whereas the outer loop is
responsible for opening the handle. Thus the inner loop needs to keep it
open.
2017-06-14 19:53:07 +02:00
Beat Küng
af6846b9a8
fix voted_sensors_update: use int32 for param_get()
2017-06-14 19:53:07 +02:00
Beat Küng
ce27e75a76
sensors: better status output
2017-06-14 19:53:07 +02:00
Lorenz Meier
d104f984d4
Sensors: print airspeed validator status
2017-06-11 11:19:25 +02:00
Kabir Mohammed
5cbaaa633b
FINALLY fix mag rotation issues. ( #7366 )
...
* sensors : second cut at fixing mag calibration - remove old problematic code
* sensors : use more intuitive naming for loop variables
2017-06-07 10:49:57 +02:00
davidaroyer
99799d83b1
ocpoc support: update copyright dates
2017-06-04 04:24:50 +08:00
davidaroyer
a236bd1015
sensors: add support for Aerotenna OcPoC-Zynq hardware
2017-06-04 04:24:50 +08:00
Daniel Agar
5d626bd940
clang-tidy remove redundant init
2017-06-02 19:35:18 -04:00
Mohammed Kabir
0cb3eb99dc
sensors : correctly handle internal magnetometer rotations
2017-06-03 02:16:58 +08:00
Mohammed Kabir
49890c61f5
sensors : require reboot for all sensor orientation changes
2017-05-27 00:31:05 +02:00
Mohammed Kabir
62b7645130
sensors : remove deprecated (since 2015) mag rotation parameter
2017-05-27 00:31:05 +02:00
Mohammed Kabir
6ee09ca16f
sensors : map between driver rotation order and uORB instance order when recieving first mag message
2017-05-27 00:31:05 +02:00
Nicolae Rosia
32498009a3
navio_adc: add driver for Navio2 ADC
...
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com >
2017-05-14 17:51:02 +02:00
Paul Riseborough
3bcb710da9
voted_sensors_update: publish sensor selections (+3 squashed commits)
...
Squashed commits:
[290660d] voted_sensors_update: revert the new_accel_data check (and others)
The check removed the ability to detect sensor timeouts.
[c8dc7ad] sensors: publish changes to sensor selection
[dd90dec] sensors: ensure all sensor selections published first time
2017-05-03 08:37:14 +02:00
Daniel Agar
f04f1d6b03
sensors HIL increase gyro and accel timeout
...
- fixes #7050
2017-04-25 23:52:11 +02:00
Beat Küng
0d22e97c09
sensor_params: document PWM_RATE=0 for Oneshot125
2017-04-25 12:59:12 +02:00
Mohammed Kabir
57aa41df2c
sensors : decouple maximum sensor count and allow flexible maximums
2017-04-24 12:24:11 +02:00
Mohammed Kabir
f0accd39f0
sensors : add support for 4th magnetometer
2017-04-24 12:24:11 +02:00
Mohamed Abdelkader Zahana
60e0ca9321
add both options (pwm/i2c) for lidar lite
2017-04-23 23:29:10 +02:00
Mohamed Abdelkader Zahana
9911a55393
use i2c for lidar lite
2017-04-23 23:29:10 +02:00
Daniel Agar
c86185d4be
sensors init CAL_ACC0_ID and CAL_GYRO0_ID for QGC
2017-04-18 10:54:19 +02:00
Daniel Agar
4b8bedef48
avoid double promotions
2017-04-01 20:19:28 +02:00
Beat Küng
9597e708df
sensors: remove sensors_init
...
The initialization code is redundant and incomplete (only the first sensor
is done). I verified that all drivers already set this on startup.
For the mags, they all set their maximum supported update rate.
For the baro, the call can silently fail, as for example the MS5611 which
does not support 150Hz update. But it also sets the maximum in
initialization.
Tested on Pixhawk & pixracer.
2017-03-10 11:28:41 +01:00
Beat Küng
af1984ac07
sensors: do not warn about baro in HIL mode
2017-03-10 09:00:24 +01:00
Beat Küng
bc91005e7a
voted_sensors_update: increase accel & gyro timeout in HIL mode
2017-03-10 09:00:24 +01:00
Beat Küng
aabdc4125b
ekf2: publish ekf2_timestamps topic
2017-03-04 22:47:54 +08:00
Beat Küng
881f2d2d36
sensors: add 'sensors start -hil' parameter
...
This does the following if given:
- don't initialize the sensors (the sensor drivers are not started)
- publish sensor_combined even in hil mode
- do not apply or publish thermal corrections
2017-03-04 05:59:10 +08:00
Beat Küng
f43f3baa02
ATT_VIBE_THRESH param: move the definition of this param to sensors
...
since it's only used in sensors module (otherwise it could get pruned)
2017-02-25 11:02:15 +01:00
Andreas Antener
a5f3f65c2b
Switch assignment: added manual and stabilized switch for a default stabilized switch scheme, let FW go into Acro
2017-02-18 08:03:19 +01:00
Paul Riseborough
9858b0b491
sensors: Add calibration control parameters to QGC list
2017-02-12 09:21:37 +01:00
Daniel Agar
80c8130f07
sensors true airspeed fix
...
- _voted_sensors_update.baro_pressure() is already in pascals
2017-02-09 21:29:03 +01:00
Matthias Grob
9e80a6c9d6
sensors: rc filter no unstable cutoff, better initialisation, reset filter on change, constrain output
...
Filter gets unstable if cutoff is above sample rate/2.
Filter initial frequencies do not matter a lot because they get replaced by parameters anyways.
Filter delay values get reset to 0 when the filter is reconfigured otherwise there can be some weird spikes in the output.
Filter output gets constrained to the range again because of possible overshoot.
2017-02-02 21:24:05 +01:00
Matthias Grob
81dcba3a2a
sensors: rc added low pass filter parameters
2017-02-02 21:24:05 +01:00
Matthias Grob
d991285406
sensors: rc filter: added sample rate of 33.3Hz and lowpass cutoff 5Hz hardcoded for testing
2017-02-02 21:24:05 +01:00
Matthias Grob
27a4ce2691
sensors: rc added lowpass filters to the 4 main channels without useful samplerate and cutoff frequency yet
2017-02-02 21:24:05 +01:00
Matthias Grob
a14dbdcfdb
sensors: rc refactored min max ifs to constrain
2017-02-02 21:24:05 +01:00
Daniel Agar
6631e72d6f
clang-tidy modernize-redundant-void-arg
2017-02-01 22:15:50 -05:00
Beat Küng
80c348d3b0
temperature_compensation: fix return value for set_sensor_id
...
got dropped during rebase cleanup
2017-02-01 08:40:23 +01:00
Beat Küng
4f6e379e50
temperature_compensation: use const for reference
2017-02-01 08:40:23 +01:00
Paul Riseborough
7d8ce9ab9c
sensors: Fix bug in temperature offset calculation
2017-02-01 08:40:23 +01:00
Beat Küng
e31958cad1
voted_sensors_update: don't report failover if previous index is invalid
2017-02-01 08:40:23 +01:00
Beat Küng
4a8d29800c
voted_sensors_update: cleanup & remove some attributes
...
since the correction topic now contains data from all sensors, we don't
need additional fields in voted_sensors_update
2017-02-01 08:40:23 +01:00
Beat Küng
6ee3c1a117
temperature_compensation: fix copy-paste error (max_temp was not initialized)
2017-02-01 08:40:23 +01:00
Beat Küng
75be1abc4c
temperature_compensation: make sure to reset temperature when params change
...
Makes sure that the offsets & scales are updated and published later on.
2017-02-01 08:40:23 +01:00
Paul Riseborough
bdd3b094a7
sensors: report mapping from uORB to compensation parameter index
2017-02-01 08:40:23 +01:00
Paul Riseborough
8b1a5461c4
sensors: Update documentation
2017-02-01 08:40:23 +01:00
Paul Riseborough
f2f5034832
sensors: prevent high frequency updating of sensor corrections
...
The use of a float to integer cast was causing high frequency reporting when the float value was close to the rounding boundary.
2017-02-01 08:40:23 +01:00