Skip to content

CedricVanhaverbeke/go-train

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-train

logo

this project aims to control my indoor bike trainer with a training and display the training as it would on Zwift or other platforms. Since I don't care about those virtual environments, but I'd like to watch a movie, the training should be shown as an overlay.

Goal

The ultimate goal of this app is to start a predefined training, finish it on my bike trainer at home and upload it to Strava.

Running the project

This is a go 1.23.0 project

# After cloning
1. go mod tidy

# Looks for a suitable bluetooth trainer, starts a training and controls the trainer.
2a. go run main.go 

# Starts a training on a mock bluetooth trainer. It mocks incoming data from the trainer
2b. go run main.go -m true

Done

  • Create a random training with durations and power
  • Show an overlay with ebitenengine
  • Create basic sprites
  • Make the sprites update every second with data from the random trainer
  • Make the training have a sense of time, it should progress every second
  • Connect to a bluetooth trainer
  • Control the bluetooth trainer (EGC power mode)
  • Get the power from the trainer
  • Have a mock setting
  • Create a mock route

TODO

  • [] Add elevation metric to the route
  • [] Determine distance / determine the progression of the route
  • [] Get the speed from the trainer
  • [] Write data to a gpx file

About

Indoor bike training application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages