From 05b60576aff7306e57293bb50e2b708aead4972c Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Sun, 10 Feb 2013 09:21:14 +0000 Subject: [PATCH] Add Tacx Satori Virtual Power Courtesy of Stephen Dag we now support virtual power for the Tacx Satori trainer. --- src/AddDeviceWizard.cpp | 5 +++++ src/RealtimeController.cpp | 46 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/src/AddDeviceWizard.cpp b/src/AddDeviceWizard.cpp index 94f75300c..aea4f6339 100644 --- a/src/AddDeviceWizard.cpp +++ b/src/AddDeviceWizard.cpp @@ -1102,6 +1102,11 @@ AddFinal::AddFinal(AddDeviceWizard *parent) : QWizardPage(parent), wizard(parent virtualPower->addItem("Power - Minoura V100 Trainer (1)"); virtualPower->addItem("Power - Minoura V100 Trainer (L)"); virtualPower->addItem("Power - Saris Powerbeam Pro"); + virtualPower->addItem("Power - Tacx Satori (2)"); + virtualPower->addItem("Power - Tacx Satori (4)"); + virtualPower->addItem("Power - Tacx Satori (6)"); + virtualPower->addItem("Power - Tacx Satori (8)"); + virtualPower->addItem("Power - Tacx Satori (10)"); wheelSize->addItem("Road/Cross (700C/622)"); // 2100mm wheelSize->addItem("Tri/TT (650C)"); // 1960mm diff --git a/src/RealtimeController.cpp b/src/RealtimeController.cpp index 8e5a16c4b..0d4ee4079 100644 --- a/src/RealtimeController.cpp +++ b/src/RealtimeController.cpp @@ -179,6 +179,52 @@ RealtimeController::processRealtimeData(RealtimeData &rtData) } break; + case 15 : // TACX SATORI SETTING 2 + { + double V = rtData.getSpeed(); + double slope = 5.33; + double intercept = -36.67; + rtData.setWatts((slope * V) + intercept); + } + break; + + case 16 : // TACX SATORI SETTING 4 + { + double V = rtData.getSpeed(); + double slope = 8.27; + double intercept = -47.33; + rtData.setWatts((slope * V) + intercept); + } + break; + + case 17 : // TACX SATORI SETTING 6 + { + double V = rtData.getSpeed(); + double slope = 11.400; + double intercept = -67.00; + rtData.setWatts((slope * V) + intercept); + } + break; + + case 18 : // TACX SATORI SETTING 8 + { + double V = rtData.getSpeed(); + double slope = 14.40; + double intercept = -82.00; + rtData.setWatts((slope * V) + intercept); + } + break; + + case 19 : // TACX SATORI SETTING 10 + { + double V = rtData.getSpeed(); + double slope = 17.73; + double intercept = -114.67; + rtData.setWatts((slope * V) + intercept); + } + break; + + default : // unknown - do nothing break; }