Compare commits

...

2 Commits

Author SHA1 Message Date
Roberto Viola
c6450eb590 works ! 2024-10-23 19:59:16 +02:00
Roberto Viola
7c7fb36b8d Update virtualtreadmill_zwift.swift 2024-10-23 19:17:25 +02:00
2 changed files with 31 additions and 14 deletions

View File

@@ -4068,7 +4068,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = "ADB_HOST=1";
@@ -4259,7 +4259,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "../src/ios/qdomyos-zwift.entitlements";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = NO;
@@ -4486,7 +4486,7 @@
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -4582,7 +4582,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 6335M7T29D;
ENABLE_BITCODE = YES;
@@ -4674,7 +4674,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
ENABLE_BITCODE = YES;
ENABLE_PREVIEWS = YES;
@@ -4788,7 +4788,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_ENTITLEMENTS = "watchkit Extension/WatchKit Extension.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 913;
CURRENT_PROJECT_VERSION = 915;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_ASSET_PATHS = "\"watchkit Extension/Preview Content\"";
ENABLE_BITCODE = YES;

View File

@@ -329,14 +329,31 @@ class BLEPeripheralManagerTreadmillZwift: NSObject, CBPeripheralManagerDelegate
}
func calculateRSCMeasurement() -> Data {
let flags0:UInt8 = 0x00
let speed:UInt16 = UInt16(((Double(self.NormalizeSpeed) / 100.0) / 3.6) * 256.0)
var rscMeasurement: [UInt8] = [flags0, (UInt8)(speed & 0xFF), (UInt8)((speed >> 8) & 0xFF),
(UInt8)(self.CurrentCadence & 0xFF)]
let rscMeasurementData = Data(bytes: &rscMeasurement, count: 4)
return rscMeasurementData
}
// Set flags to indicate distance is present (bit 1)
let flags0: UInt8 = 0x02
// Calculate speed (existing logic)
let speed: UInt16 = UInt16(((Double(self.NormalizeSpeed) / 100.0) / 3.6) * 256.0)
// Distance in meters (assuming you have a totalDistance property)
// Using UInt32 as per BLE specification for distance
let distance: UInt32 = UInt32(self.CurrentDistance) * 10
// Create measurement array with distance
var rscMeasurement: [UInt8] = [
flags0, // Flags
UInt8(speed & 0xFF), // Speed LSB
UInt8((speed >> 8) & 0xFF), // Speed MSB
UInt8(self.CurrentCadence & 0xFF), // Cadence
UInt8(distance & 0xFF), // Distance LSB
UInt8((distance >> 8) & 0xFF), // Distance byte 2
UInt8((distance >> 16) & 0xFF), // Distance byte 3
UInt8((distance >> 24) & 0xFF) // Distance MSB
]
let rscMeasurementData = Data(bytes: &rscMeasurement, count: 8)
return rscMeasurementData
}
@objc func updateSubscribers() {
let heartRateData = self.calculateHeartRate()