Hi all and sorry for the late reply here,

Am 29.06.2017 um 16:37 schrieb Dirk Hohndel:
On Thu, Jun 29, 2017 at 02:19:25PM +0200, Jan Mulder wrote:
basically sure that the service 0000fefb... is the right one. In the code in
master this one is discarded as standard, but by using this anyway I am able
to get the OSTC3 in download mode. I did not succeed up to now to receive
data from the OSTC3, so obviously, the parsing fails right at the start.

If the OSTC showed "Download mode enabled" you successfully transmitted the initial byte to the OSTC (0xBB) and you should get a 0xBB (command echo) and a 0x4D "("Ready") back. Try a 0x6D next, the OSTC will respond with a 0x6D (echo) and 4096bytes of dive log headers.

Matthias, can you confirm that 0000fefb-0000-1000-8000-00805f9b34fb is the
UUID we should be connecting to? Is this a fixed UUID or does it ever
change? Any special tricks we need to get data back from the dive
computer?

It's the same for all computers and that's what I found looking into all the documentation we have:

UUID: 0xFEFB
This is the TerminalIO GATT service containing all TerminalIO characteristics

UART Data TX Characteristic:
UUID: 00000002-0000-1000-8000-008025000000
Type: uint8 array (20 bytes)
Properties: Notify
The TerminalIO client uses the UART Data TX characteristic to receive UART data from the server (peripheral) via notifications.

UART Data RX Characteristic:
UUID: 00000001-0000-1000-8000-008025000000
Type: uint8 array (20 bytes)
Properties: Write without response
The TerminalIO client uses the UART Data RX characteristic to write UART data to the server (peripheral).

UART Credits TX Characteristic:
UUID: 00000004-0000-1000-8000-008025000000
Type: uint8 (1 byte)
Properties: Indicate
The TerminalIO client uses the UART Credits TX characteristic to receive UART credits (0 - 255) from the server (peripheral) via indications.

UART Credits RX Characteristic
UUID: 00000003-0000-1000-8000-008025000000
Type: uint8 (1 byte)
Properties: Write
The TerminalIO client uses the UART Credits RX characteristic to grant UART credits (0 - 255) to the server (peripheral).

So pretty much the same what you found out already.

I looked around for any dive log software for the OSTC family, but I get the
impression that Subsurface is leading here, so no BLE capable stuff found
that can act as a reference.

"Divemate" works via BLE but the code is no open source, unfortunately.

Also a question to Matthias - what software is the reference for BLE
downloads?

BLE to PC/MAC? None. BLE to iOS or Android: Divemate.

We also have some documents for Android and iOS implementation:
http://www.heinrichsweikamp.net/downloads/TerminalIO_V2_Android_SampleAndDocumentation_r03.zip
http://www.heinrichsweikamp.net/downloads/TerminalIO_V2_iOS_SampleAndDocumentation_V3_0.ZIP

We got these in 2015, so not sure how useful they are...

Regards,
        Matthias


--
heinrichs weikamp gmbh * Adlerstr. 7 * 79098 Freiburg * Germany

Amtsgericht Freiburg HRB 713558 * Gerichtsstand Freiburg im Breisgau
Geschäftsführer: Matthias Heinrichs, Christian Weikamp
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to