#card #reader #punch #serial #protocols #time #orienteering

sportident

Interact with Sportident in rust with ease

6 releases

new 0.0.6 Jun 22, 2024
0.0.5 Jun 21, 2024

#364 in Hardware support

Download history 187/week @ 2024-06-01 5/week @ 2024-06-08

192 downloads per month

Apache-2.0

175KB
1.5K SLoC

crates.io version badge Documentation

Introduction

sportident-rs is a Rust crate that provides an implementation of the SportIdent reader protocol, allowing you to communicate with SportIdent devices via a serial port connection. SportIdent is a widely used timing system in various sports, such as orienteering, skiing, and running events.

Features

  • Poll card and read punch data (Supports: Si8, Si9, Si10, Si11, Siac, pCard, ComCard Up/Pro).

Roadmap

  • Configure SportIdent stations (set time, clear memory, etc.)
  • Configure SportIdent cards (set name, email, etc.)

Usage

Connect to a reader:

let reader = sportident::Reader::connect("/dev/ttyUSB0")
    .await
    .expect("failed to connect");

Poll card:

reader.poll_card()
      .await
      .expect("failed to poll card");

Dependencies

~6–19MB
~215K SLoC