From 0c668ff9c7a0e4ff65f8714117d71b76f146cd37 Mon Sep 17 00:00:00 2001 From: alexdelli Date: Thu, 13 Feb 2014 19:52:28 +0100 Subject: [PATCH] Added Support for Elite Supercrono PowerMag --- src/AddDeviceWizard.cpp | 8 +++++ src/RealtimeController.cpp | 64 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/src/AddDeviceWizard.cpp b/src/AddDeviceWizard.cpp index e7a1ee04c..c9e320c5f 100644 --- a/src/AddDeviceWizard.cpp +++ b/src/AddDeviceWizard.cpp @@ -1121,6 +1121,14 @@ AddFinal::AddFinal(AddDeviceWizard *parent) : QWizardPage(parent), wizard(parent virtualPower->addItem(tr("Power - Tacx Blue Motion (6)")); virtualPower->addItem(tr("Power - Tacx Blue Motion (8)")); virtualPower->addItem(tr("Power - Tacx Blue Motion (10)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (1)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (2)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (3)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (4)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (5)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (6)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (7)")); + virtualPower->addItem(tr("Power - Elite Supercrono Powermag (8)")); wheelSize->addItem(tr("Road/Cross (700C/622)")); // 2100mm wheelSize->addItem(tr("Tri/TT (650C)")); // 1960mm diff --git a/src/RealtimeController.cpp b/src/RealtimeController.cpp index 6356e9644..f7493d572 100644 --- a/src/RealtimeController.cpp +++ b/src/RealtimeController.cpp @@ -352,6 +352,70 @@ RealtimeController::processRealtimeData(RealtimeData &rtData) default : // unknown - do nothing break; + + case 34 : // ELITE SUPERCRONO POWER MAG LEVEL 1 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.000803192769148186*V, 3) + pow(0.17689196198325*V,2) + (3.62446277061515*V) - 1.16783216783223); + } + break; + + case 35 : // ELITE SUPERCRONO POWER MAG LEVEL 2 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.00590735326986424*V, 3) + pow(0.442531768374482*V,2) + (3.54843470904764*V) - 0.363636363636395); + } + break; + + case 36 : // ELITE SUPERCRONO POWER MAG LEVEL 3 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.00917194323478923*V, 3) + pow(0.614352424962992*V,2) + (5.08762781732785*V) - 1.48951048951047); + } + break; + + case 37 : // ELITE SUPERCRONO POWER MAG LEVEL 4 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.0150015681721553*V, 3) + pow(0.880112976720764*V,2) + (5.16903286351279*V) - 1.7342657342657); + } + break; + + case 38 : // ELITE SUPERCRONO POWER MAG LEVEL 5 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.0172621671756449*V, 3) + pow(1.0207209560583*V,2) + (6.23730215622854*V) - 3.18881118881126); + } + break; + + case 39 : // ELITE SUPERCRONO POWER MAG LEVEL 6 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.0195227661791347*V, 3) + pow(1.15505017633569*V,2) + (7.47138264900755*V) - 4.18881118881114); + } + break; + + case 40 : // ELITE SUPERCRONO POWER MAG LEVEL 7 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.0222497351776137*V, 3) + pow(1.2917943039439*V,2) + (8.74972948026508*V) - 5.11888111888112); + } + break; + + case 41 : // ELITE SUPERCRONO POWER MAG LEVEL 8 + { + double V = rtData.getSpeed() * MILES_PER_KM; + // Power curve provided by extraction from SportsTracks plugin + rtData.setWatts(pow(-0.0255078477814972*V, 3) + pow(1.42902141301828*V,2) + (10.2050166192824*V) - 6.48951048951042); + } + break; } }