Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

example

A reference app built on the pm5-base library, showing every workout variable a Concept2 PM5 reports in real time. It supports the same three transports as the library: Bluetooth, USB, and Mock (no hardware required).

Requirements

Running it

Serve the repo root (not this directory) with a static file server, since example/ loads library files from ../lib/:

python3 -m http.server 8000

then visit http://localhost:8000/example/.

Usage

  • Pick Bluetooth, USB, or Mock from the dropdown.
  • Bluetooth: on the PM5, More OptionsTurn Wireless ON. USB: connect the PM5 to your computer. Mock: nothing to set up — it replays a recorded workout on its own.
  • Click the Connect button. For Bluetooth/USB, select the PM5 from the browser's picker.
  • Give it a sec.
  • Click any field to highlight it.
  • For Bluetooth/USB: set up a workout on the PM5, start rowing / skiing / biking, and watch the numbers change. For Mock, the numbers start climbing immediately (real-time by default, looping) — a speed dropdown (1x–16x) appears next to Connect and can be changed live while replaying. A file picker appears alongside it: choose a .csv (Concept2 Logbook export) or .json (e.g. from ergarcade/recorder's full-fidelity export) to replay that instead of the shipped demo workout.
  • Split metrics into cards (checkbox next to Connect): by default, fields are grouped into one card per event type, matching how the data actually arrives on the wire (e.g. everything BLE reports lands under one "Multiplexed Information" card, same as on real hardware). Check the box to instead give every individual metric its own card — a display-only regrouping for browsing the data, not a protocol distinction.

Tested on Chrome on macOS. Source on GitHub.

For how the library classes used here (PM5, PM5HID, PM5Mock, pm5fields) work, see the main README.