元資料
結構
/// 支援的部件。
public enum EnablePart: Equatable {
case hmi
case controller
case mainBattery
case display
case motor
case cadenceSensor
case torqueSensor
case charger
case frontLight
case rearLight
case throttle
case eBrake
case eLock
case frontDerailleur
case rearDerailleur
case IoT
case hallSensor
case speedSensor
case subBattery1
case subBattery2
case undefined(Int)
}
/// 元資料。
public struct MetaParameter {
public fileprivate(set) var hmiSSN: String?
public fileprivate(set) var hmiDMID: String?
public fileprivate(set) var hmiDSN: String?
public fileprivate(set) var hmiSMID: String?
public fileprivate(set) var hmiFrame: String?
public fileprivate(set) var hmiSaleDate: String?
public fileprivate(set) var hmiFWAppVer: String?
public fileprivate(set) var hmiFWBtlVer: String?
public fileprivate(set) var hmiFWSdkVer: String?
public fileprivate(set) var hmiHWVer: String?
public fileprivate(set) var hmiParaVer: String?
public fileprivate(set) var hmiProtocolVer: String?
public fileprivate(set) var hmiBtDevName: String?
/// 距離單位為公制或英制。
public fileprivate(set) var hmiDistanceUint: MKDistanceFormatter.Units?
public fileprivate(set) var batterySSN: String?
public fileprivate(set) var batteryDMID: String?
public fileprivate(set) var batteryDSN: String?
public fileprivate(set) var batterySMID: String?
public fileprivate(set) var batteryFrame: String?
public fileprivate(set) var batterySaleDate: String?
public fileprivate(set) var batteryFWAppVer: String?
public fileprivate(set) var batteryFWBtlVer: String?
public fileprivate(set) var batteryFWSdkVer: String?
public fileprivate(set) var batteryHWVer: String?
public fileprivate(set) var batteryParaVer: String?
public fileprivate(set) var batteryProtocolVer: String?
public fileprivate(set) var batteryBtDevName: String?
public fileprivate(set) var controllerSSN: String?
public fileprivate(set) var controllerDMID: String?
public fileprivate(set) var controllerDSN: String?
public fileprivate(set) var controllerSMID: String?
public fileprivate(set) var controllerFrame: String?
public fileprivate(set) var controllerSaleDate: String?
public fileprivate(set) var controllerFWAppVer: String?
public fileprivate(set) var controllerFWBtlVer: String?
public fileprivate(set) var controllerFWSdkVer: String?
public fileprivate(set) var controllerHWVer: String?
public fileprivate(set) var controllerParaVer: String?
public fileprivate(set) var controllerProtocolVer: String?
public fileprivate(set) var controllerBtDevName: String?
/// 支援的部件。
public var enableParts: [MetaParameter.EnablePart]
}取值
FarmLandBikeKit.sleipnir.metaParameter監聽
FarmLandBikeKit.sleipnir.metaPublisher
.sink(receiveValue: { metaParameter in
// 取得元資料。
})
.store(in: &subscriptions)