bluerobotics / BlueOS

The open source platform for ROV, USV, robotic system operation, development, and expansion.
https://blueos.cloud/docs/
Other
150 stars 73 forks source link

bug: vehicle-setup: barometer representation issues #2567

Closed ES-Alexander closed 2 months ago

ES-Alexander commented 5 months ago

Bug description

  1. Aerial barometers have their type displayed as "Freshwater Pressure", but should be something like "Internal Pressure" / "Aerial Pressure"
    • This seems to only be a Sub issue, although in Rover it comes up as "Unknown Pressure", which isn't great either
  2. Bar30 (MS5837-30BA) shows up as MS5611 (I2C)
Screenshot 2024-04-26 at 1 03 04 PM

Steps to reproduce

  1. Connect flight controller to BlueOS computer, and view the "Autopilot Sensors" section of the Vehicle Setup page
  2. Connect a Bar30 and restart the autopilot

Primary pain point(s)

  1. This is incorrect, and misleadingly may cause people to believe they have one or more connected water pressure sensors that are actually internal / aerial
  2. Showing the wrong sensor type is confusing, especially in the Pixhawk which already has an internal MS5611 barometer connected via SPI

Additional context

A somewhat relevant forum thread, from a while ago.

Prerequisites

ES-Alexander commented 5 months ago
  1. From some digging after a discussion with @Williangalvani, I think this should just be an if-else, so the "not water sensor" doesn't get overwritten with the water sensor value
    • EDIT: that may be true, but it looks like we're calling MS5611 a water sensor indiscriminately, so we may need to change that condition to also consider how it's being communicated with (SPI/I2C/etc) / whether it's internal (if we're able to check that)
  2. This is likely an ArduPilot mis-reporting issue, but until that's resolved it may still be worth hedging our bets that an external MS5611 sensor connected via I2C and with a water density is very likely actually a Bar30 (MS5837-30BA)
ES-Alexander commented 2 months ago

2560 fixes most of this, and ArduSub-4.5 (currently beta) fixes the sensor name issue (correctly displays MS5837 for the Bar30, and MS5611 for the internal/aerial one).