The recent patch to allow users to configure which
metrics to display on the ride summary window is not
forwards compatible. If metrics referenced no longer
exist (i.e. they are from a future release or have
been deprecated) GC will crash.
There is no need to warn about seasons.xml missing, it
is quite acceptable to have none set. Worse still sending
to the console log is next to useless for users that
don't launch from the command line.
Partial cherry pick from 4972f2472e (v3.0.0dev)
The WKO+ file format appears to record drops in
recording of GPS data with a latlon of 180,180. We
expect this to be 0,0.
This makes the WKO+ file reader consistent with the
GoogleMapControl and removes the need to clean data
there.
If it is found that 180,180 is the standard way of
recording drops in GPS signal then we can change the
code. We use 0,0 since it is conveniently at sea off
the west coast of Africa.
Cherry pick d06c9e97c9 (From v3.0.0dev)
reading Fit files with Smart recording and a certain pattern of timestamps
could cause assertions. This shouldn't happen, as it's no Programming error.
Changed the checks into graceful failures.
Unfortunatly I don't have any files to test this.
fixes#364
reading unsupported SRM files caused assertions. This shouldn't happen, as
it's no Programming error.
Changed the checks into graceful failures.
fixes#364
With realtime data there will often be samples with
timestamps like 940.002 and 940.998. This cuases an
issue on the ride plot, where it believes there is
no sample for 941 and therefore plots a zero value.
This patch rounds the timestamps to the nearest 100th
of a second, which is consistent with the mechanism
used in the ride editor.
So far the FIT parser bailed out, whenever it found something
unknown/uninterested to GC. This is quite orthogonal to the FIT design, as
it's supposed to be extended.
renamed read_<foo> functions to match the FIT base_type names.
unified handling of "unavailable/invalid" values - i.e. if sensor data is
temporary unavailable. This allows easier and consistent handling -
especially for the uintXz base_types, which only differ by a different
"invalid" value. Had to change the type of the "values" list to int64 to
fit uint32/int32, as well.
added proper support for signed integer types. I'm wondering, why lon, lat
+ temperature were decoded properly...
added support for currently unsupported base types by just skipping their
bytes. This allows us to continue reading.
... on both, big and little endian machines.
Fit reader only supported little endian data on little endian machines.
All values read from FIT files are now swapped (if neccessary) according
to file and system endianess.
fixes#287
do not bail out on unknown message types. This violates the design of the
Fit format of being extensible.
As this was the last thing using the global_msg_names QMap, I've nuked
this, aswell.
seems, the assumption for "speed" in SRM7 files being unsigned was wrong.
Powercontrol/SRMWIN seem to use negative speed as "invalid".
Furthermore altitude may become negative, as well.
To address this, QDataStream now does the bit-swapping and speed +
altitude are read as signed values.
Fixes 346.
This patch:
* Add Spanish Translation
* Enable default Zone Descriptions Translation
* Enable Color Selection Translation
* Enable PM Metrics and Metric Detail Dialog Translation
* Enable Data Processor Translation
* Enable Metrics Translation
* Enable Metadata Translation
* Enable Several Incomplete Translations
* Add default lang selection based on locale
* Fix Trend-Watts translation Add units default
* Translate Download Instructions
* Add default charts translation
Notes:
1. If ENABLE_METRICS_TRANSLATION is defined, the code setting metric names
and units is moved from constructors to initialize method, to be called
after translator initialization, English Name is preserved as InternalName
for metadata.xlm compatibility in metric override.
2. Q_DECLARE_TR_FUNCTIONS(class-name) macro is used to set tr() context
when class-name is not QObject sub-class.
This reverts commit 1fbaeae611.
Accidentally pushed to the main repository along with recent
patch fixups. Ale is working on a complete solution for
supporting translations in metrics, metadata and configuration
settings. This patch was an initial version and should not
have been pushed to master.
Add Spanish Translation.
If ENABLE_METRICS_TRANSLATION is defined, the code setting metric names
and units is moved from constructors to initialize method to be called
after translator initialization and QObject::tr(s) calls are replaced by
QApplication::translate("class name",s) to set appropiate context.
Metric symbol is used for symbol override instead of metric name.
1. Allow FIT reader to recognise the file comes from a Garmin Edge 800
This is Garmin product ID 1169 in the decodeFileId routine.
2. Ignore global_msg_type = 72
This message appeared with the introduction of the Garmin Edge 800.
There is no FIT SDK that tells us what this message is.
It appears only once and has timestamp/device serial number.
Code now recognises the msg_type as valid but we don't process it.
3. Add all decodeEvent types and work only with "timer" events
Not all event_types were present. They are now all in the function.
Previously the decodeEvent would look at all "events"
We now only decode event_types if the event is of type "timer".
Fixes: #250
SRM5 basically is the same as SRM6, but lacks "blocks". This means, it
only has the date of the exercise and no further absolute time info.
Furthermore it can't flag periods of time, where no data was collected.
Due to lack of absolute time, Exercises start at 0:00, by default.
Fixes#208
The load timer was simply being accumulated with each firing
of the timer. This resulted in inaccuracies. The fix is to
accumulate using a timer that measures the duration between loadUpdate
calls.
The speed, average speed, gradient, and distance LCDs ought to always
display 1 significant digit to avoid bouncing. This is now fixed.
This commit fixes#262 and fixes#263.
A previous commit stopped disk updating from working, i.e. saving
workout data to a .csv file. This patch fixes that.
Fix supplied by Greg Lonnon, Fixes#254.
The newer Racermate FTDI based USB adaptor (USB-StereoJack) failed
to receive data from the Computrainer, this was due to incorrect
flow control settings.
Fix supplied by Eric Brandt.
toMSecsSinceEpoch() is from Qt 4.7. Replaced with an implementation
based on QTime:start() and QTime.elapsed() from Qt 4.6.
There is now a theoretical upper limit on turbo sessions of 24 hrs :-)
Fixes#247.
Instead of adding 200ms to the elapsed time on every gui update,
this patch records the timestamp of when the Start/Pause buttons
are clicked and subtracts these from the current hardware clock time
to calculate elapsed total & lap times. Fixes bug #235.
Russian Translation from Gwelu
Czech Translation from Beeda
Updated Japanese Translation courtesy of Key
Updated German Translation courtesy of Luke
Golden Cheetah now supports 7 languages!
Virtual Power - included patch from Mark Liversedge & corrected bug
with his help.
GSC-10: Check dual sensor 4th and speed-only sensor (which is rare) as
5th.
This means that an all-Garmin setup (ANT+ stick, GSC-10 sensor) will
always work. A speed-only sensor is almost useless in GC real-time
mode anyway, because speed-only sensors tend to run off the front
wheel which will be stationary on a trainer. Fix pointer problems with
device controller/config.
Fixes#219
blue marker = start of ride
red marker = end of ride
green markers = interval markers.
interval markers has the interval metrics displayed.
end marker has the ride summary displayed.
Fixes#169.