Please sign in to comment.
Support for TTS files. (#3333)
Support training with Tacx TTS files: TTS distance and gradient are honored meaning training load should exactly match tacx. Ride altitude is recomputed based on distance and gradient, so training work will match The Tacx Experience and might not match reality. When TTS file contains no location, altitude is still computed from distance and gradient but will start from 0. Gradient during training is interpolated from distance and altitude so will change smoothly while summing perfectly to the correct load. The TTS Reader source was adapted from the WattzApp Community Edition java source. Highly recommended that 'Use Simulated Speed' option is enabled when riding TTS files. This change was only tested against a small number of dvds that I own. I would appreciate feedback and problem reports. I would especially appreciate anyone that can compare this behavior against Tacx as I only tested with my Wahoo Kickr. Issues and Future work: I guessed about how to set starting distance and might have got it wrong. TTS Files contain video synchronization data. Currently this is ignored and rlv file must be specified. I've not even looked at the video sync data and no idea if it is better than the rlv. There are data fields in the TTS that Ive not investigated and they might contain useful info, for example a starting altitude for rides that have no location info. Other changes: Fix numerical stability around zero in blinn and quadratic solvers. Improve quadratic solver accuracy. Fix issues with computing gradient from non-uniform cubic splines. RideFiles now record additional altitude accuracy.
- Loading branch information
Showing with 1,892 additions and 114 deletions.
- +90 −18 src/Core/BlinnSolver.cpp
- +2 −1 src/FileIO/JsonRideFile.y
- +92 −47 src/FileIO/LocationInterpolation.cpp
- +61 −13 src/FileIO/LocationInterpolation.h
- +1 −1 src/FileIO/RideFileCache.cpp
- +1,174 −0 src/FileIO/TTSReader.cpp
- +288 −0 src/FileIO/TTSReader.h
- +1 −1 src/Train/BicycleSim.cpp
- +153 −7 src/Train/ErgFile.cpp
- +2 −0 src/Train/ErgFile.h
- +26 −24 src/Train/TrainSidebar.cpp
- +2 −2 src/src.pro
Oops, something went wrong.