Hello.
Do you have any plans to add support for DigSpice 4?
DigSpice 4 is a popular 20Hz GPS data logger in Japan.
I am posting the details I found by checking the HCI snoop log. I would appreciate it if you could consider this.
Connection & GATT Info
Device Name (Broadcast): DS4BXXXXXXXX (e.g., DS4B5500791)
GATT Notification Handle: 0x000d (Location and Navigation Service standard / Custom characteristics mapping)
Sampling Rate: 20Hz
Packet Structure (Multi-Packet Format)
DigSpice 4 broadcasts two types of packets alternately through Handle 0x000d.
Packet A: Location Data (Length: 28 bytes)
Contains instantaneous Speed, Latitude, and Longitude.
Format:
- Latitude (4 bytes): Int32 in Little-Endian. Divide by 107 to get the actual degree.
- Longitude (4 bytes): Int32 in Little-Endian. Divide by 107 to get the actual degree.
Example Byte Stream (Hex):
02 02 20 17 00 13 00 04 00 1b 0d 00 85 20 00 00 E2 83 44 15 1B 46 4D 53 bb ff ff ff
- E2 83 44 15 ➔ LE: 0x154483E2 ➔ 356811234 ➔ Lat: 35.6811234
- 1B 46 4D 53 ➔ LE: 0x534D461B ➔ 1397562139 ➔ Lon: 139.7562139
Packet B: Time Data (Length: 22 bytes)
Contains UTC Time information synced via GPS.
Format:
Year (2 bytes): Int16 in Little-Endian.
Month, Day, Hour, Minute, Second (1 byte each): Direct integer values (UTC).
Example Byte Stream (Hex):
02 02 20 11 00 0d 00 04 00 1b 0d 00 c0 00 ea 07 07 07 0a 07 0a 28
- ea 07 ➔ LE: 0x07ea ➔ Year: 2026
- 07 ➔ Month: 707 ➔ Day: 7
- 0a ➔ Hour: 10 (UTC)
- 07 ➔ Minute: 70
- a ➔ Second: 10
Since the packet mapping is very clean and standard, it would be amazing if RaceChrono could natively parse these packets from Handle 0x000d.
Thank you!