Commit Graph
395 Commits
Author SHA1 Message Date
Daniel Agar a8747a01fe pixhawk 2.1 add 2nd ms5611 2016-12-05 15:27:11 +01:00
Andreas Antener f772fc2d02 Airspeed: preflight check for bad offset, fixed calls to preflight checks (vtol & airspeed) 2016-12-02 22:56:48 +01:00
Anton Matosov 90c049d8ec Fix formatting 2016-11-19 15:14:46 +01:00
Anton Matosov cd40512505 Add mag2, acc2 and gyro2 sensors params to make sure backup/restore is reliable 2016-11-19 15:14:46 +01:00
Anton Matosov 96fc66ff7d Add force param_find for missing sensor parameters to fix load/save loss of calibration data 2016-11-19 15:14:46 +01:00
Anton Matosov 4edd12c44a Make PWM_RATE configurable via QGroundControl 2016-11-19 15:14:18 +01:00
Paul Riseborough 55bf6b4974 sensors: Calculate and publish pre-flight IMU sensor consistency metric
If a single sensor is fitted, the calculation is not performed and zero values are published.
If dual IMU's are fitted, the vector length difference between the primary IMU and the second sensor is output for the angular rates and accelerations. The vector difference is low pass filtered before the length is taken.
If three IMU's are fitted, the vector length is calculated for both alternative sensors and and the maximum values output.
Fourth and subsequent IMU's are ignored.
2016-11-19 15:12:08 +01:00
Beat Küng 85cee9460f sensors: use only as many voters as there are sensors
This saves ~1.1KB of RAM for systems with only 1 sensor of each type.

