Skip to content
Wouter Dubbeldam edited this page Feb 28, 2024 · 197 revisions

User manual:

Please read the FortiusAnt User manual (version information is in the manual).

Special files:

There are some supportfiles outside this repository:

Functional changes and release notes:

Version 6.x (under development)

Build executables via GitHub Actions finally merged into the repository (see pull request #160).

  • Thanks to @MarcoVeeneman and my appologies for late adoption; I'm curious to see it work in practice.
  • Defined actions still running when writing this wiki-text.

Miscellaneous improvements (see issue #381).

  • Gearbox now working for Genius
  • HRM values from an ANT HRM device now transmitted properly through FE-C (tested with Rouvy)
  • HRM connect/disconnect improved and when no signal for 5 seconds, zero is displayed
  • ANT/Remote button handling improved

Gearbox overlay; When you use the virtual gearbox AND FortiusAnt is not on top, a small transparent overlay is displayed with the gearbox data to overlay on a CTP (see PR #456).

Todo:

  • ANT/Remote has four buttons, but 3 are implemented

Version 6.8 (.exe released dec 15th, 2023)

  • Vortex trainer not found; interactive settings improved (see issue #445).
  • Continuously message "insufficient data"; recovery improved (see issue #446).

Issues that are marked with "Future Development" are all closed, so that it does not clutter the issue list. They can be found, searching for that label, using this link.

Version 6.7 (.exe released May 5th, 2023)

Version 6.6 (released March 7th, 2023)

Version 6.5 (released August 10th, 2022)

  • With the current bless library, -bb can now be used to work with BLE without using nodejs.

Version 6.4

  • Bluetooth using bless library implemented (see issue #366).
  • Raspberry display - update to dejavu fonts (see issue #379).
  • v6.3 will not boot with a custom fortiusantsetting.JSON file created with the console (see issue #373).
  • -O st7789b added; Waveshare 1.3 LCD with different pin layout (see issue #363).
  • Grade scaling bug, using BLE (see issue #362).
  • Crash on raspberry with display and simulation mode (see issue #361).
  • Running FortiusAnt on Windows 10 does not work with BLE enabled (see issue #360).
  • Minor manual modifications, see manual.

Version 6.3 (released January 4th, 2022)

Version 6.2 (released April 29th, 2021)

  • Raspberry Pi4 setup without monitor - but TFT display (see issue #237).
  • Raspberry Pi LEDs and button configurable; pin-layout different when TFT screen used
  • Raspberry Pi LEDs integrated into GUI
  • GUI centered on screen.
  • Speed display in miles/hour (-i flag).
  • Messages were lost (see issue #286).

Version 6.1 (released March 17th, 2021)

  • Vortex: improve HU mode-switch, keep-alive, handle brake errors (see issue #252).

Version 6.0 (released March 17th, 2021)

Raspberry PI:

  • Small modifications to adjust to platform; minor button and text-size.
  • led-option added to show Tacx, Shutdown, Cadence, BLE and ANT status. Button can be used to shutdown.
  • manual chapter to build raspberry added
  • installation scripts in directory ./raspberry

Small updates:

  • ANTdongle released when ending FortiusANT (see issue #203).
  • BLE error recovery on startup improved.
  • FortiusANT ID's made dynamic with -B flag (see issue #260).
  • GUI is disabled automatically if wxPython is not installed.
  • homeTrainer option added, which is a variant to the manual power mode. Instead of +/- 10 Watt, the buttons +/- 10%.
  • Power displayed during calibration
  • Pedal Stroke Analysis graphics improved by improving the ANT-loop (less timeout)

Several small improvements for Tacx Vortex see PR #252.

  • improve reliability of switching HU to PC-mode: keep sending mode switch command whenever the wrong mode is detected (e.g. first command gets lost, HU was turned off and on again)
  • send keep-alive page every 10s (like TTS4) instead of every 0.25s; should be more than enough (head unit only turns off after 3 minutes)
  • handle and display brake errors/warnings
  • improve debug output for Vortex pages (now consistent with Genius and Bushido output)
  • disable time-out for pairing to the brake
  • replace "i-Vortex" with "Vortex" everywhere for consistency: i-Vortex is just the T2170 bundle, but older T1960/T1965 bundles should work just as well
  • minor code clean-up

see PR #254:

  • Only apply -a -g -H0 -A if no CLI arguments are given and no json file was loaded
  • With the patch, pairing of the Genius or Vortex+HU for me is consistently immediate with ANTUSB-m and < 5s with older ANTUSB2
  • Always show the lower part of the welcome message
  • Fixed calls to close for the json file (parentheses are required since Python 3, otherwise it does nothing)

Version 5.2 (released Feb 11th, 2021)

  • Manual updated to current status, section "Windows Quickstart" added

Version 5.2 (released Feb 4th, 2021)

  • Fortius calibration was nicely done but the measured value was not used; now it is. Please rerun your FTP-test.
  • During calibration, the cadence meter shows the countdown (120 ... 0) now reflected by the title ("Calibration countdown").
  • Added: Github Help button and Sponsor button (see issue #189).
  • Random UI-crashes (on raspberry) resolved (see issue #216).
  • Fix ANT command status response (page 71) (see issue #222).

Version 5.1 (released Jan 21st, 2021)

Functional changes:

  • because many people asked for it: settings can be modified interactively and stored in a json-file. All parameters can be modified and stored, for some parameters FortiusAnt must be restarted (which can be postponed or done immediatly). The data in the json-file takes preference over the command-line.
  • font/rear changing (see issue #120); Up/Down = rear change, Cancel = front change, Enter = reset.
  • power changing from headunit (see issue #195).

Quality improvements:

  • Motor brake version message handling improved (see issues #201 and #173). The message "FortiusAnt applies the [MotorBrake | MagneticBrake] power curve" is given at initialization.
  • CTRL, PWR, FE, HRM interleave, Eventcount and Rollover improved
  • Bluetooth; location of ./node directory improved (not longer dependant of current path)
  • T1942 head unit: .hex files location improved (not longer dependant of current path)
  • lib_programname added to requirements (related to previous two)
  • User is notified on the console when ANT/BLE is activated/deactivated; between these two messages a CTP can pair with FortiusAnt
  • -t Motorbrake for Fortius trainers that do not return the motorbrake message
  • PowerFactor range extended to 50% ... 150% (see issue #210).
  • Calibration skipped when recovering from CYCplus ANTdongle issue (see issue #202).
  • Cassette sprocket size was not displayed correctly in some cases, corrected
  • Power issue resolved in Grademode
  • Virtual gearbox calculation adjusted (outside cassette boundary)

Version 5.0 (released January 4th, 2021)

Best whishes to you all and a lot of fun using your "old" Tacx Trainer.

We make a great start of this new year with a major release number! After an intense period of development by @switchabl resulting in support for Tacx Bushido and Tacx Genius. Thanks to all who contributed to get the ANT Tacx trainers operational!

Implemented issues:

Version 4.1.1 (released December 24th, 2020)

  • Correctly handle T1942/T1946 combi (see issue #173).

  • Implement bluetooth support - tested with Zwift. Thanks to @marcoveeneman (see issue #103).

  • Improve run-off procedure (see issue #147); runoff procedure structured and parameterized.

  • Ignore head unit buttons (see issue #164); main window can only be closed from GUI.

  • ANT Remote Control Support (see issue #121); UP / SELECT / DOWN button can be used to replace head unit buttons Up / OK / Down.

  • FortiusANT can operate without ANTdongle if -b is specified; of course then no ANT-devices can be broadcasted or paired

Version 4.0 (released December 11th, 2020)

A special occasion, to celebrate with a major release number! We have had an intense period of development guided by @switchabl and @cyclingflow where @bikebeppe64, @mikeherriman, @mk2mark and @jurgen-iflow assisted with testing to get the Flow/Magic trainer correctly integrated. We are convinced we have a good implementation to Zwift/Rouvy/Trainer Road/etc with a "Magnetic Brake on new USB head unit".

The new release contains the following elements; more info in the manual.

  • Speedscale = 289.75; see @switchable's comment
  • FortiusAnt automatically discovers that a Magnetic Brake is used on the "new" head unit.
  • Magnetic brake power curve formula implemented, see manual. (see issues #143 and #153)
  • For Magnetic Brake (flow, magic) 14 distinct steps are implemented for TargetPower 0...650 in direct testmode (-r flag)
  • Command line parameter -c (Calibrate Rolling Resistance) introduced, see manual
  • Command line parameter -D (antDeviceID) introduced, see manual
  • Command line parameter -G (GradeAdjust) introduced, see manual
  • Command line parameter -p (power factor) is defined as a percentage to be consistent with -G.
  • Command line parameter -r (resistance) introduced; TargetPower is directly sent to brake for test-purpose
  • Command line parameter -u (uphill) dropped; -G/0 can be used
  • Calibration messages improved to avoid pedalling during calibration

Note: "Unable to set default locale: 'unsupported locale setting'" may be given at program startup, which may be caused by the wx-library. This can be ignored.

Version 3.8 (released November 19th, 2020)

  • Pedal Stroke Analysis timing improved (correcting solution for #104 in version 3.3)
  • JSON file contains PedalEcho and PedalCycle

Version 3.7 (released November 18th, 2020)

  • When initiating ANTdongle, retry added as suggested by @martin-vi
  • The logfile shows whether the windows executable or the python version is started
  • Calibration implemented for head unit T1942 (see issue #144)

Version 3.6 (released November 15th, 2020)

  • Manual updated
  • Pressing button "long" halts FortiusANT (see issue #135)
  • WarmUp() routine, before Calibrate() (see issue #132)
  • TCX is generated that can be imported into SportTracks, TrainingPeaks, Strava, etc. [extended with distance/altitude/position] (see issue #125)
  • When -d32 is specified a JSON file is written with operational data for FortiusANT analysis (-d127 covers the 32)
  • ANT messages were not nicely sent every 250ms, sometimes 500ms

Version 3.5 (released November 5th, 2020)

  • Basic resistance implemented as requested (see issue #119)
  • FortiusANT displays "Fortius Antifier v3.5" in the title. As soon as 3.6 is released the title will be: Fortius Antifier v3.5 [version on Github=Fortius Antifier v3.6] and it is up to the user to download the new version. (see issue #124)
  • In manual mode, a TCX is generated that can be imported into SportTracks, TrainingPeaks, Strava, etc. (see issue #125)

Version 3.4 (released November 3rd, 2020)

  • Minimum resistance (below calibrate value) removed, which causes a Fortius to assist when 25Watt TargetPower is requested. This is useful for athletes with low FTP, e.g. 50Watt. The limit was implemented because this usefulness was not understood when implementing (motor-function seemed undesired).
  • Adjust virtual flywheel according to virtual gearbox (see issue #118)
  • FortiusANT now works without an AntDongle in the system (see issue #123)

Version 3.3 (released October 16th, 2020)

  • Operates without ANT+ dongle
  • Runoff did not work (well) since version 3.0. Corrected.
  • Command line parameter -u (uphill) introduced (see issue #114)
  • Short buffer message (<40) error recovery improved (see issue #104)

Version 3.2 (released June 14th, 2020)

  • Publish cadence and power through "Speed and Cadence Sensor" and "Bike Power Sensor" profiles (see issue #79)

Version 3.1 (released June 8th, 2020)

Version 3.0 (released May 19th, 2020)

  • Grade mode calculation rationalized, modified according Gribble and -b -f -r removed (see issue #51)

  • Dongle- and Trainer- implementation improved (see issue #54)

  • Support for Data Page 50 - Wind Resistance (see issue #55)

  • Support for Data Page 51 - Coefficient of Rolling Resistance (see issue #56)

  • CYCPLUS dongle disconnect recovery implemented (see issue #65)

  • Startup messages if no command-line parameters specified at all; suppress with -a.

Version 2.6

  • GUI performance improvement by implementing multi-processing.
  • Support Tacx i-Vortex (see issue #46)
  • Pedal stroke analysis (command line -A) implemented. (see issue #48)

Version 2.5

PowerMode implemented: if you want to do a ride with Zwift/Rouvy for the entertainment and an interval training with TrainerRoad in that route, specify -P on the commandline. During the interval training (PowerMode) the commands from Zwift/Rouvy (Resistance mode) are ignored.

Powercurve is displayed graphically as number of teeth on the cassette (standard is 10, range = 3 ... 35).

Messages are displayed in same font as the measurements, -p Powerfactor no longer displayed.

Before calibrating, "start pedaling" is displayed.

Runoff is improved; crashed and messages were not clear.

Version 2.4

2020-03-29 Powercurve can be adjusted runtime, see wiki

2020-03-29 Loadable firmware is in same folder as .py or .exe for consistency

Version 2.3

Published with the following changes:

2020-03-23 Short received buffer for "Fortius Solid Blue" (48 bytes interface) supported

2020-03-02 iMagic supported

2020-02-26 Multiple dongles supported correctly

Version 2.2

Published with the following changes:

2020-02-10 Speed and Cadence Sensor code samples added

2020-02-09 FortiusANT -H parameter added.

2020-02-07 Texts on the interface enlarged.

2020-01-29 ExplorANT created.

Technical changes:

Are documented in the individual python modules.