Code Monkey home page Code Monkey logo

waostats's Introduction

WaoStats

icon

macOS Windows wahooELEMNT Qt&5 FitSDK dropboxQt QMapControl QCustomPlot

Commit Activity Last Commit Contributors Open Issues Closed Issues

A desktop application to analyse and archive your Wahoo ELEMNT bike computer tracks. It runs on macOS, Windows and Linux.

waostats

Main features are:

  • load all your Wahoo FIT files into the application
  • view the statistics (entire track and lap/section) from your FIT files
  • view your Wahoo computer firmware versions, used sensors and their battery status (when track ended)
  • plot the recorded values (altitude, speed, cadence, temperature, grade, heartrate, power, battery, calories, L/R balance, gears, gear ratio, gps accuracy) from your FIT files, over time or over distance
  • link your tracks to your used devices (bikes) and see total kilometers per device
  • dropbox sync your FIT files
  • ADB (USB) sync your FIT files directly from your Wahoo bike computer
  • display your track on 16 different maps (google, openstreetmap, bing and more)
  • load GPX tracks into the application with reduced statistics (compared to FIT)
  • log service activities and get service reminders

Used Libraries

  • dropboxQt, under MIT
  • QCustomPlot, under GPL 3.0
  • QMapControl, under LGPL 3.0
  • FitSDKRelease_21.105.00, download code from Garmin official SDK webpage
  • App Icon by 71M

Download

  • Download here
  • Currently supported OS: macOS 10.13.6 and later, Windows 8 and later, Ubuntu 20.04 and later

Compile

  • Download FitSDKRelease_21.101.00 and copy archive content into FitSDKRelease_21.101.00 folder (when using fit C++ parser only - by default this step not needed)
  • Compile dropboxQt, as described in subfolder dropboxQt. You should get "WaoStats/dropboxQt/prj/libdropboxQt.a"
  • Open WaoStats.pro into QtCreator, compile with Qt5.15.2 and Clang(macOS) or minGW(Windows)
  • On Windows, install OpenSSL and copy library files to application folder

Compiling on Ubuntu: howto (thanks to Intyre)

Application - First Start

  • Open application.
  • Create / select a path of your choice, which shall contain your track files (fit/gpx).
  • In this path, create subfolders for your bikes (or choose from WaoStats menu: Archive - Add New Bike).
  • Put your track files (fit/gpx) into these subfolders.
  • Choose from WaoStats menu: Archive - Scan Tour Folder.

archive

Dropbox Sync

Tutorial video

IMAGE ALT TEXT HERE

Setup (do this before first sync)

  • Get an API app key by registering with Dropbox: https://dropbox.com/developers/apps
  • Click "Create app", give it reading permission to your "Apps/WahooFitness" folder. (Probably just option "Full Dropbox" can do this.)
  • On next page ("Permissions"), check "files.content.read" and "profile". Click "Submit".
  • Find your app key and app secret on page "Settings".

Sync

  • Enter app key and app secret to WaoStats dropbox menu.
  • Click "Get Token", follow the dropbox pages.
  • Copy the token from dropbox page into WaoStats menu.
  • WaoStats now is allowed to read your fit files (once). Another reading process needs a new token with same keys.
  • Find downloaded fit tracks in archive folder / WaoStats left list "New"

ADB Sync

  • Connect Wahoo device to your computer.
  • Open in WaoStats Archive -> ADB Sync, click Scan. The Wahoo device should be shown "unauthorized".
  • Disconnect Wahoo device to your computer.
  • Start debug mode for Wahoo device. (Press Up+Down+Power at the same time. Do this in Wahoos Pan & Zoom mode, because here menu options stay untouched.)
  • Connect Wahoo device to your computer.
  • Open in WaoStats Archive -> ADB Sync, click Scan. The Wahoo device should be shown with its name.
  • Choose your device and click select.
  • Find downloaded fit tracks in archive folder / WaoStats left list "New"

Plot

  • Wheel on plot: zoom 2D
  • Wheel on axis: zoom 1D
  • Left drag on plot: move 2D
  • Left drag on axis: move 1D
  • Right click: select between curves

waostats's People

Contributors

masc4ii avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

Forkers

macdet

waostats's Issues

Cache for map

Create a cache for the map, if only location pointer has changed.

Optimize track rendering

Especially long tracks render very slowly.

Reason should be function GeometryLineString::draw(...)

Add costs to service

Add two more fields/columns into service section: cost (money + time). Maybe sum it. Maybe filter it (parts).

Sync with Dropbox not working

I've setup Dropbox access as per README, with access for the app to my complete dropbox. When I paste an updated Dropbox token into the "sync dropbox" dialog, I only get the following error
image

Fit files are in Apps/WahooFitness as per default.

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.