Crate kdri [] [src]

A library to control Kettler devices via bluetooth.

It provides suppport follwing devices

  • TOUR
  • RACER
  • ERGO
  • RECUMBENT
  • UNIX
  • SKYLON
  • RUN
  • TRACK

Everything was tested only on a RUN 7, so information for other models is highly appreciated!

Internal Information

A bluetooth socket using the RFCOMM protocol is created and handled in a mio::EventLoop. The Kettler protocol basically works through requesting a value like speed, and reading the following response from the device. This leads to the need of requesting the values after a time, because the last values might be outdated. The default speed of refreshing is 100ms but can be changed by using set_update_interval().

Structs

BtAddr

A 6-byte long MAC address.

KettlerConnection

Manages a connection to a device. All important functions are located here.

KettlerDevice

Enums

KettlerBrakeMode

Can be Power or Brake (untested, probably for bikes).

KettlerDeviceState

Can be Up or Down.

KettlerDeviceType

Specifies type of Kettler device.

KettlerPowerRange

You can be Below, In and Above a specific power range (untested).

Traits

FromPrimitive

A generic trait for converting a number to a value.

Functions

scan_devices

Return a vector of Kettler devices you can connect to.