Sensors: enable the usage of multiple differential pressure sensors
For an upcoming project I need the ability to use multiple differential pressure sensors. While the airspeed selector module already supports this, it does not work in the sensors module. The goal here is to rework it in a way that up to 3 differential pressure sensors can be used.
Solved Problem
The sensors module was only ever subscribing to 1 differential pressure topic, even though multiple have been available. Also, there used to be only one airspeed topic publisher.
Solution
- Subscribe to multiple differential pressure topics in the sensors module (number specified by SYS_HAS_NUM_DPRES)
- Publish multiple airspeed topics in the sensors module
Changelog Entry
TBD
Alternatives
open for suggestions!
@sfuhrer @bkueng @dagar I'd like to get some initial feedback on this. Yet missing pieces are:
- ability to parametrize the different sensors
- set priority for the different sensors
- calibration of each sensor through QGC UI
How are you planning to implement the hardware? I2C airspeed sensors?
If you wanted to get fancy you could add a bunch of dronecan based airspeed sensors to the flight controller. They should each run the sensors module. The original scope is fine, but I imagine the distributed architecture is easier in the long run in terms of integration instead of fussing with setting different i2c addresses for each sensor
@dirksavage88 in my tests I used different dronecan and i2c sensors to avoid any conflicting configurations in terms of i2c addresses. I totally agree with you that leveraging multiple dronecan sensors should be the path forward; IMO solving the issue about connecting e. g. mutliple SDP33 sensors is out of scope of this rework. But I'm open for different opinions on this