.. wow, nasty memory leak fixed. Leaked memory every
time a ride was selected or calendar was refreshed!
.. tbf it was marked with a 'XXX' memory leak comment
but really lazy to leave it there.
.. was also highlighted by valgrind, which is promising,
since I've been using it to hunt down any memory managment
issues -- most of them are within 3rd party libraries tho.
Noticed when looking for memory/stack overflow issues that
the importRide function allocates an aggregator on the heap
for the lifetime of the method. No biggie, but better to use
stack for that.
Because the image representation was stored in the pixmap
which was allocated on the stack -- it should be allocated on
heap since the underlying data is never actually copied.
This seems to fix the issue, but need to keep monitoring it!
Fixes#477.
Removing and fixing 'XXX' code markers across the ANT+
code. Largely this was to confirm against specs and mark
for future support (e.g. burst data, further refactoring
of the quarqd sources).
.. 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.
When switching between a ride with datapoints and one
without, then back again. Editor data was being deleted
for previous ride edited when selecting a ride with no
data!
All are harmless but for the sake of clarity have
fixed them all bar a couple;
- Lucene grumbles about signed/unsigned conversion which
is/isn't valid depending upon the version of CLucene you
compile with. Either way it is harmless.
- QxtScheduleView has a bunch of issues, but since it is a
third party widget its better to leave it unchanged.
The find dialog and anomalies list are now available
from the ride editor toolbar and not hidden in the
chart controls.
As a result the ride editor no longer has any chart
controls and so they are removed altogether.
When plotting distribution for a date range instead of
for a specific activity we should not hide when the current
ride has no data (since we are plotting a range not the current
ride).
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.
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!
Ensure the Kickr and BT40 devices can co-exist by
ignoring subtypes.
Also introduced a deviceFound signal so we can get a
device pairing page for BT40 (non-Kickr) devices.