Giter VIP home page Giter VIP logo

wattzap-ce's Introduction

Wattzap Home Trainer Virtual Reality Software

WattzAp enables home trainer users (turbo trainers, rollers) to record details of their workout, follow training programmes all within a virtual reality environment.

WattzAp can:

  • display heart rate, cadence, rider speed and power both graphically and as real time data
  • follow workouts that target power, cadence and heart rate
  • synchronize the playback of compatible videos (Tacx RLV, Tacx TTS, Tacx Ergo, GPX, PWR) with your speed
  • share your results on sites such as Strava, SelfLoops etc

WattzAp works with standard turbo trainers and rollers. You don't need a complicated VR turbo trainer. WattzAp is an open platform, you can create your own videos and workouts and share these with other users.

This is the community edition of the Wattzap Turbo Trainer Software. It is provided "as is" and without support.

Some videos demoing Wattzap. https://www.youtube.com/watch?v=P5DpvG62SyI&list=PL6uvToCKj8yeJb1BikDlXhL75O01Obb6m

Latest Release

Version 2.9.0 September 24th 2020

In order to fix the FIT file import bug I have had to upgrade to the latest Garmin FIT library. This is only supported on Java >= 1.8. If you are running a lower version of Java FIT file imports won't work. I've not found a Windows 32bit JVM (the one Oracle supply is compiled 64 bit !!!). However the 64 bit version is supplied here.

Watch the video

Release Notes

  • Adds Lifeline TT02 Fluid Trainer Support
  • Corrects FIT file import for latest FIT versions

Cycling Videos

Videos

Video Playback

To play videos you will need VLC player. On Unix/Linux this can be installed via the application repository. VLC and a JVM is bundled in the Windows version but you will need to install an ANT USB driver (the windows version doesn't work). See the manual for details or watch this video.

Development

Basic Architecture

Wattzap is a Java Swing based application. An "Enterprise Bus" pattern is used for internal communication.

Mac OSX IMPORTANT

Due to an issue with VLC and Java the 1.6r45 JVM is used on Mac OSX. Please make sure your changes are compatible with this version of the compiler/libraries. Note the latest FIT binary is Java 1.8 only.

In order to support OSX on newer JVMs the video display will need to move to JavaFX in a later release. Otherwise run on JVM 1.6 but with no FIT import.

Building

Install Apache Ant and use the build.xml file

$ ant -f build.xml

Working on the Project

Feel free to contribute bug fixes, improvements etc to WattzAp. You can fork the project for your own purposes if you wish.

wattzap-ce's People

Contributors

davidzof avatar npignier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wattzap-ce's Issues

ANT+ Power Meter Support

Support Power Meters (no speed sensor)
Only in simulspeed mode
Preferences will have to have check box for:
Speed and Cadence
Speed
Cadence
Heart Rate
Power

Speed and Cadence means no Speed/Cadence or Power sensor
Power means no Speed sensor
Need at least one of Speed, S&C or Power

Real Life Video, no PGMF file

Show nice error when there is no pgfm file

FileNotFoundException : java.io.FileNotFoundException: /home/david/Videos/Cycling/Beal/chalmazel-beal-480p.pgmf (No such file or directory)

Preferences Multiple Bikes

Allow multiple bikes to be defined in preferences. These have: Name, weight, wheel diameter, crank length

Programme language

User should be able to force programme language in preferences: e.g. English, French etc.

Workouts I18N

Internationalyze all the workout/graph section of application.

Selfloops Upload

At SelfLoops, we have created a platform for athlete and coach to
analyze their performance.
Our website: http://www.selfloops.com/

It would be nice if you could add the "upload on SelfLoops" function
to upload files on our website.

We are partners of the Italian Cycling Federation and our platform is
used by pro cycling team and athletes. The integration would provide
a nice addition.

If it is OK for you, we can send you the documentation and APIs.
Thank you very much.

Workout View Dates

Allow user to enter specific dates when viewing workouts
Use a data picker

Scatter Plots Overlaid View

User should be able to select multiple workouts and view either as combined (as at present) or as seperate plots in different colors.

Mix of Meters/KM

A mix of meters and km are used internally for telemetry distances. Here is where setDistance is called.

com.wattzap.utils.GpxImporter.endElement(String, String, String) - sets as KM
com.wattzap.utils.TcxImporter.endElement(String, String, String) - sets as Meters
com.wattzap.utils.FitImporter.onMesg(Mesg) - sets as Meters
com.wattzap.utils.ActivityReader.readTelemetry(String) - whatever underlying importer has used
com.wattzap.model.ant.AdvancedSpeedCadenceListener.receiveMessage(BroadcastDataMessage) - KM
com.wattzap.utils.FitlogImporter.startElement(String, String, String, Attributes) - probably meters??

Strava upload

Add direct strava upload of trainings and imported workouts.

MMP grids

Add 20 minute and 60 minute gridlines to MMP graph

Power files, speed in player only mode

When playing power files where there is a speed value, use the speed to calculate power not power to give correct playback speed. Let the rider follow the speed and power.

Player Only Mode FTP

Player only mode requires a functional threshold power to be entered. Warn user if this is not done.

Multiple GPX loads

If you load multiple GPX routes the new route is displayed but when you start riding the crosshairs follow the first route and the gradient etc is incorrect for the film.

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.