Our Pixhawk 1 which was initially in our BR2 died 2 weeks ago. So I ordered a brand new Pixhawk 4 to replace it (PX4 FMU V5).
Everything seemed to work, I could control our ROV again.
But there is a problem, I would like to connect I2C sensors but they are not recognized. I tried with 2 different Bar 30 sensors which were working great with the previous pixhawk (and on an Arduino, I re-checked to be sure).
Q ground control keeps saying : “no pressure sensor”.
Nothing in mavlink inspector and SCALED_PRESSURE either.
I tried to downgrade the Ardusub firmware. didn’t work.
I tried to externaly power the sensor. didn’t work
I tried to change GND_EXT_BUS. didn’t work
My question is : am I the only one to have problem with I2C and PX4 ? Does someone also experienced that ?
I found different threads on the forums, like this one but it doesn’t really help.
Well, I tried 4.1.0 and 4.2.0, with 2 different Bar 30 sensors, and the PX4 still doesn’t find the sensors …
And there is something else weird : if I upgrade the firmware by USB, then connect to the ROV with the tether, I can control the ROV. But if I disconnect everything and re-connect with the tether, I will only have the video. No more control to the vehicule.
Anyway. Do you, at Blue Robotics, still provide first generations of pixhawks ? It might be easier.
Are you able to confirm/set the following parameters?
Not certain what’s happening there, unless there’s a missing connection somewhere when you reconnect things.
We provide them in our full electronics enclosures, but because they’re no longer manufactured (and haven’t been for some time) there’s a significant shortage of them, so we’re unfortunately not able to provide them as a separate item. We’re working on our own alternative that should be available within the next few months, but there’s not a fixed release date for that yet.
I set the parameter BARO_PROBE_EXT to 768 and it works now ! I found my BAR 30 sensor.
So it is possible to use the pixhawk 4 with ardusub 4.2.0 dev.
Now I also added a celsius fast response temprerature sensor on an I2C splitter but I don’t receive any values. Nothing in temperature(3). I only have the T° value from the BAR 30 in temperature(2).
Do you have any clue ?
For the other problem, it’s OK, when I only have the video and lose the control/telemetry, I restart the computer and it works.
I can replicate that here. We tried setting BARO_EXT_BUS = 3, which got the Celsius to work but stopped the Bar30 from working. Wouldn’t suggest trying it - it’s not simple to get back the other way.
We’re looking into this, but not sure how long it will take to fix. It may just be a parameter issue, but may also require changes to ArduSub - we won’t know until we have a working solution.
Glad you’ve at least got a workaround. A few notes:
If you’re restarting the topside computer perhaps there’s some kind of firewall issue or something.
If you’re restarting the onboard computer, does the mavproxy service come up in the web interface?
If it does then it might be sufficient to reboot the autopilot (from the web interface).
If it doesn’t then you can likely reboot just the onboard computer (from the web interface) rather than having to power cycle everything.
By the way, I’ve just re-read your initial post and seen that you got a Pixhawk 4 because your initial Pixhawk 1 (from us) failed. If you haven’t had your BlueROV2 for very long then it might be worth contacting email@example.com - they may be able to send you a replacement. Pixhawk quantities are very low, but if we’ve sold you a product that didn’t perform reasonably then that’s on us to fix.
No problem, it’s not a big deal.
We will follow that. We also bought a Pixhawk 2.4.8, we will give it a try.
By restarting the topside computer it works. By restarting the onboard computer too. And yes the mavproxy service comes up in the ardusub companion web interface. So indeed I can have access to it and restart it this way.
Thanks but we bought our ROV in 2018, made a lot of improvements, and the pixhawk died because of a leak. Fortunately everything else is ok.