Keiser® eChip PRE-RELEASE

Development Guide for the eChip and eChip Portal Tool.

The Keiser eChip platforms allows workout data to be collected from Keiser Air and Infinity machines equipped with the Power Display.

Overview

The Keiser eChip platform is built around Maxim's iButton memory device (aka eChip). The eChip is a robust chip capable of storing data of up to 200 workout sets. eChip readers are built-in to all Power Display equipped workout machines in the Keiser Air and Keiser Infinity lines.

Ideally, the eChip is left at the facility (gym, school, hotel, etc) blank. Upon arrival, the user's data is written to the eChip based on previous workout history. The user then proceeds with their workout, using the eChip to log their workout sets on each machine. Following the workout, the user's data is read from the eChip and the eChip is cleared in preparation for the next user.

eChip Portal Tool

The eChip Portal Tool is an app written for Google Chrome and available from the Chrome Web Store. The app implements all necessary UI elements and handles the interfacing with the eChip. This allows the web application to remain visually unchanged while still supporting the eChip platform. All of the necessary changes happen behind the scenes in the Javascript running on the page.

The eChip Portal Tool functions as a minimalist browser window. The app is configured with an application url which is loaded upon launching the app. The app window is largely comprised of a large browsing window where the web application will be served with a small toolbar along the bottom of the window for controlling eChip functions.

eChip Portal Tool window with full eChip controls.

eChip Utilities Library

Communication between the eChip Portal Tool and the web application is performed using messaging across the web application's window element. This is abstracted using the eChip Utilities library into a single call to the Portal Messenger method. Reference the eChip Utilities GitHub page for instructions on installation and loading of the library.

The eChip Utilities library also includes a utility for retrieving the specifications of a machine based on the model number. The model numbers of machines are handled as integers rather than strings, and will always be referenced to in the HEX form of the value.

Data Structures

The data received from the eChip Portal Tool is an object with 2 properties (id, machines). The id property holds the value of UUID of the eChip in HEX form. The machines property is an object with properties corresponding to the machine model number in HEX form (as a string, not an integer).

Within each machine.[model] property is an object with 2 properties. The position property is an object with the position settings for that machine. The sets property is an array of objects representing 1 workout set. Within the workout set are properties detailing the parameters of the set, including time, resistance, and number of reps.

{
  "id": "FA00000034BB910C",
  "machines": {
    "1335": {
      "position": {
        "chest": null,
        "rom2": 3,
        "rom1": null,
        "seat": 3
      },
      "sets": [
        {
          "model": "1335",
          "version": "3EC8495A",
          "serial": "0124 2013 0858 4743",
          "time": "2016-03-30T14:49:03-07:00",
          "resistance": 120,
          "precision": "int",
          "units": "lb",
          "repetitions": 6,
          "peak": 497,
          "work": 865
        },
        {
          "model": "1335",
          "version": "3EC8495A",
          "serial": "0124 2013 0858 4743",
          "time": "2016-03-30T14:53:34-07:00",
          "resistance": 135,
          "precision": "int",
          "units": "lb",
          "repetitions": 5,
          "peak": 602,
          "work": 934
        }
      ]
    }
  }
}

The properties within each sets will vary between machines, and can potentially vary between sets based on if a set is a standard workout set, or a test set.

NOTE An asterisk (*) next to the name denotes a property that will always be present.

Property Name Data Type Description
model * String Model of machine the set was performed on.
version * String Version number of machine the set was performed on.
serial * String Serial number of machine the set was performed on.
time * W3C Datetime Date and time that the set was started.
resistance * Integer The resistance setting of the machine. Precision and units are specified by other properties.
precision * Enumerator Specifies precision of the resistance value. Potential values: int, dec
units * Enumerator Specifies units for the resistance value. Potential values: lb, kg, ne, er
repetitions * Integer Number of repetitions performed during the set.
peak Integer The peak power achieved during the set.
work Integer The amount of work performed during the set.
distance Integer Distance traveled during set (for use on Runner).
test_type Enumerator Specifies the type of test performed. Potential values: power6r, a4206r, a42010r
test_low_power Integer
test_low_velocity Integer
test_low_force Integer
test_low_position Integer
test_high_power Integer
test_high_velocity Integer
test_high_force Integer
test_high_position Integer

NOTE This document is currently under construction. Additional information will be added continuously while the APIs and libraries are in development.

Development Tools

Name Description
eChip Utilities Library of utilities to assist in the communication between the eChip Portal Tool and a web application.
eChip Portal Tool Source code of the eChip Portal Tool. Includes an "external-test" directory which includes example uses.
1-Wire® for Javascript Source code of 1-Wire® library used for communication between eChip Portal and iButton device.

Developer Support

We are here to help. If you are having trouble understanding the documentation or have a question, please feel free to contact us. We also want to hear what great things people are able to do with our products, so please let us know about your project.

Keiser Open Development
development@keiser.com
Toll-Free: +1 (800) 888-7009