Giter Club home page Giter Club logo

flux's Introduction

Flux

Flux is an App for executing structured workouts on a smart trainer.

  • executing Zwift .zwo workouts
  • works with bluetooth smart trainers, power meters and heart rate monitors.
  • ERG mode and extended manual control of your trainer with Grade Simulation and Resistance mode.
  • workouts with Slope targets
  • recording .FIT Activities compatible with all major platforms like Strava, Training Peaks, etc
  • build-in collection of structured workouts to get you started

The web version is free to use and open source. It is developed as a static PWA, has zero dependancies and is completly independant to run. Everything happens in your Browser and stays in there. It uses Web Bluetooth, Web Serial, Web Components, IndexDB, Local Storage, WakeLock API.

Status: I am working on adding automated testing while refactoring the code and moving some parts to a separate projects like FitFile, WebANT, Functions

Screenshots

Home Page Workouts Page Settings-page

Supported Browsers

TL;DR: Use Google Chrome on Android, Windows 10, Mac (M1 or Intel) and Ubuntu, but not iOS or Apple TV.

A fully featured web version will be released soon, and followed with desktop apps later. The Web version is running directly in the browser and relies on some of the latest web platform technologies. Browser support for the web version is the following:

Chrome Edge Opera Chrome Android Samsung Internet Firefox Opera Android Safari Safari iOS
yes yes yes yes yes no no no no

Linux

On Chrome, Edge and Opera for Linux you might need to turn on the experimental platforms feature flag at

  • Chrome: chrome://flags/#enable-experimental-web-platform-features

  • Edge: edge://flags/#enable-experimental-web-platform-features

  • Opera: opera://flags/#enable-experimental-web-platform-features

NOTE: Opera support on Linux is a bit shaky at moment. Expect updates.

iOS

For iOS you can try WebBLE which is:

Very simple web browser that supports an initial subset of the web bluetooth.

It is not tested or supported by this project, but you can give it try if your only option is iOS.

Supported Trainers

FTMS, or FE-C over BLE

Works with all trainers that implement the bluetooth Fitness Machine Service (FTMS) or the Tacx FE-C over BLE solution.

The following table is copied from DC Rainmaker Trainer Guide and shows current protocol support across the industry.

- Elite:    ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- Gravat:   ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers
- JetBlack: ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- Kinetic:  ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- Minoura:  ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- Saris:    ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- STAC:     ANT+ FE-C and Bluetooth FTMS on all 2020 smart trainers.
- Tacx:     ANT+ FE-C on all ‘Smart’ branded trainers (except Satori). FTMS on all non-NEO models. FEC over BLE on NEO.
- Wahoo:    ANT+ FE-C on all smart trainers. FTMS on all 2020 smart trainer.
- 4iiii:    ANT+ FE-C and Bluetooth FTMS on Fliiiight (--Ed)

ANT+

Support for ANT+ is experimental at the moment. Works only on Linux desktop in combination with ANT+ stick. Follow these instructions to give permissions to the ANT+ USB stick. Support for Android and Windows 10 is coming soon.

The current development setup is using Suunto movestick mini, Garmin Fenix 5 watch broadcasting heart rate, Tacx Heart Rate monitor, and Tacx Flux S trainer, with an Ubuntu 20.04.2 LTS laptop and M1 Mac.

The Demo

You can check a pre-release demo of the web version at Latest Version on master, or Latest development vesion

Keep in mind it is in active development and will change and break on daily bases, that's until the first stable version is released.

flux's People

Contributors

991jo avatar dvmarinoff avatar ihilt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.