Commit Graph

9368 Commits

Author SHA1 Message Date
Mark Liversedge
d3c04e27fa Fix metric refresh SEGV
.. last commit didn't avoid the detach() derefernce in a thread because
   it used the [] operator which is non-const, instead we should use
   QVector::at(int)
2020-05-08 20:05:31 +01:00
Mark Liversedge
fd0a5955ef Fix some metric refresh SEGV
.. A few situations that cause race conditions and crashes when metrics
   are being refreshed, found whilst testint user metrics.

   1. access to QString is not thread-safe, fixed with a const
   2. metric vector resizing is needed even if all metrics are zero
   3. entire ride interval needs to be computed, assignment in thread
      is not thread-safe and was incomplete anyway.
2020-05-08 14:31:43 +01:00
Mark Liversedge
4029c3a9aa Datafilter - match()
.. match(vector1, vector2) - returns an index of values; for each value
   in vector1 it will return the index into vector2 if there. if the
   element in vector1 is not found in vector2 no entry will be added to
   the returned index.

.. e.g:

   a <- c(4,6,9);
   b <- c(1,2,3,4,5,6,7,8,9);
   d <- match(a,b);
   # d now contains 3,5,8 since indexes start from 0
2020-05-08 12:58:30 +01:00
Ale Martinez
c1edbcb00a Add GSL to CI builds
Complements c973328779
[publish binaries]
2020-05-07 16:25:45 -03:00
Ale Martinez
fcc9660b64 Upload binaries to S3
Only for commits to master with [publish binaries] in the commit message
Older binaries are removed, we keep only the last succesful build.
2020-05-06 21:19:24 -03:00
Mark Liversedge
532b29b9d1 Datafilter vector - mlr()
.. mlr(yvector, xvector1 .. xvectorn) - perform a multiple linear
   regression and return a vector of coefficients for each x.

.. under the covers the covariance matrix and chi-squared are both
   calculated, but discarded. We should make these available to the
   user at some point.

.. requires the GNU scientific library, which will become a mandatory
   dependency at some point soon.
2020-05-06 20:20:12 +01:00
Mark Liversedge
c973328779 Introduce GNU Scientific Library (GSL) as an optional dependency
.. will become a first class dependency, but for now, whilst we
   update the build systems it is optional.

.. to enable update gcconfig.pri with
   DEFINES += GC_WANT_GSL  ## switch GSL support on
   GSL_INCLUDES =          ## the include path (no -I)
   GCL_LIBS =              ## -Lpath and -lgsl -lgslcblas -lm or others

.. see gcconfig.pri.in for examples, Linux has been tested.

.. to install this new depdendency:
   Linux: sudo apt-get install libgsl-dev
   MacOS: brew install gsl
   Windows: vcpkg install gsl
2020-05-06 18:32:16 +01:00
Ale Martinez
76d459a895 Cache qwt in Travis and AppVeyor to reduce build time
Warning: the cache needs to be invalidated for changes in qwt to take effect
2020-05-05 19:51:45 -03:00
Ale Martinez
b6eabc63d1 AppVeyor - Remove zip generation and rename installer
Since the installer is working we don't need the zip anymore
[skip travis]
2020-05-04 12:14:50 -03:00
Ale Martinez
e7aaebcd00 Revert "Add version string for non tag builds"
[skip ci]
This reverts commit 7d06cd5ad1.
2020-05-02 15:19:09 -03:00
Ale Martinez
7d06cd5ad1 Add version string for non tag builds
Used to build binaries for the release, will be reverted afterwards.
2020-05-02 15:15:50 -03:00
Ale Martinez
cc11f1fa2d AppVeyor - Add version string for Tag builds 2020-05-02 15:14:49 -03:00
Ale Martinez
4cd24bc09a Travis-CI - Upgrade to Python 3.7 2020-05-02 14:12:01 -03:00
Ale Martinez
a4dbfa69d3 AppVeyor - Upgrade to Python 3.7 and remove console 2020-05-02 14:11:35 -03:00
Mark Liversedge
d042ec591e Fix crash on --no-python
.. if there is a python chart in the view, it will crash as setWeb
   does not check to see if embedding worked, and is called via the
   property system so must always check.
