Commit Graph

43 Commits

Author SHA1 Message Date
aevanforeest
1a93d243d4 Added virtual power for Elite Arion Mag roller 2015-04-08 12:13:43 +02:00
Mark Liversedge
1956fadca2 Add support for vpower on CycleOps Magneto Pro
Fixes #688
2015-04-07 10:59:16 +01:00
Mark Liversedge
7d107585f1 Add Support for Elite Muin 2013
.. as provided by "muinuser" on github

Fixes #1075
2015-04-07 10:40:55 +01:00
shmoo
f58ba07ac7 A more accurate calculation 2015-03-22 16:02:49 +01:00
shmoo
d4d93f71e7 New Virtual Power device - Minoura V270/V130/LR320/LR540 Trainer 2015-03-22 15:13:15 +01:00
Mark Liversedge
255f69c1ad ConfigChanged Part 1 of 3
.. introduce concept of configChanged(what) to
   pass details of what config has been changed

.. fixed zones changes to re-read after write
   to correct the save twice to get changes to
   zones bug.

.. next parts need to spot changes (part 2) and
   then action appropriately (part 3)
2014-12-29 13:41:50 +00:00
Damien
b282eb70f5 Device: modify wheel size configuration
fixes #986
2014-12-10 20:59:02 +01:00
Joern
1011271269 AthleteDirectory - Folder Structure Part 2 of 2 + Always create .JSON
... create folder structure for existing and new athletes
... upgrade existing athlete to new structure when opening / incl.
logging and error handling
... convert any "Downloaded" file to .JSON directly - store source file
in /downloads
... convert any "Imported" file to .JSON directly - store source file in
/imports
2014-11-02 19:55:01 +01:00
Mark Liversedge
3dd2f2e99b Realtime Moxy Part 1 of 3
.. added config and page decoding for Moxy

Next steps are (2) add telemetry to realtime data structure
                   and display on the realtime chart and telemetry

               (3) add SmO2 and tHb to file format which means moving
                   away from powertap csv format (!)
2014-10-31 21:15:06 +00:00
Joern
6bd11c4290 AthleteDirectory - Folder Structure Part 1
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object

Note: the new structure is not yet active ! - everything is written to
the main folder still

To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
2014-10-25 19:08:27 +02:00
Mark Liversedge
aa7152e303 KICKR ANT+ Initial Support
.. the code has been updated to support the Wahoo Kickr
   via an ANT+ USB stick.

.. this requires the Kickr to be running a beta firmware
   of version v1.3.15. This can only be loaded via the
   Wahoo utility.

.. for those that have access to the beta firmware this
   patch will work, for all others they will need to wait
   for the formal release by Wahoo.

.. the code contains *lots* of debug and does not yet support
   calibration and slope mode is largely untested.
2014-08-18 09:46:04 +01:00
Mark Liversedge
985b27edaf Kickr Constants 2014-07-16 10:24:42 +01:00
Bruno Fernandez-Ruiz
cefd7ac38b Add virtual power profile for Elite Qubo Power Fluid 2014-06-15 21:44:30 +01:00
alexdelli
18c09e2162 Added Support for Elite Supercrono PowerMag 2014-02-22 19:50:30 -05:00
Christian Stade-Schuldt
47844aa868 added Tacx Blue Twist and Tacx Blue Motion to Device Wizard 2013-12-17 18:51:08 +01:00
Mark Liversedge
0fcbbe1b77 Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
2013-07-11 14:02:02 +01:00
Dave Waterworth
a0f206c015 Fix Tacx Fortius Device Support
Multiple fixups for Tacx Support -- as a result the support
is now pencilled in for full support in 3.0 SP1.

Fixes #24.
2013-07-09 11:02:42 +01:00
Mark Liversedge
c56c5a9567 MainWindow Refactor Part 1 of 5
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views

- migrate from RideItem and Ridelist to ActivityCollection
  and Activity classes that are not tied into gui elements.

