That’s not something I’ve tried before, and I imagine isn’t a setup that’s been tested for. A couple of questions:
Is the Ping360 connected directly to the computer running Ping Viewer, or is it connected via a Companion computer?
Our Companion software currently only detects connected ping devices on boot, so if it’s getting sufficient startup power before the Ping360 then the detection step may occur before the Ping360 has started)
If you’re currently connecting via a Companion computer, can you try either powering it earlier, or instead connecting it directly to the topside computer running Ping Viewer and seeing if it connects as expected?
Have you confirmed the Ping360 works with a different (non-rising) power supply?
The Ping Altimeter is generally powered by the USB port it’s connected to, which should provide it with 5V. If it’s connected to a Companion computer then that power can’t come before the Companion is on, so it can’t miss the detection in the same way. The Ping360 requires >11V and is powered externally, so they’re not particularly comparable here.
The ping 360 is connected to the Companion Computer. as the Companion computer gets power from a 5V 6A BEC on the same power rail it will in all cases start before the ping 360.
the only reason the voltage rises is because it has to charge the capacitor battery. this can be solved by having something like a pre charge for the super cap battery.
I could try and restart the companion computer after it has booted up and see if it shows up🤔
The ping Works as it should when i remove the super cap battery, so it is functioning.
It slipped my mind that the altimeter uses the USB for power😅 so that is my bad for using it as a comparison🙈
That should work. Depending on the timescale of the battery startup, it may also be sufficient to move the ping setup to just before the ping360 bridgemanager line, or even just run ping_enumerator.py again.
If that doesn’t work you may need longer, in which case you can add a sleep 1 (or some other number of seconds) before ping_enumerator gets run, to allow the battery time to turn on fully. That also slows down the rest of the startup process, but a second or few for consistent connection results is likely worth it
well, it would seem as though the ping just refuses to boot given the rising voltage. it is almost like it enters a sort of boot loop…
I have tried to reboot the raspberry pi and restart the ping setup all on its own.
the only thing that worked with the capacitor battery attached was to unplug the ping360 and wait for the ROV to fully boot before reconnecting.
Are you able to confirm this by connecting the Ping360 directly to the topside computer, and using your capacitor battery to provide power to the Ping360? If Ping Viewer doesn’t detect it/connect to it then it’s very likely a “Ping360 doesn’t work when powered like this”, but if that connects fine then it may be some kind of issue with the interfacing code/program on the companion computer.
I tried to replicate the issue with a direct connection and slowly raising my power supply voltage, but it connected fine to Ping Viewer. That said, that was using the ethernet configuration, which may be different to the default USB configuration.
I spoke about this with our software team this morning, and they suggested you try measuring the voltage of the capacitor, as it may be dropping below the Ping360’s 11V minimum requirement.
If the voltage is fine and it is in fact just an issue with the startup then it may be worth looking into getting a relay which controls the Ping360 power, which you can control via the Pixhawk. That way you could power on the vehicle, then turn on Ping360 power once the input power has stabilised. With the current stable Companion software you’d need to reboot the Companion computer after the Ping360 is turned on in order to detect it, but if you’re using the Companion Beta then it should be detected automatically (it searches for Ping devices regularly, instead of just once on startup).