Compare commits

...

2 Commits

Author SHA1 Message Date
Roberto Viola
92f1ca3615 removed the HR service from the echelon services (on android and ios the advertising will fail) 2021-08-18 13:32:57 +02:00
Roberto Viola
255e5d2bbd simple rand thing 2021-08-14 21:23:14 +02:00
2 changed files with 17 additions and 18 deletions

View File

@@ -409,13 +409,13 @@ int main(int argc, char *argv[]) {
return app->exec();
}
}
#endif
#endif
/* test virtual echelon
* settings.setValue("virtual_device_echelon", true);
virtualbike* V = new virtualbike(new bike(), noWriteResistance, noHeartService);
/* test virtual echelon*/
settings.setValue("virtual_device_echelon", true);
virtualbike* V = new virtualbike(new bike(), noWriteResistance, noHeartService);
Q_UNUSED(V)
return app->exec();*/
return app->exec();
bluetooth bl(logs, deviceName, noWriteResistance, noHeartService, pollDeviceTime, noConsole, testResistance,
bikeResistanceOffset,
bikeResistanceGain); // FIXED: clang-analyzer-cplusplus.NewDeleteLeaks - potential leak

View File

@@ -71,10 +71,6 @@ virtualbike::virtualbike(bluetoothdevice *t, bool noWriteResistance, bool noHear
services << ((QBluetoothUuid::ServiceClassUuid)0xFF00);
} else {
services << (QBluetoothUuid(QStringLiteral("0bf669f0-45f2-11e7-9598-0800200c9a66")));
if (!this->noHeartService) {
services << QBluetoothUuid::HeartRate;
}
}
advertisingData.setServices(services);
@@ -631,6 +627,7 @@ void virtualbike::reconnect() {
void virtualbike::bikeProvider() {
static double rand;
QSettings settings;
bool cadence = settings.value(QStringLiteral("bike_cadence_sensor"), false).toBool();
bool battery = settings.value(QStringLiteral("battery_service"), false).toBool();
@@ -640,7 +637,9 @@ void virtualbike::bikeProvider() {
bool echelon = settings.value(QStringLiteral("virtual_device_echelon"), false).toBool();
bool erg_mode = settings.value(QStringLiteral("zwift_erg"), false).toBool();
uint16_t normalizeSpeed = (uint16_t)qRound(Bike->currentSpeed().value() * 100);
rand++;
uint16_t normalizeSpeed = (uint16_t)qRound(rand * 100);
#ifdef Q_OS_IOS
#ifndef IO_UNDER_QT
@@ -687,13 +686,13 @@ void virtualbike::bikeProvider() {
value.append((char)(normalizeSpeed & 0xFF)); // speed
value.append((char)(normalizeSpeed >> 8) & 0xFF); // speed
value.append((char)((uint16_t)(Bike->currentCadence().value() * 2) & 0xFF)); // cadence
value.append((char)(((uint16_t)(Bike->currentCadence().value() * 2) >> 8) & 0xFF)); // cadence
value.append((char)((uint16_t)(rand * 2) & 0xFF)); // cadence
value.append((char)(((uint16_t)(rand * 2) >> 8) & 0xFF)); // cadence
value.append((char)Bike->currentResistance().value()); // resistance
value.append((char)rand); // resistance
value.append((char)(0)); // resistance
value.append((char)(((uint16_t)Bike->wattsMetric().value()) & 0xFF)); // watts
value.append((char)(((uint16_t)rand) & 0xFF)); // watts
value.append((char)(((uint16_t)Bike->wattsMetric().value()) >> 8) & 0xFF); // watts
value.append(char(Bike->currentHeart().value())); // Actual value.
@@ -797,7 +796,7 @@ void virtualbike::bikeProvider() {
value.append((uint8_t)(((uint32_t)(Bike->odometer() * 100)) >> 8)); // distance
value.append((uint8_t)(Bike->odometer() * 100)); // distance
value.append((char)0x00);
value.append(Bike->currentCadence().value());
value.append(rand);
value.append((uint8_t)Bike->currentHeart().value());
uint8_t sum = 0;
@@ -830,7 +829,7 @@ void virtualbike::bikeProvider() {
resistance.append(0xf0);
resistance.append(0xd2);
resistance.append(0x01);
resistance.append(Bike->currentResistance().value());
resistance.append(rand);
sum = 0;
for (uint8_t i = 0; i < resistance.length(); i++) {
@@ -838,10 +837,10 @@ void virtualbike::bikeProvider() {
sum += resistance[i]; // the last byte is a sort of a checksum
}
resistance.append(sum);
if (oldresistance != ((uint8_t)Bike->currentResistance().value())) {
if (oldresistance != ((uint8_t)rand)) {
writeCharacteristic(service, characteristic, resistance);
}
oldresistance = ((uint8_t)Bike->currentResistance().value());
oldresistance = ((uint8_t)rand);
}
// characteristic
// = service->characteristic((QBluetoothUuid::CharacteristicType)0x2AD9); // Fitness Machine Control Point