Paul Riseborough
7d8ce9ab9c
sensors: Fix bug in temperature offset calculation
2017-02-01 08:40:23 +01:00
Beat Küng
c0fd3afc8c
accelerometer_calibration: only notify system once (after last scale change)
2017-02-01 08:40:23 +01:00
Beat Küng
998a407148
SITL: better formatting of help output
2017-02-01 08:40:23 +01:00
Paul Riseborough
0a447e9a93
Tools: update instructions for off-board calibrator
2017-02-01 08:40:23 +01:00
Paul Riseborough
e78c5155a2
Tools: update calibration instructions
2017-02-01 08:40:23 +01:00
Paul Riseborough
253683af5f
drivers: Don't require driver level gyro offsets to be non-zero
2017-02-01 08:40:23 +01:00
Paul Riseborough
bdbc4f4d65
commander: fix bug in gyro calibration
...
If the same gyro data was contained in two uORB instances, the thermal offset coefficient was being corrected twice.
TODO should fix what was causing data from the same sensor to appear on two uORB topics.
2017-02-01 08:40:23 +01:00
Paul Riseborough
6e841f6cbd
commander: fix bugs in handling of thermal compensation during access cal
2017-02-01 08:40:23 +01:00
Paul Riseborough
06f280e021
Tools: reinstate original offline calibrator to unblock testing
...
Refactored calibrator is not working.
2017-02-01 08:40:23 +01:00
Beat Küng
0220875961
fix temperature_calibration: reverse order of polynom coefficients
2017-02-01 08:40:23 +01:00
Beat Küng
d84e55878a
temperature_calibration: remove unused include <vector>
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
Paul Riseborough
f9b75e68c9
Tools: Change sign convention used by thermal calibrator
...
The flight code assumes corrections have the same sign as the sensor bias error and are subtracted from the raw reading
2017-02-01 08:40:23 +01:00
Beat Küng
c829e27a02
temperature_calibration: refactor variable names: remove preceding _
2017-02-01 08:40:23 +01:00
Beat Küng
b5b6fb24e3
temperature_calibration: exit task when complete, set TC_G_ENABLE & use param_set_no_notification
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
4763a119bc
calibration: make sure to notify the system when temp calibration changes
...
This is needed so that temperature compensation reads in the updated values
and publishes the updated sensor_correction topic.
2017-02-01 08:40:23 +01:00
Beat Küng
7ebe2ac017
gyro_calibration: take into account temperature compensation when storing the scale
2017-02-01 08:40:23 +01:00
Beat Küng
fbef2b7a6a
accelerometer_calibration: avoid using accel_mapping
...
This is not needed, as s is an uORB instance and accel_offset_0
contains data from uORB instance 0.
2017-02-01 08:40:23 +01:00
Beat Küng
97d7164b64
logger: remove actuator_controls from list of default topics
...
this was actually never published, only _0, _1, ... get published
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
21070b069b
mc_att_control_main: fix {x,y,z} variables (copy-paste mistake)
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
Beat Küng
fdb75dbba2
accelerometer_calibration: simplify & fix if temp compensation is enabled
...
if compensation enabled, scale & offsets for the drivers should be reset,
but actually only the params were reset and accel_scale was still applied
to the driver via ioctl.
2017-02-01 08:40:23 +01:00
Beat Küng
d0ea4e8876
accelerometer_calibration: cleanup
2017-02-01 08:40:23 +01:00
Beat Küng
69fd8447ae
accelerometer_calibration: make sure to initialize sensor_correction properly
2017-02-01 08:40:23 +01:00
Beat Küng
51def4fc60
gyro_calibration: make sure to initialize sensor_correction properly
...
if it's not published yet or published with low frequency, this makes sure
we have valid data.
also:
- _sensor_correction -> sensor_correction
- remove unnecessary init of sensor_correction_sub
2017-02-01 08:40:23 +01:00
Beat Küng
f890c82c97
mc_att_control_main: remove unnecessary memset for _sensor_correction
2017-02-01 08:40:23 +01:00
Paul Riseborough
c00c638b77
Remove IMU calibration parameter checks
2017-02-01 08:40:23 +01:00
Paul Riseborough
fb774bef67
commander: enable accel cal to adjust thermal compensation parameters
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
ba9e8741c0
msg: Add mapping from uORB index to compensation parameter index
...
This mapping is required so other applications can use the correct compensation data, even if the uORB ordering changes.
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
Paul Riseborough
62694d92d2
commander: rework IMU cal for compatibility with temperature compensation
2017-02-01 08:40:23 +01:00
Paul Riseborough
add298c0b5
mc_att_control: use legacy offset and scale definition (+2 squashed commits)
...
Squashed commits:
[f81a8b0] mc_att_control: remove unnecessary initialisers
[f3d3f48] mc_att_control: accommodate changes to sensor_correction topic
2017-02-01 08:40:23 +01:00
Paul Riseborough
170bc91587
sensors: fix bug in thermal compensation temperature limit (+2 squashed commits)
...
Squashed commits:
[2df1d9e] sensors: change definition of sensor offset and scale factor to match legacy code
[089e103] sensors: publish thermal corrections for all sensors
2017-02-01 08:40:23 +01:00
Paul Riseborough
1dd9a10260
msg: publish thermal corrections for all sensors
2017-02-01 08:40:23 +01:00
pixhawk
ef2a5599a1
mag_calibration: Make sure calibration fails if any mag fails; More checks on calibration results
2017-02-01 08:38:26 +01:00
pixhawk
fded02220b
calibration_routines: use PX4_ISFINITE() instead of isnan()
2017-02-01 08:38:26 +01:00
Beat Küng
1da934049c
matrix_alg: use PX4_ISFINITE() instead if isnan() & isinf()
2017-02-01 08:38:26 +01:00
pixhawk
5c96c8c1b3
Removed std::fill_n since it is not supported
2017-02-01 08:38:26 +01:00
pixhawk
9fe65d0957
Fix array initialization bug
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
2c831c314e
commander: correct mag cal offset direction
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
c6f8bcf8b3
commander: use mathlib matrix_alg functions
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
b46b7a3ca3
mathlib: add matrix eval funcs for raw arrays
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
78b8deda15
commander: add ellipsoid 9 param fit for magnetometer corrections
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
c9ac15f0dd
commander: fix code style
2017-02-01 08:38:26 +01:00
Siddharth Bharat Purohit
f811777789
commander: add new math for sphere fit for compass calibration
2017-02-01 08:38:26 +01:00
Beat Küng
f746141afe
mpu6000: add & check for the device_type on driver startup
...
Fixes the following case: a board that has several bus_options enabled,
and wants to start a specific device (eg mpu6000 -T 20608 start). In that
case the given device_type is never actually checked, and since the start
routine iterates over all bus_options, several can match, and thus start
multiple instances of the driver (note that the whoami check is performed
against the value provided with -T and thus the check will pass).
This happens on Pixracer (PX4_SPIDEV_MPU and PX4_SPIDEV_ICM_20608 are both
set).
2017-01-31 23:38:50 +01:00