Compare commits

...

4 Commits

2 changed files with 54 additions and 0 deletions

View File

@@ -347,6 +347,14 @@ int main(int argc, char *argv[]) {
return 0;
#endif
settings.setValue("log_debug", true);
settings.setValue("virtual_device_ifit",true);
virtualbike V(new bike(), noWriteResistance,
noHeartService); // FIXED: clang-analyzer-cplusplus.NewDeleteLeaks - potential leak
Q_UNUSED(V)
return app->exec();
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
if (!forceQml) {
if (onlyVirtualBike) {

View File

@@ -584,6 +584,16 @@ void virtualbike::characteristicChanged(const QLowEnergyCharacteristic &characte
writeCharacteristic(service, characteristic, reply2);
writeCharacteristic(service, characteristic, reply3);
writeCharacteristic(service, characteristic, reply4);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(5)) == 0x81 &&
((uint8_t)newValue.at(6)) == 0xb3) {
reply1 = QByteArray::fromHex("fe0233040205070502021083260200b400000040");
reply2 = QByteArray::fromHex("00120104022f072f020200000000000000000000");
reply3 = QByteArray::fromHex("0112000001010000000001000000000000000000");
reply4 = QByteArray::fromHex("ff0f0000002c010000b40000000000001e000000");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
writeCharacteristic(service, characteristic, reply3);
writeCharacteristic(service, characteristic, reply4);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(8)) == 0x84) {
reply1 = QByteArray::fromHex("fe022003002ae8030024f400f401000001020000");
reply2 = QByteArray::fromHex("00120104021c071c8402539600302e312e303631");
@@ -605,6 +615,14 @@ void virtualbike::characteristicChanged(const QLowEnergyCharacteristic &characte
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
writeCharacteristic(service, characteristic, reply3);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF &&
((((uint8_t)newValue.at(8)) == 0x39) || ((uint8_t)newValue.at(8)) == 0xfd)) {
reply1 = QByteArray::fromHex("fe021c03002c010000b40000000000001e000000");
reply2 = QByteArray::fromHex("001201040218071802020000ffffffffffffffff");
reply3 = QByteArray::fromHex("ff0a0000000000000000001bffffffffffffffff");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
writeCharacteristic(service, characteristic, reply3);
} else if (newValue.length() > 9 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(8)) == 0x00 &&
((uint8_t)newValue.at(9)) == 0xd1) {
reply1 = QByteArray::fromHex("fe020a025a313130313737af31373131302d4e4e");
@@ -622,6 +640,32 @@ void virtualbike::characteristicChanged(const QLowEnergyCharacteristic &characte
reply2 = QByteArray::fromHex("ff0901040205070502021000000000b400000003");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(1)) == 0x0e &&
((uint8_t)newValue.at(2)) == 0x2a) {
reply1 = QByteArray::fromHex("fe02090202060706900208a7ffffffffffffffff");
reply2 = QByteArray::fromHex("ff09010402050705020210a7ffffffffffffffff");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
} // ff0d0204020907
else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(1)) == 0x0d &&
((uint8_t)newValue.at(2)) == 0x02) {
reply1 = QByteArray::fromHex("fe0209020000302a00000075ffffffffffffffff");
reply2 = QByteArray::fromHex("ff0901040205070502021075ffffffffffffffff");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
} // ff0f0204020b
else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(1)) == 0x0f &&
((uint8_t)newValue.at(2)) == 0x02) {
reply1 = QByteArray::fromHex("fe02090202050705020210a7ffffffffffffffff");
reply2 = QByteArray::fromHex("ff09010402050705020210a7ffffffffffffffff");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
} // ff0e...
else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(1)) == 0x0e) {
reply1 = QByteArray::fromHex("fe02090202060706900208a7ffffffffffffffff");
reply2 = QByteArray::fromHex("ff09010402050705020210a7ffffffffffffffff");
writeCharacteristic(service, characteristic, reply1);
writeCharacteristic(service, characteristic, reply2);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF && ((uint8_t)newValue.at(8)) == 0x00) {
reply1 = QByteArray::fromHex("fe02330400caaf020000000000330000df130013");
reply2 = QByteArray::fromHex("00120104022f072f020200003d00650000003700");
@@ -653,6 +697,8 @@ void virtualbike::characteristicChanged(const QLowEnergyCharacteristic &characte
writeCharacteristic(service, characteristic, reply2);
writeCharacteristic(service, characteristic, reply3);
writeCharacteristic(service, characteristic, reply4);
} else if (newValue.length() > 8 && ((uint8_t)newValue.at(0)) == 0xFF) {
qDebug() << "YOU HAVE TO MANAGE ME!";
}
}