Commit Graph

19 Commits

Author SHA1 Message Date
Mark Liversedge
b7111bc54e Fix compile time error for WF API 2013-01-30 22:34:25 +00:00
Mark Liversedge
08a77e1ac8 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
6c583da655 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
d0e96dcd47 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
b3f3974998 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
302cae779a Fix another compile error if WFAPI not available 2013-01-21 17:07:14 +00:00
Mark Liversedge
2fe0644b9a 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
91514835e8 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
48832ff962 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
65e7faacba 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
8852479d5e Fix Kickr compile error
.. in adddevicewizard when WF API is not
available
2013-01-21 07:02:58 +00:00
Mark Liversedge
4a42337fa2 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
dfd6741cc4 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
e137aa5773 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
e59c32a311 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
fd88cd4351 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
02dae22e09 mingw uses Sleep() 2012-01-21 21:23:36 -05:00
Mark Liversedge
883e92237b 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
43b1c61d6b 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