OSTC Plus shows as OSTC 2

36 views
Skip to first unread message

Geoff Turnbull

unread,
Jul 15, 2020, 11:16:05 AM7/15/20
to Subsurface Divelog
Hi

I have an OSTC Plus. When i connect to Subsurface (Windows or Android) it identifies it as an OSTC 2. Is this information taken from the firmware? Is there any way to override this?

Thanks

Geoff

Subsurface 4.9.3 on Windows 10
HW OSTC Plus firmware 10.67

Dirk Hohndel

unread,
Jul 15, 2020, 12:22:44 PM7/15/20
to Subsurface Divelog, Jef Driesen, matthias....@heinrichsweikamp.com
The way we initially identify dive computers is primarily through their Bluetooth name. Once we connected to them, we use the firmware ID.
The Plus and the 2 are part of the same family, so the misidentification shouldn't cause any problems.
But I was curious and noticed an oddity in our code (well, this is part of libdivecomputer, so I'm copying Jef):

	{"Heinrichs Weikamp", "OSTC 2",     DC_FAMILY_HW_OSTC3, 0x11, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
	{"Heinrichs Weikamp", "OSTC 2",     DC_FAMILY_HW_OSTC3, 0x13, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
	{"Heinrichs Weikamp", "OSTC 2",     DC_FAMILY_HW_OSTC3, 0x1B, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
	{"Heinrichs Weikamp", "OSTC 3",     DC_FAMILY_HW_OSTC3, 0x0A, DC_TRANSPORT_SERIAL, NULL},
	{"Heinrichs Weikamp", "OSTC Plus",  DC_FAMILY_HW_OSTC3, 0x13, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
	{"Heinrichs Weikamp", "OSTC Plus",  DC_FAMILY_HW_OSTC3, 0x1A, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},

Notice the second and fifth line. They both have the same type and model. Matthias, Jef, any idea if that is indeed correct (same type and model for those two distinct products)? Or is that a typo that we should fix?

/D
Message has been deleted

Geoff Turnbull

unread,
Jul 16, 2020, 8:17:58 AM7/16/20
to Subsurface Divelog
I had a similar issue when I owned an older OSTC Sport. After a firmware update it was reporting it as an OSTC Plus

Jef Driesen

unread,
Jul 16, 2020, 6:21:33 PM7/16/20
to Dirk Hohndel, Subsurface Divelog, matthias....@heinrichsweikamp.com
On 15/07/2020 18:22, Dirk Hohndel wrote:
> The way we initially identify dive computers is primarily through their Bluetooth name. Once we connected to them, we use the firmware ID.
> The Plus and the 2 are part of the same family, so the misidentification shouldn't cause any problems.
> But I was curious and noticed an oddity in our code (well, this is part of libdivecomputer, so I'm copying Jef):
>
> {"Heinrichs Weikamp", "OSTC 2", DC_FAMILY_HW_OSTC3, 0x11, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
> {"Heinrichs Weikamp", "OSTC 2", DC_FAMILY_HW_OSTC3, 0x13, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
> {"Heinrichs Weikamp", "OSTC 2", DC_FAMILY_HW_OSTC3, 0x1B, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
> {"Heinrichs Weikamp", "OSTC 3", DC_FAMILY_HW_OSTC3, 0x0A, DC_TRANSPORT_SERIAL, NULL},
> {"Heinrichs Weikamp", "OSTC Plus", DC_FAMILY_HW_OSTC3, 0x13, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
> {"Heinrichs Weikamp", "OSTC Plus", DC_FAMILY_HW_OSTC3, 0x1A, DC_TRANSPORT_SERIAL | DC_TRANSPORT_BLUETOOTH | DC_TRANSPORT_BLE, dc_filter_hw},
>
> Notice the second and fifth line. They both have the same type and model. Matthias, Jef, any idea if that is indeed correct (same type and model for those two distinct products)? Or is that a typo that we should fix?

It's not a typo. We're using the hardware descriptor byte as the model number.
In the past, that was a good way to identify the model, but nowadays we have a
few different models with the same hardware features. So that's how we ended up
with those "duplicated" entries.

I'm not aware of a better way to identify the exact model. As you already
mentioned, knowing the exact model is also not really important, because they
are all 100% compatible (except for the OSTC4). So from the user point of view,
the most important difference is USB vs Bluetooth. But nevertheless some users
do care about the correct type.

We could collapse all OSTC 2/3/Plus/Sport/cR/TR models into a single entry, but
then how do we name it? Or have just one entry per model (with some new made up
model number), but then how do we handle mapping back to a name based on the
model number (like subsurface does)? Because that will still remain ambiguous.
Either way, there is always some ambiguity in one directions or the other...

There are several other cases where there are two models sharing the same model
number (Uwatec), or where there is no model number at all to distinguish the
different models (eon, darwin, zeagle). Only the triplet name/family/model is
unique!

PS: I'm currently away, so response may be slower for the next weeks.

Jef
Reply all
Reply to author
Forward
0 new messages