If there are more sensors, they will be dynamically added, such that
failover still works.
2016-11-06 14:48:20 +01:00
Julian Oes 2fff2ab9ac Add switch for landing gear, pass it to actuators 2016-10-20 23:17:05 +02:00
Beat Küng ce0d31b7d9 mavlink log: ensure all critical & emergency msgs are also logged to console & ulog
Critical messages that the user sees should also go to the log file, so
that the exact error (with time) can later be analyzed from the log file.
2016-09-30 13:50:51 +02:00
Lorenz Meier 69f6708f37 Increase sensors stack 2016-09-30 09:16:36 +02:00
Nicolas de Palezieux a071ef94db always update armed flag (#5434)
otherwise the battery estimator does not compute bat_v_empty_dynamic correctly
2016-09-03 21:59:27 +02:00
Lorenz Meier 8bd4a624a7 Added voltage scaling. Need to move this to board_config.h instead 2016-08-12 13:55:16 +02:00
Roman 1f1839d978 sensors: fixed code style
Signed-off-by: Roman <bapstroman@gmail.com>
2016-07-29 13:28:09 +02:00
Roman 499d362b8b added transition switch 2016-07-29 13:28:09 +02:00
Michael Schaeuble d94bdb0829 Add missing defines for Bebop sensor drivers 2016-07-22 09:21:55 +02:00
Beat Küng 8ab841e046 sensors: poll on best-voted gyro (#5106)
This is a follow-up to 399d4ef833
2016-07-21 14:52:32 -07:00
Julian Oes fa614a3cc1 RPi: just use RPI instead of RPI2.
The reason for this change is that RPi2 and RPi3 are compatible, and
hopefully all differences coming up can be resolved without ifdefs but
at runtime.
2016-07-16 15:51:00 +01:00
Beat Küng 399d4ef833 sensors: only poll on first gyro for now
This fixes a bug with following setup:
- two (or N > 1) connected gyros
- ekf2 enabled
In this case, sensors would publish with the combined rate of the gyros,
but with N following messages having the same gyro data & timestamp.
Apparently ekf2 cannot handle this, the other estimators can.

We may want to rethink what the proper solution is here.
2016-07-13 14:35:03 +02:00
Lorenz Meier a740d80a20 Mag voter: Be more forgiving on load changes 2016-07-11 15:16:35 +02:00
Beat Küng 9c73eae941 sensor_combined: replace accel & gyro integral with value, use float for dt
Reason: the value is easier to read & handle (for example plotting). In
most places the value is needed, not the integral.

Note that this breaks the replay format for sdlog2 replay
2016-07-07 11:35:50 +02:00
Beat Küng 8e136779ec stack sizes: reduce stack sizes for modules that use sensor_combined
The sensor_combined topic got reduced from ~780 bytes to 72 bytes.
2016-07-07 11:35:50 +02:00
Beat Küng c5ea4b43be sensor_combined.msg: make timestamps relative
This is needed for the new logger & saves some space as well.
2016-07-07 11:35:50 +02:00
Beat Küng c66f26245c sensor_combined.msg: use uint32 for integral_dt
There is no reason to make this 64 bit. The same should be done in
the sensor raw messages, together with further cleanup.
2016-07-07 11:35:50 +02:00
Beat Küng d846ad5dac sensors: move voting into sensors module
- voting is now at a central place instead of duplicated within the
  estimators
  -> this also means that estimators that did not do voting so far,
     now have voting, like ekf2
- estimators requiring more than that can still subscribe to the raw
  sensors
- allows sensors_combined to be 3 times smaller
  - reduces logger, memcpy (cache) & RAM overhead
- all modules requiring only 1 or 2 sensor values now automatically get
  the voted result
- this also adds voting to baro
2016-07-07 11:35:50 +02:00
Beat Küng c50d267bfb sensors: cleanup includes and logging (warnx -> PX4_WARN/ERR/INFO) 2016-07-07 11:35:50 +02:00
Beat Küng b4ecc5a8d9 sensor_combined cleanup: remove many unneeded fields
Decreases the message size from 780 to 280 bytes.
In particular, all modules using sensor_combined must use the integral now.
The sensor value can easily be reconstructed by dividing with dt.

Voters now need to be moved into sensors module, because error count and
priority is removed from the topic.

Any module that requires additional data from a sensor can subscribe to
the raw sensor topics.

At two places, values are set to zero instead of subscribing to the raw
sensors (with the assumption that no one reads them):
- mavlink mavlink_highres_imu_t::abs_pressure
- sdlog2: sensor temperatures
2016-07-07 11:35:50 +02:00
Beat Küng c407123a72 cleanup sensor_combined: remove adc & differential_pressure fields
These are not really used. differential_pressure is just copied from the
topic with the same name.

for sdlog2 we assume no one needs the diff pressure fields and set it to 0.
We plan to switch to the new logger soon anyway.
2016-07-07 11:35:50 +02:00
Beat Küng 2c2477a07d fix sensors leaks: unsubscribe topics when exiting 2016-07-07 11:35:50 +02:00
Beat Küng ac45c9001b sensors: cleanup syntax: replace &x[0] with x 2016-07-07 11:35:50 +02:00
Beat Küng 78b45c4778 sensors: remove duplicated initialization 2016-07-07 11:35:50 +02:00
Lorenz Meier d85e416680 Fix default handling for battery params 2016-07-02 12:59:49 +02:00
tumbili 7e282f579b sensors app: logic fixed and cleanup
- do not exit sensors app if sensor init failed
- do not spam console if we fail over first/second gyro

Signed-off-by: tumbili <roman@px4.io>
2016-07-01 23:11:38 +02:00
Daniel Agar cb320f6e8a param set default battery parameters (#4912) 2016-06-26 21:27:11 +02:00
Roman Bapst 571798c318 Pr external battery monitoring (#4881)
* mavlink receiver: added handling of battery status

handle incoming battery status messages in order to support external
battery monitoring

Signed-off-by: Roman <bapstr@ethz.ch>

* sensor params: added parameter for battery monitoring source

Signed-off-by: Roman <bapstr@ethz.ch>

* sensors: only publish battery status if we don't have external battery
monitoring activated

Signed-off-by: Roman <bapstr@ethz.ch>
2016-06-23 18:41:38 +02:00
Lorenz Meier 8ecada3f81 Sensors: Allow more headroom for stack 2016-06-10 21:28:05 +02:00
Andreas Antener 98eeb25e45 produce 0 voltage/current if no suitable default could be set 2016-06-07 22:27:08 +02:00
Lorenz Meier e1805dfe0c Sensors app: Use two parameters to convert battery current and voltage to make configuring custom frames easier 2016-06-07 22:27:08 +02:00
jwilson c6250657eb Added mag support to the DriverFramework mpu9250 driver. Shortened parameter names for legacy drivers. Added temporary ifdef's in the calibration code for Snapdragon Flight builds.
Signed-off-by: jwilson <jwilson@qti.qualcomm.com>
2016-05-31 16:43:12 +02:00
Lorenz Meier 0dc36d149e Sensors: Reinstate main stack 2016-05-27 23:12:07 +02:00
Daniel Agar 1ecdb0f6fb adjust stack sizes 2016-05-19 21:49:34 +02:00
Daniel Agar 2487dbfc92 remove Wpacked and cleanup unused warning flags 2016-05-19 21:49:34 +02:00
Kabir Mohammed 1bd4dca266 Fix RPI2 defines 2016-05-19 15:41:50 +02:00
Lorenz Meier 0917a346e4 Mag cal: allow 6, 3 and 2 side calibrations (and anything in-between with bitfields) 2016-05-09 00:32:54 +02:00
Lorenz Meier ebaca071f6 Battery charge estimation: Factor in voltage drop for idle props 2016-05-06 18:14:34 +02:00
Lorenz Meier 5e099d8d16 sensors: Reduce perf counters 2016-05-05 20:09:09 +02:00
Lorenz Meier be467f606b Sensors: Use C++ init style 2016-05-01 16:25:25 +02:00
Lorenz Meier bdd2070dd7 FMU driver: Report RSSI for RC
Move RSSI sampling into FMU driver from sensors
2016-05-01 15:48:50 +02:00
Lorenz Meier b5b4769d1f Enable RSSI sampling on Pixracer 2016-05-01 14:23:25 +02:00
Julian Oes eb1ab4011a sensors: the ifdef logic was inverted (#4401) 2016-04-29 16:21:52 +02:00