2020-05-02 14:07:57 +01:00
Mark Liversedge
211b9b23cd VERSION 3.6 DEVELOPMENT MAY 2020
.. first development release for v3.6
2020-05-01 18:37:01 +01:00
Mark Liversedge
d6c16dd9de User Chart Time Axis Bug
.. due to qt-bug 62285 we need to use local time not UTC for timespec
   since qt charts converts to local time internally.

.. this fixes axes starting at 1hr instead of 0h.
v3.6-DEV2005
2020-05-01 13:53:22 +01:00
Alejandro Martinez
e1db9c832f Fix Travis-ci builds for macOS - Add QWebEngine dependence
[skip appveyor]
QWebEngine depends on QtQmlModels and QtQml in Qt5.14.2
2020-04-30 21:35:43 -03:00
human705
05ee4f40da Add Elevation Widget to Train Video Overlays (#3411)
* 1 - Add forceSquareRatio to MeterWidget
* 2 - Adjust default colors and add background text.
* 3 - Add Elevation widget, included in default layout visible only on slope mode.
Based on the work done by Vianney Voyer
Co-authored-by: Peter <pkanatselis@gmail.com>
2020-04-30 19:26:40 -03:00
Mark Liversedge
a0add0bdc9 Security alert - Remove jquery and related
.. RideWindow is no longer required and brings in artefacts that have
   security alerts. This code should have been deprecated previously
   and was retained in error.

Fixes #3426
2020-04-30 21:43:30 +01:00
Ale Martinez
a9ddef9667 Fix Travis-ci macOS builds
[skip appveyor]
icu4c was upgraded from 64 to 66 and the dmg patch failed.
Lets make the hack a little more generic
2020-04-30 15:08:35 -03:00
Mark Liversedge
d69fa7986f User Chart Series Errors Wrapping
.. when editing a user chart series program the errors in red at the
   bottom of the dialog get truncated instead of word wrapping.
2020-04-29 20:45:40 +01:00
Ale Martinez
3ff380ce0f Travis-ci Linux builds - Update to Qt 5.14.2 2020-04-29 16:11:57 -03:00
Ale Martinez
c0bed13cfa Add vlc plugins to Linux AppImage for Travis-ci builds
This avoids the need to install vlc 2.2 and set VLC_PLUGIN_PATH
Fixes #3394
2020-04-29 15:17:26 -03:00
Mark Liversedge
794efdaf06 DataFilter - exists()
.. exists("symbol") will tell you if the symbol exsits as either a
   function or a variable.
2020-04-29 18:49:04 +01:00
Ale Martinez
5e54c994b7 AppVeyor - Build Windows 64bit installer and add to Artifacts
Installer script cleanup to remove unused dependencies
2020-04-29 11:29:49 -03:00
Erik Botö
0a1b0846ce Add VO2 and Ventilation graphs to WorkoutWidget and add settings (#3415)
* Add VO2 and Ventilation graphs to WorkoutWidget and add settings

* When running tests with VO2 measurements, it can be useful to see a
  graph of at least VO2 but also Ventilation to determine when e.g. a
  ramp test results in a plateau and can be considered done.

* Make the color of some VO2 measurements configurable.

* Add chart settings to WorkoutWindow, so that plots can be enabled or
  disabled. Also add the possiblity to do averaging.

* Use the term Ventilation instead of Respiratory Minute Volume

* Rework to not affect RideFile

Move from using SeriesType from RideFile in order to allow more series
to be added without modifying RideFile.
2020-04-29 08:03:02 +01:00
Ale Martinez
28645ff7b0 AppVeyor - Add installer script
The installer building step is disabled, but it can be executed
offline using NSIS 3.05
2020-04-28 21:03:16 -03:00
Ale Martinez
ff433dcf76 AppVeyor - Use cache to reduce build time
Avoid downloading cached files from to reduce dependence on external services
We are too close to the 1h limit to depende on variable time downloads
2020-04-28 20:46:53 -03:00
Ale Martinez
429b5de44c AppVeyor - Add ReadMe, license, and icon files
We need them to generate an installer
2020-04-28 16:04:42 -03:00
peterbrant14
0fab9b901a Fix indexing bugs in the original TTS code (#3423) 2020-04-28 17:45:21 +01:00
Mark Liversedge
2e228ef52b Increase max Crr to 0.025
.. plausible value for knobbly tyres over sand or soft woodland.
2020-04-28 08:10:15 +01:00
Erik Botö
13b80dfda6 VMPro: Add possibility to start calibration manually (#3414) 2020-04-27 15:10:34 -03:00
Erik Botö
09dea59996 Enable BT on Windows (#3401)
In recent Qt versions there's support for BLE on Windows, so remove the
check that disables it.

In Qt 5.14.2 and earlier there's a bug which causes problem if you do
certain things in the context that the signals are emitted. This is only
on Windows, and might be fixed in later versions, but use
Qt:QueuedConnection for now to avoid this.

Some more details of this can be found in Qt bugzilla:
https://bugreports.qt.io/browse/QTBUG-78488
2020-04-27 13:50:19 -03:00
Erik Botö
4ae3d47d10 AppVeyor - Don't use parallel build for QWT (#3420)
Seems like QWT sometimes fails when using parallel build, so use -j1
when building it to force non-parallel build.
2020-04-27 11:02:45 -03:00
Mark Liversedge
3aca25c681 User Chart Program Editor Size
.. just make it bigger, so easier to see the whole thing, and also
   fixed up scaling as resizing the window.
2020-04-27 14:29:24 +01:00
Erik Botö
0caa399e06 AppVeyor - Update to Qt 5.14.2 (#3419)
Update to Visual Studio 2019 image, which now has Qt 5.14.2.
2020-04-27 09:04:42 -03:00
Ale Martinez
8fe784c8d2 AppVeyor - Remove upload to transfer.sh
It is not required since artifacts are more convenient and reliable.
2020-04-26 19:00:37 -03:00
Mark Liversedge
ed33157945 Minor Datafilter fixups
.. the while loop limit of 10000 loops is too low, especially when
   looping over ride samples.

.. the pd model short names contain spaces and will never work with
   the datafilter estimates() function.
2020-04-26 21:53:50 +01:00
Ale Martinez
75c3039358 AppVeyor - Enable CloudDB for Windows CI builds
Missing from previous commit
2020-04-26 11:54:03 -03:00
Ale Martinez
d5fffcc8fa Generate AppVeyor artifact before upload
This is a required step to upload to GitHub releases.
Don't fail on transfer.sh unavailability.
2020-04-25 21:27:56 -03:00
Ale Martinez
a853ce9e9d AppVeyor - Add secrets for Windows ci builds
To enable access to online services
2020-04-25 12:58:18 -03:00
Mark Liversedge
d399d1ce4c Fix month and friends to work with vectors
.. a cut and paste error !
2020-04-25 10:47:52 +01:00
Mark Liversedge
a82e1467b5 Datafilter vectors - aggregate()
.. aggregate(vector, by, sum|mean|max|min|count) - aggregate vector v
   grouping by vector by (which will be repeated if too short) using
   the function sum .. count to perform the aggregation.

.. returns the aggregated series, modelled on the R aggregate function.
2020-04-25 09:57:33 +01:00
Ale Martinez
c6dd6a1f64 AppVeyor - Add VLC plugin folder
Also enabled Robot and console for testing and debugging purposes.
2020-04-24 22:33:54 -03:00
Mark Liversedge
adc9fc84cd DataFilter vectors - date arithmetic
.. week() & weekdate() - week converts a date to weeks since 1900/01/01
   and weekdate() converts weeks since 1900/01/01 back to the date at
   the beginning of the week.

.. month() & monthdate() - week converts a date to weeks since
   1900/01/01 and weekdate() converts weeks since 1900/01/01 back to
   the date at the beginning of the month.

.. basically useful for grouping by week and month or other forms
   of date arithmetic.
2020-04-24 20:59:27 +01:00
Ale Martinez
df268b7e6f Add vlc version to versionHTML
To help identify issues with VLC version mismatch at runtime
2020-04-24 15:47:31 -03:00
Ale Martinez
95d0e330b0 Add Python version used a build time to versionHTML
Similar to R, useful to determine which Python version is required.
2020-04-23 12:54:56 -03:00
Ale Martinez
0398bcdea3 AppVeyor - Add Python 3.6 to Windows ci builds
Using sip 4.19.8
2020-04-23 12:53:52 -03:00
Ale Martinez
0ed1ad86a7 AppVeyor - Add R integration to Windows ci builds 2020-04-22 15:23:03 -03:00