-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple airspeed sensors support #12237
Comments
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions. |
@RomanBapst So is this something we will still want? It was you originally, then @sfuhrer. Good to assign or close. |
@hamishwillee This is not done yet. Wen can already use 2 airspeed sensors but we are not there yet in terms of calibration. What we've done so far is that we used a sensirion airspeed sensor as the second sensor, because it does not require any calibration. |
That's cool @RomanBapst . My point was really that if this has no assignee, then what is likely to happen is it will go stale and get dropped. If that is going to happen anyway, let's just delete it now. So I have assigned to @dagar and you guys can do with it as you will. |
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions. |
Is this feature of using two airspeed sensors included in the current master version? Or it will be just along with the calibration feature? Thanks for any help. |
@Safranek42 Unlikely this has been updated. @sfuhrer can you provide any update? |
I have tested this feature by connecting 2 airspeed sensors with different brand "SDP33" and "ms4525". Only SDP33 was found as primary airspeed. I investigated more and found that only 1 differential_pressure from SDP33 pass on to airspeed module to calculate indicated airspeed and more. I tried to modified code in sensors.cpp to make it works. However, due to the concept of measuring the pressure of "SDP33" and "ms4525" is completely different, then offset pressure from these 2 is too much difference too, I could not make it works perfectly (sometimes, SDP33 is primary but not always). For the same airspeed sensor brand such as "ms4525", I could not find a multi-instance to call them at the same time (might be due to there is the same i2c address??). |
Hi, Also I always have a differential_pressure instance from the analog "ADC_AIRSPEED_VOLTAGE_CHANNEL" even if the "diff_pres_analog_scale" is set to zero. I have to remove the "ADC_AIRSPEED_VOLTAGE_CHANNEL" from the board_config.h to make a sdp3x work. Otherwise I get the temperature from the sdp3x in the airspeed topic but no airspeed. Any ideas? |
@mlaiacker it's in flux at the moment, but if you're interested in full support and can help test I think we could get this done properly. In #15853 I'm refactoring the airspeed portion of The analog airspeed publishing is clearly a bug. If you open a new issue and share a log I'll take a closer look. |
@dagar The analog sensor thing: Looks like a bug I introduced myself by some changes I made to the Firmware. I tested the original v1.11 and it worked fine. Maybe this scale factor for the diff pressure could be added to PX4? |
I'm going to expand the differential pressure calibration to be more like accel/gyro/mag where it's per device id. We can add a scale factor as well. |
Now that we have the new airspeed validation and selection module, we should next push towards enabling multiple airspeed sensors on a driver level and then test the airspeed module with multiple sensors.
□ enable multiple airspeed sensors in driver
□ define/ implement calibration procedure with multiple sensors
□ simulate different airspeed failures (clogging, water, ..) and test detection and switching in airspeed validation and selection module
The text was updated successfully, but these errors were encountered: