Oceanic Pro Plus 4 Support

674 views
Skip to first unread message

John Clark

unread,
Dec 15, 2019, 4:21:52 PM12/15/19
to Subsurface Divelog
Any chance of getting the pro plus 4 added to the supported list?
Thanks

Jef Driesen

unread,
Dec 17, 2019, 10:31:05 AM12/17/19
to subsurfac...@googlegroups.com, John Clark
On 2019-12-15 21:21, John Clark wrote:
> Any chance of getting the pro plus 4 added to the supported list?
> Thanks

Do you have one? Usually it's fairly straightforward. I just need a
memory dump of the dive computer, and the database from the Oceanic
software. Downloading the memory dump can be done with subsurface, even
if it's not supported yet.

Jef

John Clark

unread,
Dec 17, 2019, 11:56:37 AM12/17/19
to Subsurface Divelog
On Sunday, December 15, 2019 at 1:21:52 PM UTC-8, John Clark wrote:
> Any chance of getting the pro plus 4 added to the supported list?
> Thanks

Jeff, I do have one and will try to get the memory dump tonight... thanks for the reply

John Clark

unread,
Dec 17, 2019, 4:28:01 PM12/17/19
to Subsurface Divelog
Is there a trick to getting the PC to see it?
 
When I scan for Bluetooth devices subsurface sees my headphones and other BT devices around but doesn't see the Oceanic, same thing when I just do a BT scan in Windows. 
 
My phone does connect to the Oceanic via bluetooth when I use their Diverlog software.

John 

Linus Torvalds

unread,
Dec 17, 2019, 4:36:24 PM12/17/19
to Subsurface Divelog
Is there's no cable option for downloads?

The BLE scanning might be one of those "I'm hiding by marking myself
as not being scannable". Which makes it very annoying to debug.

Do you see it when you install subsurface on the same phone you used
for Diverlog?

Linus

John Clark

unread,
Dec 17, 2019, 4:56:48 PM12/17/19
to Subsurface Divelog
I can't seem to see anything through the subsurface mobile.

I have the show all devices checked and the only connection option that I have when I go to download is FTDI, is that correct?
 

Linus Torvalds

unread,
Dec 17, 2019, 6:12:53 PM12/17/19
to Subsurface Divelog


On Tue, Dec 17, 2019, 13:56 John Clark <jcx...@gmail.com> wrote:
I can't seem to see anything through the subsurface mobile.

I have the show all devices checked and the only connection option that I have when I go to download is FTDI, is that correct?

Hmm. That sounds like you have picked a done computer that doesn't support BLE at all. 

Can you pick the Oceanic Pro Plus X as your dinner computer and see if you then see a list of BLE devices?

       Linus

John Clark

unread,
Dec 18, 2019, 1:32:26 PM12/18/19
to Subsurface Divelog

I have tried Pro Plus 3 and Pro Plus X but it never seems to find it on either the PC or phone.

On the phone the only option that I have for connection is FTDI, is that correct?

If not, no big deal I just thought it would be awesome to have one software for both DC's.

Thanks for your help!

John 

Linus Torvalds

unread,
Dec 18, 2019, 2:24:49 PM12/18/19
to Subsurface Divelog


On Wed, Dec 18, 2019, 10:32 John Clark <jcx...@gmail.com> wrote:

On the phone the only option that I have for connection is FTDI, is that correct?

That probably means that you need to go into settings, and then check the "Bluetooth: Show all Bluetooth devices even if not recognized as dive computers" setting.

Them it should show everything it sees. Sadly usually without very legible names: the Oceanic Pro Plus X shows up as "ERxxxxxx" where the last four characters are the serial number, for example.

So if you have a lot of Bluetooth devices around, it can be hard to tell which one is the dive computer...

And obviously the dive computer needs to be in download mode so that Bluetooth is on at all..

      Linus

Linus Torvalds

unread,
Dec 18, 2019, 2:27:44 PM12/18/19
to Subsurface Divelog


On Wed, Dec 18, 2019, 11:24 Linus Torvalds <torv...@linux-foundation.org> wrote:

And obviously the dive computer needs to be in download mode so that Bluetooth is on at all..

... and you need to press the "Rescan" button on the download screen after you've done the "show all Bluetooth devices" setting thing, and after picking the Oceanic Pro Plus X as your done computer, and turned the dive computer into download mode.

That may all be obvious, but I thought I should make it explicit.

      Linus

John Clark

unread,
Dec 20, 2019, 11:23:11 AM12/20/19
to Subsurface Divelog
Linus,

I believe that I am doing all of these things and have uploaded a screenshot.

It's definitely seeing some Bluetooth devices...I have tried every combination that I can think of but nothing works.

John

 
sub screenshot.bmp

John Clark

unread,
Dec 20, 2019, 11:35:00 AM12/20/19
to Subsurface Divelog
Linus,

I have made some progress, when i sent the pic I noticed that it was showing a device that wasn't physically here.

After that I went back into the Bluetooth settings in windows and rescanned, now I had a new device.

I was able to connect to it and download the dives and the  logfile, it faults if I try to get the dumpfile.

Logfile is attached, let me know what you want me to do next...and thanks for the help!!!

John


subsurface.log

Linus Torvalds

unread,
Dec 20, 2019, 1:27:55 PM12/20/19
to Subsurface Divelog, Jef Driesen
On Fri, Dec 20, 2019 at 8:35 AM John Clark <jcx...@gmail.com> wrote:
> I have made some progress, when i sent the pic I noticed that it was showing a device that wasn't physically here.
>
> After that I went back into the Bluetooth settings in windows and rescanned, now I had a new device.
>
> I was able to connect to it and download the dives and the logfile, it faults if I try to get the dumpfile.

Ok, this is an almost-successful download. We're talking to thing, and
it's answering, and everything looks good. And we see that

WARNING: Unsupported device detected (PROPLUS4 1A 512K)!

line that comes from us realizing that we don't know the exact dive
computer we're talking to.

However, the fact that you can't get a dump file is annoying, because
Jef needs that to add the exact details for that dive computer to the
list. Oceanic (or rather, Pelagic, the actual designer of these
things) always tends to make small silyl changes for every single
version of dive computer, so they all tend to need some quirk or other
to give the right download data.

When you say that it downloaded the dives, how good is it? Do you see
all the information, including cylinder pressure etc? Because if so,
we can at least initially treat that Pro Plus 4 exactly as just
another version of the Pro Plus X, although I'm sure there's
_something_ we're missing.

And if you could try that dumpfile a few times, to see if it
eventually works, that would be good.

Jef, comments?

Linus

John Clark

unread,
Dec 20, 2019, 2:06:25 PM12/20/19
to Subsurface Divelog

I'll keep trying to get the dumpfile, who knows it seems a little erratic.

Dive info is missing pressure and temp, depth and time seem correct.

John 

John Clark

unread,
Dec 20, 2019, 2:40:24 PM12/20/19
to Subsurface Divelog

I have tried about 10 times and every time it gets to 20% then has an error box that pops up and says dive date import error.

Jef Driesen

unread,
Dec 20, 2019, 4:16:50 PM12/20/19
to subsurfac...@googlegroups.com, Linus Torvalds, John Clark
The initial communication started fine, so that is already a good sign.

The attached log is from a normal download attempt, not from a memory dump
download. So without further information, it's difficult to tell why downloading
a memory dump is failing. The logfile looks incomplete too, as if the download
was stopped abruptly.

@John: As Linux said, retry a few times to download a memory dump, and send the
logfile of each attempt. Even if the download failed, it can help to see what is
going wrong. Without this kind of detailed info we're flying blind.

Jef

Linus Torvalds

unread,
Dec 20, 2019, 4:29:54 PM12/20/19
to Jef Driesen, Subsurface Divelog, John Clark
On Fri, Dec 20, 2019 at 1:16 PM Jef Driesen <j...@libdivecomputer.org> wrote:
>
> The attached log is from a normal download attempt, not from a memory dump
> download. So without further information, it's difficult to tell why downloading
> a memory dump is failing. The logfile looks incomplete too, as if the download
> was stopped abruptly.

Jef, the Pro Plus X has 2MB of memory, doesn't it?

The Pro Plus 4 seems to have just 512k of memory based on the version
string: "PROPLUS4 1A 512K".

So that's about 25% of the memory. And John says that it stops with an
error at around 20% of the download. Maybe it's literally that it
tries to do a 2MB dump, but at 512k it gets an IO error because that's
all there is?

John - what happens if you try to download as a "Oceanic Geo 4.0"
instead of the Pro Plus X? That is also a BLE dive computer, so
subsurface should be happy to download from it, and that one has 512K
too, so maybe we try to download the right amount.

I'm not sure that the memory dump code actually cares about the size,
so this guess may be complete garbage, but it shouldn't hurt to try.

Linus

Jef Driesen

unread,
Dec 20, 2019, 5:01:53 PM12/20/19
to Linus Torvalds, Subsurface Divelog, John Clark
I don't think that's the problem. For an unsupported model, the code looks at
the size in the version string and picks a layout with the right amount of
memory. This is done to make sure downloading a memory dump works out of the
box. (Unless of course it's a size we have never seen before, but that's not the
case here.)

It also doesn't matter which model is selected in the application. That model
number is only used to select the correct baudrate (for those few models that
use a higher baudrate). Afterwards everything is auto-detected based on the
version string and the model number reported in the data.

Jef

John Clark

unread,
Dec 20, 2019, 5:37:13 PM12/20/19
to Subsurface Divelog
I tried the Geo 4.0 and got the exact same result at 20%.

Jeff, I have attached log files from two runs each as a Geo4 and a ProPlusX, it doesn't generate any kind of file for the failed dump file. 
Geo4_1.log
Geo4_2.log
ProPlus1.log
ProPlus2.log

Jef Driesen

unread,
Dec 21, 2019, 5:34:10 AM12/21/19
to subsurfac...@googlegroups.com, John Clark, Linus Torvalds, Dirk Hohndel
On 20/12/2019 23:37, John Clark wrote:
>> I tried the Geo 4.0 and got the exact same result at 20%.
>
> Jeff, I have attached log files from two runs each as a Geo4 and a
> ProPlusX, it doesn't generate any kind of file for the failed dump file.

I'm not sure why downloading the memory dump fails. All 4 attempts fail around
the same memory address (0x3140), but not exactly the same. Strange, but the
good news that there is already enough information to figure some things out.

@Linus and Dirk: Attached is a patch with the things I figured out so far. Can
you make a build for John to try?

Most of the info looks reasonable, but there are probably still a few things
missing or wrong. I don't have any ground truth data to compare against for
things like the temperature sign.

@John: Are you able to download the data with the official oceanlog/diverlog
application, and then send me the database or an export of it? That would help
to figure out the missing info.

Jef
0001-Add-support-for-the-Oceanic-Pro-Plus-4.patch

Linus Torvalds

unread,
Dec 21, 2019, 10:38:45 AM12/21/19
to Subsurface Divelog, John Clark, Dirk Hohndel
On Sat, Dec 21, 2019 at 2:34 AM Jef Driesen <j...@libdivecomputer.org> wrote:
>
> @Linus and Dirk: Attached is a patch with the things I figured out so far. Can
> you make a build for John to try?

I've applied this (with the required addition of the DC_TRANSPORT_BLE
flag - otherwise we'd never even try to do a BLE download) to the
Subsurface-NG branch.

Dirk - I also sync'ed with Jef's upstream, most of which were just
small random fixes (and the new iDive Ratio firmware update code).
I've pushed the whole thing out to the libdivecomputer git
repositories, it all looked fine.

And while this likely isn't the full story on the Oceanic Pro Plus 4,
the partial support patch is unlikely to hurt anything. It will cause
merge issues when Jef does the final version in his repo, but I'll
take care of that when it happens.

Linus

John Clark

unread,
Dec 21, 2019, 11:44:33 AM12/21/19
to Subsurface Divelog
Jeff, I can't seem to get the Diverlog to export...they only have a mobile version that supports that PC and no option.

How do I apply the patch?

John 

John Clark

unread,
Dec 21, 2019, 12:00:09 PM12/21/19
to Subsurface Divelog
I figured out a backdoor way by uploading it to Dive cloud and then saving it.

I have attached a file and here is a link.


John 
7086_1517_20191214121300_1.zxu

Dirk Hohndel

unread,
Dec 21, 2019, 5:09:55 PM12/21/19
to Subsurface Divelog, John Clark
As some will have noticed, my travel schedule was a bit insane even
for me the last three weeks so I am way behind on PRs and things like
this.

I'll merge this into master and make sure new builds are available.

/D

Dirk Hohndel

unread,
Dec 22, 2019, 12:06:11 AM12/22/19
to Subsurface Divelog, John Clark
-- 
You received this message because you are subscribed to the Google Groups "Subsurface Divelog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to subsurface-dive...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/E20094E8-B58F-45F5-ABE2-9E42FEB8BF49%40hohndel.org.

John Clark

unread,
Dec 22, 2019, 2:01:28 AM12/22/19
to Subsurface Divelog
Works great, thanks so much!

Do you want log or dumpfiles to finalize anything?

The dives do show accurate pressure and temp now so as far as I'm concerned it's great.

Thanks,
John


Linus Torvalds

unread,
Dec 22, 2019, 12:46:08 PM12/22/19
to Subsurface Divelog
I think it would be great if you can send Jeff a dump-file (hopefully
that now works too, even if it wasn't clear why it didn't originally)

Even if everything seems to work, maybe Jef can see some detail that
can be improved.

and even if not, I think Jef keeps a set of dump-files around for
regression testing.

Linus

John Clark

unread,
Dec 22, 2019, 1:12:15 PM12/22/19
to Subsurface Divelog
I tried to get a dumpfile but it still fails at about 20%.

Attached is the log from that attempt.

John 
ProPlus4.log

Linus Torvalds

unread,
Dec 22, 2019, 2:05:25 PM12/22/19
to Subsurface Divelog
On Sun, Dec 22, 2019 at 10:12 AM John Clark <jcx...@gmail.com> wrote:
>>
>> I tried to get a dumpfile but it still fails at about 20%.
>
> Attached is the log from that attempt.

Ahh, so the dump still doesn't work even with the knowledge of the Pro
Plus 4 we have now..

Oh well. I'll leave it for Jef to worry about. Maybe there's some new
logic in the Pro Plus 4 that doesn't like reading far past the end of
the actual filled memory. Strange, but whatever.

If you hit problems when memory starts filling up, and you have a lot
more dive data, we may need more debug aid and logs from you, but for
now I think this falls under the heading of "everything works, and
there's an unexplained problem with dumping all of memory, but it only
affects debugging so far"

Linus

Jef Driesen

unread,
Dec 24, 2019, 6:14:48 AM12/24/19
to subsurfac...@googlegroups.com, Linus Torvalds, John Clark
I checked the data against the divecloud export, and everything looks fine, so I
pushed the patch without modifications. The only thing that seems to be missing
are things that are not parsed yet, like deco/ndl, airtime remaining, etc. But
that will be something for another time.

For the memory dump, I don't know what is going on. If the memory is indeed
limited, then I would expect it to always fail at exactly the same address. But
that's not the case. So it's probably something else. One thing worth trying is
to start reading around the failing address, and then see how far we get.

@John: I'll prepare a libdivecomputer build to try this in a few days.

Jef

Jef Driesen

unread,
Jan 3, 2020, 4:19:52 AM1/3/20
to subsurfac...@googlegroups.com, John Clark
On 24/12/2019 12:13, Jef Driesen wrote:
> I checked the data against the divecloud export, and everything looks fine, so I
> pushed the patch without modifications. The only thing that seems to be missing
> are things that are not parsed yet, like deco/ndl, airtime remaining, etc. But
> that will be something for another time.
>
> For the memory dump, I don't know what is going on. If the memory is indeed
> limited, then I would expect it to always fail at exactly the same address. But
> that's not the case. So it's probably something else. One thing worth trying is
> to start reading around the failing address, and then see how far we get.
>
> @John: I'll prepare a libdivecomputer build to try this in a few days.

Can you try this build:

http://www.libdivecomputer.org/builds/experimental/windows/libdivecomputer-0.proplus4.dll

Download the dll, and remove the ".proplus4" suffix from the filename. Copy the
dll into the subsurface installation directory (backup the existing dll, so you
can restore it afterwards), and then try to download a full memory dump. Enable
both the libdivecomputer dumpfile and logfile checkboxes.

This build will start the download at address 0x3000, which is a little before
the failure point, and then try to download the remaining part of the memory.

Jef

Dirk Bartl

unread,
Mar 27, 2021, 3:38:30 AM3/27/21
to Subsurface Divelog
Also ich hatte auch extrem mit Download Problemen gekämpft. Ich musste aber irgendwann feststellen, dass ein Neustart von subsurface die Lösung ist. Bei mir scheitert auch die Cloud Synchronisation beim ersten Start. Beim zweiten Start funktioniert die Synchronisation automatisch. Danach starte ich den Daten Download. Der Download scheitert mit einer Fehlermeldung. Also subsurface ein drittes mal neu starten, dann funktioniert der Download in der Regel problemlos. (mein System ist Windows 10 Pro, Subsurface 4.9.10)

Dirk Bartl

unread,
Dec 20, 2021, 5:09:09 AM12/20/21
to Subsurface Divelog
Nachtag: Die letzten 2 Tauchgänge lassen sich nicht herunterladen. Habe irgendwie die Abtastrate auf 2 Sekunden eingestellt. Hoffe das sich die nächsten Tauchgänge mit 15sek Abtastrate wieder herunterladen lassen.
Reply all
Reply to author
Forward
0 new messages