// // BleMessage+Function.swift // HDFwear // // Created by daifengyi on 2023/6/27. // import SwiftDate extension BleMessage { func getResponseCmd(frameNumber: [UInt8], messageId: [UInt8], success: Bool) -> Data { let bytes: [UInt8] = frameNumber + messageId + (success ? [0x00] : [0x01]) return createDataPacket(key: .response, bytes: bytes) } func getTimeCmd() -> Data { let date = DateInRegion().date let timeBytes: [UInt8] = [UInt8(date.year%100), UInt8(date.month), UInt8(date.day), UInt8(date.hour), UInt8(date.minute), UInt8(date.second)] // return getSendData(cmd: .set, key: .time, bytes: timeBytes) // let a = getPackData(key: .setTime, contentBytes: timeBytes) // let b = createDataPacket(key: .setTime, bytes: timeBytes) return createDataPacket(key: .setTime, bytes: timeBytes) } func getTimeFormatCmd(format: TimeFormat) -> Data { let bytes: [UInt8] = [format.rawValue] return createDataPacket(key: .setTimeFormat, bytes: bytes) } func getTemperatureUnitCmd(unit: TemperatureUnit) -> Data { let bytes: [UInt8] = [unit.rawValue] return createDataPacket(key: .setTemperatureUnit, bytes: bytes) } func getDistanceUnitCmd(unit: DistanceUnit) -> Data { let bytes: [UInt8] = [unit.rawValue] return createDataPacket(key: .setDistanceUnit, bytes: bytes) } func getWristSenseCmd(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setWristSense, bytes: bytes) } func getTouchSenseCmd(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setTouchSense, bytes: bytes) } func getLowPowerRemind(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setLowPowerRemind, bytes: bytes) } func getLanguageCmd(_ lan: UInt8) -> Data { let bytes: [UInt8] = [lan] return createDataPacket(key: .setLanguage, bytes: bytes) } func getRestoreCmd() -> Data { let bytes: [UInt8] = [] return createDataPacket(key: .setRestore, bytes: bytes) } func getHeartRateHighRemindCmd(_ maxHr: UInt8) -> Data { let bytes: [UInt8] = [maxHr] return createDataPacket(key: .setHeartRateHighRemind, bytes: bytes) } func getHeartRateLowRemindCmd(_ minHr: UInt8) -> Data { let bytes: [UInt8] = [minHr] return createDataPacket(key: .setHeartRateLowRemind, bytes: bytes) } func getFindWatchCmd(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setFindWatch, bytes: bytes) } func getPressureAutoDetectCmd(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setPressureAutoDetect, bytes: bytes) } func getBloodOxygenAutoDetectCmd(_ bool: Bool) -> Data { let bytes: [UInt8] = bool ? [0x01] : [0x00] return createDataPacket(key: .setbloodOxygenAutoDetect, bytes: bytes) } func getUserInfoCmd(_ user: UserInfoModel) -> Data { let bytes = [0x00, UInt8(user.weight), 0x00, UInt8(user.height), UInt8(user.gender)] return createDataPacket(key: .setUserInfo, bytes: bytes) } func getNotDisturbCmd(_ remind: RemindModel) -> Data { //jtd! let bytes: [UInt8] = [remind.isOn ? 0x01 : 0x00, UInt8(remind.startDate.hour), UInt8(remind.startDate.minute), UInt8(remind.endDate.hour), UInt8(remind.endDate.minute)] return createDataPacket(key: .setNoDisturb, bytes: bytes) } func getSyncCmd(_ type: SyncType) -> Data { let bytes: [UInt8] = [type.rawValue] return createDataPacket(key: .setSynWatch, bytes: bytes) } }