python-spiderwaregps is a library to decode and convert the custom binary tracking format of the spiderware gps tracker.
python and system dependencies for OSX (using python from brew: not sure if that's relevant):
pip install pyusb # 1.0.0a2 at time of writing pip install gpxpy brew install libusb
0 error, RFU=error code 1 start up 2 stand by 3 wake up 4 break begins 5 break ends 6 gps on (1) 7 gps off (1) 8 battery low (1,2) 9 charging begins (1,2) 10 charging ends (1,2) 11 wall power on (1,2) 12 wall power off (1,2) 13 changed profile, RFU=id 14 waypoint 15 accelerometer off 16 accelerometer on 17 new track begins
RFU contains battery status by default (x / 2 * percent)
- only used for debug
- not implemented yet
escape: 0x7E
frame format:
0x7E [data] | [next frame or 0xFF]
escaped values
0x7E -> 0x7E7E
0xFF -> 0x7E7F
info frame **
Type: 1 Byte (0x00)
HW: 3 Byte | hardware version
FW: 3 Byte | software version
Format: 2 Byte | format version
HW options. 1 Byte
-------
10 Byte
time frame
Type: 1 Byte (0x01)
Time: 5 Byte | 2 Byte week, 3 Byte second
-------
6 Byte
location
Type: 1 Byte (0x02)
Time: 2 Byte | offest to time frame in s (max 18h)
lon,lat: 8 Byte | result=value/10'000'000
h_acc. 1 Byte | (*1)
alt, acc: 3 Byte
flas: 1 Byte
-------
16 Byte
system frame
Type: 1 Byte (0x03)
Time: 2 Byte | offest to time frame in s max 18h
SYS: 1 Byte | system Message
RFU: 1 Byte | RFU (battery state by default )
-------
5 Byte
*1) result = value & 0x7F
if value > 0x7F:
result = result * 8
# 0..128, 0..1024