Skip to content

Commit de36c5d

Browse files
authored
Add Kettler C12 ergometer bike support (#4314)
1 parent eb0edae commit de36c5d

5 files changed

Lines changed: 780 additions & 0 deletions

File tree

src/devices/bluetooth.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2093,6 +2093,19 @@ void bluetooth::deviceDiscovered(const QBluetoothDeviceInfo &device) {
20932093
//connect(kineticInroadBike, &kineticinroadbike::debug, this, &bluetooth::debug);
20942094
kineticInroadBike->deviceDiscovered(b);
20952095
this->signalBluetoothDeviceConnected(kineticInroadBike);
2096+
} else if ((b.name().toUpper().startsWith(QStringLiteral("ERGO C12")) ||
2097+
b.name().toUpper().startsWith(QStringLiteral("KETTLER C12"))) &&
2098+
!kettlerC12Bike && filter) {
2099+
this->setLastBluetoothDevice(b);
2100+
this->stopDiscovery();
2101+
kettlerC12Bike = new kettlerc12bike(noWriteResistance, noHeartService, testResistance,
2102+
bikeResistanceOffset, bikeResistanceGain);
2103+
emit deviceConnected(b);
2104+
connect(kettlerC12Bike, &bluetoothdevice::connectedAndDiscovered, this,
2105+
&bluetooth::connectedAndDiscovered);
2106+
connect(kettlerC12Bike, &kettlerc12bike::debug, this, &bluetooth::debug);
2107+
kettlerC12Bike->deviceDiscovered(b);
2108+
this->signalBluetoothDeviceConnected(kettlerC12Bike);
20962109
} else if ((b.name().toUpper().startsWith(QStringLiteral("STAGES ")) ||
20972110
(b.name().toUpper().startsWith("TACX SATORI")) ||
20982111
(b.name().toUpper().startsWith("RACER S")) ||
@@ -4277,6 +4290,11 @@ void bluetooth::restart() {
42774290
delete computrainerBike;
42784291
computrainerBike = nullptr;
42794292
}
4293+
if (kettlerC12Bike) {
4294+
4295+
delete kettlerC12Bike;
4296+
kettlerC12Bike = nullptr;
4297+
}
42804298
if (kettlerUsbBike) {
42814299

42824300
delete kettlerUsbBike;
@@ -4654,6 +4672,8 @@ bluetoothdevice *bluetooth::device() {
46544672
#ifndef Q_OS_IOS
46554673
} else if (computrainerBike) {
46564674
return computrainerBike;
4675+
} else if (kettlerC12Bike) {
4676+
return kettlerC12Bike;
46574677
} else if (kettlerUsbBike) {
46584678
return kettlerUsbBike;
46594679
} else if (freebeatBike) {

src/devices/bluetooth.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@
133133
#include "devices/sportstechrower/sportstechrower.h"
134134
#include "devices/sramAXSController/sramAXSController.h"
135135
#include "devices/stagesbike/stagesbike.h"
136+
#include "devices/kettlerc12bike/kettlerc12bike.h"
136137

137138
#include "devices/renphobike/renphobike.h"
138139
#include "devices/tacxneo2/tacxneo2.h"
@@ -273,6 +274,7 @@ class bluetooth : public QObject, public SignalHandler {
273274
mcfbike *mcfBike = nullptr;
274275
npecablebike *npeCableBike = nullptr;
275276
stagesbike *stagesBike = nullptr;
277+
kettlerc12bike *kettlerC12Bike = nullptr;
276278
solebike *soleBike = nullptr;
277279
soleelliptical *soleElliptical = nullptr;
278280
solef80treadmill *soleF80 = nullptr;

0 commit comments

Comments
 (0)