The data is split across two files, LogDataAccessTbl.bin and LogDataStorage.bin. The former provides information about the location of the actual workout data in LogDataStorage. Durations are given in tenths of a second.
Each entry in **LogDataAccessTbl** is 32 bytes, multibyte entries are Little Endian:
| Byte | Meaning |
|------:|-------------------------------------|
| 0 | Magic 0xF0 |
| 1 | Workout type |
| 2-3 | Interval rest time* |
| 4-5 | Workout name* |
| 6-7 | N/A |
| 8-9 | Timestamp* |
| 10-11 | N/A |
| 12-13 | No. of Splits* |
| 14-15 | Duration/Distance* |
| 16-17 | Record offset in LogDataStorage.bin |
| 18-23 | N/A |
| 24-25 | Size of record in bytes |
| 26-27 | Index |
| 28-31 | N/A |
( * unimportant, because either redundant in actual record or unreliable )
### Workout Types
| Value | Type |
|-------|-------------------|
| 0x01 | Free Row |
| 0x03 | Single Distance |
| 0x05 | Single Time |
| 0x06 | Timed Interval |
| 0x07 | Distance Interval |
| 0x08 | Variable Interval |
| 0x0A | Single Calorie |
## LogDataStorage.bin
Each entry in **LogDataStorage** has a header and a number of splits or intervals. The header size is either 50 bytes (workout types 0x01, 0x03, 0x05, 0x0A) or 52 bytes (others). The size of each split frame is 32 bytes for all workouts except type 0x08, where it is 48 bytes. Multibyte entries are, contrary to LogDataAccessTbl.bin Big Endian(!)