Talos Rowing (aka. robostroke) is written in Java.

PNG render of robostroke.dia

Data input

Data input consists of raw sensor data:

  • Accelerometer
  • Orientation
  • GPS

The data update frequency is also the highest for the accelerometer data.

The raw sensor data does not have to be real-time sensor data from the device running the application. It may be a re-play of a recorded rowing session or - when such code will be written - a sensor data feed from a remote device.

High frequency sensor data flow

The red lines show linear or multiplexed flow of high-frequency data from sensor input sources to consumers via various filters/processors. Sensor raw data maybe either be processed in order to calculate higher-level rowing information - such as stroke rate - or displayed in its near-raw form in graphs.

Message Bus

A message bus is used for low frequency asynchronous message communication between the various components. The various data processors (scanners, detectors) may send various events on the bus - such as the STROKE_START, STROKE_END event produced by the Rowing Detector component.

Project components

3 top-level projects currently exist.

  • robostroke-common
    Contains UI agnostic code which can be shared with either Android or Swing UI based applications.
  • robostroke-android
    Contains Android specific code and an Android front-end.
  • robostroke-swing
    Contains Swing specific code.
Last modified 12 years ago Last modified on Jan 19, 2012 9:41:14 AM

Attachments (2)

Download all attachments as: .zip