Commit Graph

8899 Commits

Author SHA1 Message Date
Paul Riseborough f0c456dd54 events: give gyro cal unique names in preparation for other sensor types 2017-02-02 23:54:06 +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 c2be4b2b29 mc_pos_control: added exponential curve to manual x,y velocity setpoint
controlled by parameter MPC_XY_MAN_EXPO that is disabled (0) by default
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
Beat Küng 3dc6e7b574 LandDetector: use a 64bit counter for total system flight time
The previous 32bit counter wrapped in ~1.19h, this switches to 2 32bit
counters, wrapping in 584942 years.
2017-02-02 09:22:25 +01:00
Beat Küng 05b649cc86 LandDetector: fix total system flight time (landed & takeoff logic) 2017-02-02 09:22:25 +01:00
Dennis Mannhart f718b3a97a mc_pos_control: limit slewrate different in up and down direction 2017-02-02 09:04:59 +01:00
Daniel Agar b068c61784 clang-tidy clang-analyzer-core.NonNullParamChecker 2017-02-01 22:15:50 -05:00
Daniel Agar 6f05fec335 clang-tidy performance-unnecessary-copy-initialization 2017-02-01 22:15:50 -05:00
Daniel Agar 7e5f09f408 clang-tidy performance-unnecessary-value-param 2017-02-01 22:15:50 -05:00
Daniel Agar 070cd55636 clang-tidy readability 2017-02-01 22:15:50 -05:00
Daniel Agar b33d49c77d state_machine_helper use static_assert 2017-02-01 22:15:50 -05:00
Daniel Agar ca09f8a107 uORBDevices use global read with stdin int 2017-02-01 22:15:50 -05:00
Daniel Agar 96e51f7c59 clang-tidy remove redundant 2017-02-01 22:15:50 -05:00
Daniel Agar 6631e72d6f clang-tidy modernize-redundant-void-arg 2017-02-01 22:15:50 -05:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Lorenz Meier ec2467d4a5 MPC controller: Do not initialize to zero dt but a likely default dt 2017-02-01 20:06:31 +01:00
Dennis Mannhart 299c40f627 mc_pos_control: timestamp fix for vel_sp 2017-02-01 18:30:31 +01: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 c07fd1a360 mc_att_control_main: fix style 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 c0fd3afc8c accelerometer_calibration: only notify system once (after last scale change) 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
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
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 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 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