# pace2fit

Generate Garmin FIT workout files from a simple DSL

Workout Name (optional)

## DSL Syntax Reference

### Structure

, | Separates steps
+ | Separates sub-steps inside a repeat
Nx(...) | Repeat N times
@ | Introduces a target (pace or zone)

### Durations

10min | Time in minutes
30sec / 30s | Time in seconds
5km | Distance in kilometres
400m | Distance in metres
warmup | Open-ended warmup
cooldown | Open-ended cooldown
open | Open-ended (lap button)

### Targets

@Z1 .. @Z5 | Heart rate zone
@5:30 | Pace (auto +/- 5s range)
@5:00-6:00 | Pace range (min:sec/km)
@easy | Named zone (see below)

### Named Pace Zones

recovery | 7:00 - 6:30 /km
easy | 6:30 - 6:00 /km
marathon | 5:20 - 5:00 /km
tempo | 5:15 - 5:00 /km
hm | 4:55 - 4:40 /km
threshold | 4:45 - 4:30 /km
interval | 4:15 - 3:45 /km
repetition | 3:45 - 3:30 /km

### Examples (click to load)

- `30min@easy` Easy 30-min run
- `warmup@6:00,10km@tempo,cooldown@6:30` 10K tempo
- `warmup@6:00,3x(8min@threshold+2min@easy),cooldown@6:30` Threshold intervals
- `warmup@6:00,8x(400m@Z5+400m@Z1),cooldown@6:30` Track 400s
- `warmup@6:00,2min@Z3,4min@Z4,6min@Z4,4min@Z4,2min@Z3,cooldown@6:30` Pyramid