Big refactor of the code since it was really messy
and also moved to a Mac style config dialog with
a bit of Mac UI polish.
Moved many of the pages around to make it more user
friendly.
Removed the fortius and proxy code altogether
and removed the measures config since we will need to
look at this in v3.1 and don't want to have to add
backward compatibility support for users that change it.
Fixes#358.
This patch keeps the original english name of SpecialFields and SpecialTabs
as internalName, to preserve compatibility, while it uses a translated
displayName for user interfase in other languages.
Recent commit 8eee2ddb got some of the logic
the wrong way round for converting weight to KGs
before saving (and when switching between metric
and imperial units).
We always store weight in KGs.
Uses the QT proxy query and application wide proxy setting
to allow users behind a corporate firewall to use network
functions (maps, TP.com, ergDB etc).
Fixes#27.
But NOT for win32 and ONLY on the sidebar and tabwidget (for
performance reasons). Since most users prefer the tabbed look
anyway this should be ok.
Performance of the graphicseffect has improved remarkably in
the 2 years since we tried it before. Worth experimenting with
since it adds a bit of polish to the look and feel.
Users turn it on and off in options, it is off by default.
power zone settings dialog allowed new entries with CP=0. This was written
to power.zones, but the parser refused to read these files, afterwards.
This patch rejects new zones with CP=0.
Introduce a wizard for adding realtime devices since it
is prone to user error, is relatively complicated and is
something most users will only ever do once or twice.
There are several logical updates within this patch:
First; Fix intermittent ANT+ not working
* LibUsb - check bufRemaining is > 0 not non-zero
* LibUsb - Always reset the USB stick on open
* ANT.cpp - Support > 4 channels on USB2
* ANTChannel - Do not use pairing, but always
* unassign, assign and set channel id.
Second; Fix device discovery
* Find and discover support in realtime controllers
* Extend Serial.cpp to cover more Serial devices
* Support for 4 or 8 ANT channels for USB1/USB2
Third; Introduce Add Device Wizard with
* General and Specific wizard pages for each device type
* Device pairing with telemetry display
* fixed compile time warnings
Fourth; Update Device Config Page
* use wizard to add new device
* remove edit fields, replaced by wizard
* remove pair, firmware buttons replaced by wizard
Fifth; Deprecate/Remove Device Types
* Null Device - used by developers only
* Quarqd client - replaced by Native ANT+
* GC Server - not implemented yet
I have also introduced a device specific wheel size
and flags for controlling the default selection and
sources for sensor data when in multi-device mode. These
are not yet supported in the code.
Fixes#611.
Fixes#497.
The seasons class emits signals to let
everyone know if the season config changes
at runtime.
The recent patch to add configuration of
seasons deleted and re-instantiated the
seasons member in MainWindow which breaks
updating across the code.
This patch fixes that.
So we can calculate speed from wheelRPM when working
with ANT+ speed sensors in realtime.
The config screen is still ugly as hell, but there is
another bug raised to resolve that.
Fixes#529.
Allow the user to add,delete and reorder
seasons in the config dialog.
Although the user could create and manipulate
seasons / date ranges in the LTM chart, this
provides a more coherent place to do the same
but also adds the ability to re-order seasons.
Fixes#399.
It is now possible to select multiple devices to
workout with.
To enable multi-device support a new setting in
tools->options (preferences on Mac) allows the
user to enable multi-device selections (this just
enables the user to select more than one device
in the side bar).
When a workout is started the user can select which
devices will supply which data.
This enables ANT+ devices to override information
provided by Computrainers or Fortius devices.
Fixes#578.
Add support for dual ANT+ power devices (in this case using
dual track SRM cranks). The two power devices are assumed to
represent power and alternative power.
The following changes have been made for this support:
* ANT+ device profile support multiple power devices
* Allow editing ANT+ device profile on Mac/Linux (it
is already available on Windows)
* When a second ANT Channel is assigned to power it is
set as alternative, and updates alternative watts
* RealtimeData now supports Watts and AltWatts
* AltWatts dial and associated color settings
* LRBalance dial to show difference between Watts and AltWatts
* Realtime plot plots watts and altWatts
Fixes#572.
Initial support for Tacx Fortius devices.
Note this requires libusb support to be present and will
work on Linux, Mac and Windows.
The handlebar buttons up/down will increase/decrease the
load/intensity in a similar fashion to the +/- keys on
the Computrainer controller.
The cancel button will stop a workout and the enter key
is used to mark a lap.
Slope and Ergo modes are supported, but we do not set the
brake at all if the speed is below 10kph, this is to
ensure it does not get burnt out when users 'grind'.
SPECIAL NOTE:
The Fortius handlebar controller is a Ez-Usb device
and requires firmware to be loaded when it is connected.
Since this is copyrighted by Tacx BV we do not distribute
it, instead, when the user sets up a Fortius device they
must also provide the file. Full instructions on how this
should be done are given when configuring the device.
Additionally, for Linux users udev rules should be added to
ensure that the USB devices are accessible to non-root users.
Fixes#538.
A menu option to upload ride files to the Strava website.
Original code from Justin Knotzke ported to v3 by
Damien Grauser.
If the ride has already been uploaded the upload menu
option is disabled, once uploaded a tag is set in the ride
with the strava id.
Fixes#519.
The LeMond revolution trainer has been analysed in
some depth by Tom Anhalt and as a happy by-product
idenitfied the power/speed curve.
Since Darren Hague had already added the ability to
approximate power from Speed when training on a turbo
this patch extends that to include the LeMond device.
All the analysis Tom performed can be read over on
wattagetraining.com here:
http://wattagetraining.com/forum/viewtopic.php?t=335Fixes#498.
References to TrainingPeaks should never have a
space between the words Training and Peaks.
Modified at the request of our friends over at TrainingPeaks.com.
The user can now define a value list for the metadata
fields. This means for codes like 'Sport' they can define
values like 'Bike', 'Run', 'Swim'.
The input box uses a popup Qcompleter and will only warn
if the entry is not one of the pre-defined values (i.e.
it is not a MANDATORY list).
Fixes#444.
They're dog slow and looking through the QT bug
tracker no longer developed or supported on normal
QT widgets without QT Quick.
They also break drag and drop on Win7 64bit.
Fixes#324.
An update to the ride list on the left hand side
to enable the user to choose and sort or group-by
metrics, metadata fields and ride information.
In addition, the sidebar has been 'improved'
cosmetically and to require less screen estate.
Also, the ticks and frames on plots have been
adjusted to be more aesthtically appealling.
There is more to come on the look-and-feel front,
but this patch heralds some work on the sidebar
which needs to be resolved.
This patch adds support for the Garmin USB2 stick using
libusb-win library. Instructions are included in gcconfig.pri.in
for configuring and installing the neccessary libs.
To enable support for USB1 and USB2 support in the same binary
stubs are created when UsbXpress/Libusb are not available and the
device i/o attempts to use USB2 before falling back to USB1.
Since I was also in the middle of some coding changes I merged
my developments (Mark) with Darren's patch whilst fixing it up
for commit, namely:
1. the configuration screen no longer demands a COMx port
when using Native ANT+ on Windows.
2. new signals in ANTChannel notify the ANT class when info is
stale or lost (but they are not used at present).
3. The previous debug messages have been removed, although new
debug messages are added for stale/drop/timeout signals.
First stage of development, folding together the
quarqd sources and creating an ANT+ worker and controller
to work with realtime window.
The basic code is folded together and compiles fine. The next
step is to address the channel management code, device discovery
channel assignment and channel event handling. This will be pushed
as part of the next commit.
The third commit will need to fixup the configuration pages to
support selection of device/baudrate, fix native discovery/pairing
in config and lastly, fix a long standing issue with the config pane
to allow editing of existing device configurations.
This is NOT a functional patch yet, but compiles and runs fine. Committed
as a checkpoint before refactoring quarqd supplied code.
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!
Fixes previous CalDAV support, as MobileMe based calendars
now work ok. Additionally, a new 'id' field has been created
to provide a persistent and immutable identifier for a ride
file (regardless of changes to date/filename).
The URL provided in the Calendar config pane can now include
'@' symbols (they are translated to %40).
The CalDAV URL should be provided for a calendar collection and
not for a principal. Examples being (trailing slash is significant):
Google : https://www.google.com/calendar/dav/xxxx@gmail.com/events/
MobileMe: https://cal.me.com:8443/calendars/users/x.xxxxxxxxxx/home/
A new menu option and associated config to integrate the
diary window (and ridefile history) with a calendar server
that supports CalDAV (iCal, Google, MobileMe).
This patch introduces an upload to calendar function and is the
first step towards adding calendar based planning functions.
It is important to note that no local calendar is maintained, we
are simply integrating with an existing calendar service.
It has been tested with Google Calendar, further testing and
enhancements are ongoing for users of Apple's MobileMe.
- German translation update
- Virtual power in realtime
Conflicts:
src/DeviceConfiguration.cpp - needed to adjust
to use appsettings for read/write of application
settings.
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
Provides 100% coverage of language texts*
* a couple of texts for WeeklySummary window containing html
codes (gt,lt et al) had not retained their encoding using
>, <, whilst I edited a few of them in the file, these
two were particularly complex and challenging. We can fix
them later. [Mark Liversedge]
This patch introduces new functionality for working with
Heartrate based data.
* HR Zones can be defined, from Resting, Maximum and Lactate HR
* TRIMP metrics are calculated; TRIMP, TRIMP100 and Zonal TRIMP
* TRIMP metrics can be used to drive the PMC
* Time In Zone metrics for HR have been added
* Histogram window will now work with Power/HR zones
* User Settings have been added to record gender, weight and others
* RideFile has a new tag "Athlete" which is set to the athlete name
Fixes#140