Nikke
unread,Mar 19, 2008, 8:41:14 AM3/19/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to s710
Hi
I have made some adjustments on the s610i fileformat since the one
provided by the s710i source didn't fit that well with my recordings
in interval mode.
I think that I also have discovered how to enterpret byte 25, 27, 34,
35, 36 and 64, and I have some thoughts on recoveryhr error
enterpretation.
/Niklas
Byte Meaning
--------------------------------------------------------------------------------------------------------------
0 Bytes in file (LSB)
1 Bytes in file (MSB)
2 Exercise number (0 to 5) [MM]
3 Exercise label (byte 0) [MM]
4 Exercise label (byte 1) [MM]
5 Exercise label (byte 2) [MM]
6 Exercise label (byte 3) [MM]
7 Exercise label (byte 4) [MM]
8 Exercise label (byte 5) [MM]
9 Exercise label (byte 6) [MM]
10 File date (seconds) (BCD)
11 File date (minutes) (BCD)
12 File date (hours) (BCD)
13 bit 7 - UNKNOWN
bits 6-0: File date (day of month) (BCD)
14 File date (year, offset from 2000)
15 L: File date (month, jan = 1)
U: Exercise duration (tenths of a second) OK
16 Exercise duration (seconds) (BCD) OK
17 Exercise duration (minutes) (BCD) OK
18 Exercise Duration (hours) (BCD) OK
19 Avg HR OK
20 Max HR OK
21 Total number of laps recorded (interval+user recorded)
22 Number of user recorded laps - the laps recorded as intervals
23 User ID (BCD, 0-99) [MM] OK
24 bit 1: Units (0 = metric, 1 = english)
25 bit 7: Interval mode (0 = on, 1 = off)
bit 6: unknown
bit 5: unknown
bit 4: unknown
bit 3: unknown
bit 2: recovery mode (0 = on, 1 = off)
bit 1: unknown
bit 0: unknown
26 Recording interval (0 = 5s, 1 = 15s, 2 = 60s) OK
27 bit 7 : unknown 0
bit 6 : unknown 0
bit 5 : unknown 0
bit 4 : recovery (0 = timer, 1 = HR)
bit 3 : unknown 0
bit 2 : unknown 0
bit 1,0: interval (0 = manual, 1 = timer, 2 = HR)
-- note on bit 27: these are settings, it does not tell you
if recovery/interval mode is enabled.
28 Limits 1 (Low) OK
29 Limits 1 (High) OK
30 Limits 2 (Low) OK
31 Limits 2 (High) OK
32 Limits 3 (Low) OK
33 Limits 3 (High) OK
34 recovery sec (bcd) OK
35 recovery min (bcd) OK
36 HR decrease during recovery
37 Below Zone 1, sec (BCD) OK
38 Below Zone 1, min (BCD) OK
39 Below Zone 1, hour (BCD) OK
40 Within Zone 1, sec (BCD) OK
41 Within Zone 1, min (BCD) OK
42 Within Zone 1, hour (BCD) OK
43 Above Zone 1, sec (BCD) OK
44 Above Zone 1, min (BCD) OK
45 Above Zone 1, hour (BCD) OK
46 Below Zone 2, sec (BCD) OK
47 Below Zone 2, min (BCD) OK
48 Below Zone 2, hour (BCD) OK
49 Within Zone 2, sec (BCD) OK
50 Within Zone 2, min (BCD) OK
51 Within Zone 2, hour (BCD) OK
52 Above Zone 2, sec (BCD) OK
53 Above Zone 2, min (BCD) OK
54 Above Zone 2, hour (BCD) OK
55 Below Zone 3, sec (BCD) OK
56 Below Zone 3, min (BCD) OK
57 Below Zone 3, hour (BCD) OK
58 Within Zone 3, sec (BCD) OK
59 Within Zone 3, min (BCD) OK
60 Within Zone 3, hour (BCD) OK
61 Above Zone 3, sec (BCD) OK
62 Above Zone 3, min (BCD) OK
63 Above Zone 3, hour (BCD) OK
64 Best Lap nr
65 [U]: UNKNOWN (6)
[L]: Best lap tenths of a second (BCD) OK
66 Best lap seconds (BCD) OK
67 Best lap minutes (BCD) OK
68 Best lap hours (BCD) OK
69 Energy * 10 (BCD) (lower 2 digits) OK
70 Energy * 10 (BCD) (next higher 2 digits)OK
71 Energy * 10 (BCD) (highest 2 digits) OK
Energy = ((BCD(b69) + BCD(b70)*100 + BCD(b71)*10000)/10.0
72 Total energy (BCD) (lower 2 digits) OK
73 Total energy (BCD) (next higher 2 digits) OK
74 Total energy (BCD) (highest 2 digits) OK
Total energy = (BCD(b72) + BCD(b73)*100 + BCD(b74)*10000
75 Cumulative workout time (hours) (BCD) OK
76 Cumulative workout time (hundreds of hours) (BCD) OK
77 Cumulative workout time (minuts) (BCD)
[Lap data]
n = Total number of laps recorded --byte 21
if(interval mode) --bit 7 byte 25
offset = 10
SWHR(offset)
[83 + (lap n) * offset] recovery time sec (BCD) --same as byte 34
[84 + (lap n) * offset] recovery time min (BCD) --same as byte 35
[85 + (lap n) * offset] HR decrease during recovery --same as byte 36
[86 + (lap n) * offset] lap numbering, more on that below
else
offset = 6
SWHR(offset)
where
SWHR(offset) =
[77 + (lap n) * offset] t1t0ssssss
[78 + (lap n) * offset] t3t2mmmmmm
[79 + (lap n) * offset] hhhhhhhh
--stop watch hhhhhhhh 00mmmmmm 00ssssss 0000t3t2t1t0
[80 + (lap n) * offset] lap HR
[81 + (lap n) * offset] avg HR for the lap
[82 + (lap n) * offset] max HR for the lap
Lap numbering:
bit 7 : unknown
bit 6,5 : 0 0 lap
0 1 zone 1 --warmup
1 0 zone 2 --interval
1 1 zone 3 --cooldown
bit 4-0 : number in zone.
The last interval-recording lapnumber equals previous interval-
regording lapnumber. This recording is (might
be) an summation of the intervals.
Cooldown number is (might be) the number of intervals recorded (really
strange, but that is what it looks like).
HR decrease:
0xfb: not recorded
0xfc: negative decrease ?
0xfe: negative decrease (increase HR might be the value at the
recovery minut position)
0xff: not recorded
It might be the case that the numbers above tell you how to enterpret
the value of the previous two bytes (minute and second recovery.)