- introduce Application Context and AthleteCollection

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
2013-07-07 15:50:28 +01:00
Mark Liversedge
4d39f00fce Translation: More texts now available
Including
* ScopeBar 'Home', 'Analysis' selection names
* Downloaders: Powertap, Calendar
* Wizards: Split, Add device
2013-03-30 08:12:44 +00:00
Mark Liversedge
cfa7fb7824 Code Cleanup: More compile time errors/warnings
.. warnings from Xcode 4.6 (still some remaining)
.. and deprecated Quarqd code (we have native ANT now)
.. and MultiWindow deprecated (it isn't finished)
2013-02-12 22:40:08 +00:00
Mark Liversedge
8f9d827984 Tacx Flow Virtual Power
Courtesy of Alex Leyland.
2013-02-11 19:25:28 +00:00
Mark Liversedge
6d1665a4c1 Add Tacx Satori Virtual Power
Courtesy of Stephen Dag we now support virtual power
for the Tacx Satori trainer.
2013-02-10 09:21:14 +00:00
Mark Liversedge
19de413902 Code Cleanup: Add Device Wizard
.. just comments
2013-02-07 13:23:38 +00:00
Mark Liversedge
47b9f40fed Kickr connection fail gracefully
.. the code assumes the kickr connection will always work, even
when no BTLE hardware is present.

If no BTLE hardware is available then connections fail immediately
and so do attempts to find devices.

If BTLE hardware is available but the kickr connection cannot be
established in 30 seconds in train view then it returns an error.

Also added better device descriptions to check the device subtype
so we can identify stages, inride and kickr separately.
2013-02-07 09:16:46 +00:00
Mark Liversedge
3149287b12 Fix compile time error for WF API 2013-01-30 22:34:25 +00:00
Mark Liversedge
c4c490181b BT40 device discovery fixups
A few fixups for BT40 discovery, we now search for BT40
devices properly.

- delete BT40 properly
- scan for longer
- return count of total found
- a few fixups to logic in AddDeviceWizard

Now need to update the pair screen to let the user
select/deselect sensors that are part of this "device".

Then obviously update the BT40/Controller for runtime
activity (and filter out the RFLKT since it will have
its own device type.
2013-01-30 21:39:16 +00:00
Mark Liversedge
c599058930 BT40 AddDeviceWizard updates
Just a checkpoint before BT40 pair updates to connect with
each found sensor and display current data on the pair screen.

This is so the user can select the devices they want to be
included in this device definition (if they have lots of
BTLE devices).

I guess this is gonna mostly be dcrainmaker and wahoo employees!
2013-01-30 13:39:07 +00:00
Mark Liversedge
9a4919a210 BT40 Skeleton code
To enable support of BTLE (BT 4.0 'smart') devices
as well as the Kickr.

Very basic skeleton code to get started. Will need
to;
- add a BTLE 'pair' in AddDeviceWizard
- use profile not portspec for the uuids
- filter out RFLKT and KICKR as they have their
  own device types
- fixup BT40.cpp which is KICKR code in this commit
2013-01-29 20:28:43 +00:00
Mark Liversedge
5a1747c499 Kickr autorelease pool when scanning
.. in AddDeviceWizard we need an autorelease pool
when doing the scan.
2013-01-28 20:28:39 +00:00
Mark Liversedge
b9ea7ca62f Fix another compile error if WFAPI not available 2013-01-21 17:07:14 +00:00
Mark Liversedge
bc23948736 Kickr device configuration complete
The code to discover and setup a Kickr device has
been finished. The portspec is used to hold the device
UUID for later connection.
2013-01-21 16:24:14 +00:00
Mark Liversedge
fffca860ca Device scanner delay accidentally set to 5s
.. when it should just be 1s to avoid being a
cpu hog.
2013-01-21 15:11:29 +00:00
Mark Liversedge
ef220438cb AddDeviceWizard cannot be modal
.. because it blocks the event loop that hosts the WF API
class. And we definitely want it to stay on the main event
loop along with the native WF classes and delegates.
2013-01-21 13:59:31 +00:00
Mark Liversedge
4127a43a65 Kickr Checkpoint Commit
.. device discovery working after a bit of
heartache with blocking threads and signals.
2013-01-21 13:05:49 +00:00
Mark Liversedge
3f758367c6 Fix Kickr compile error
.. in adddevicewizard when WF API is not
available
2013-01-21 07:02:58 +00:00
Mark Liversedge
52b896ecf2 Kickr Skeleton Code
Added Skeleton code for device discovery, config
and runtime. Now need to develop the WFApi class
to support each function.
2013-01-20 19:11:16 +00:00
Mark Liversedge
2c17783e2d Saris Powerbeam PRO Virtual Power
.. using constants supplied by Tom (ATucker) on the
golden cheetah google group.
2012-12-27 19:44:53 +00:00
Mark Liversedge
914c07f576 Virtual Power for Minoura V100
Added virtual power calculations for a Minoura V100
with one selection for whichever gear it is set to.

Thanks to 'frenchman' on the slowtwitch forums for
working out the formulae.
2012-10-19 22:12:42 +01:00
Mark Liversedge
bce8be2471 Fix SEGV on cancel long search
A timing issue - when cancelling the background scan
it is possible for the next scan to be performed after
the controller has been deleted.

This is an edge condition and pretty rare, but since it
causes a crash pretty high impact.
2012-01-22 09:05:22 +00:00
Mark Liversedge
4a3e6e2049 Fix AddDeviceWizard AddSearch not completing
The logic for the AddSearch page (which only appears
if the user did not have the device connected when the
initial scan is performed) would find the device and then
terminate without moving on to the final page.
2012-01-22 08:58:59 +00:00
Gareth Coco
943edcd78d mingw uses Sleep() 2012-01-21 21:23:36 -05:00
Mark Liversedge
96a1e30536 Fix SEGV on Finish AddDeviceWizard
Telemetry updates were trying to use the device
controller after it had been deleted.
2012-01-21 23:43:58 +00:00
Mark Liversedge
3ca7f1a5d2 Add Device Wizard
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.
2012-01-21 20:28:33 +00:00