def parseOpCode5(serviceData, data): if len(data) == 18: if DeviceType.has_value(data[1]): serviceData.deviceType = DeviceType(data[1]) else: serviceData.deviceType = DeviceType.undefined serviceData.dataType = data[2] dataSlice = data[1:] if serviceData.dataType == 0: parseOpCode3_type0(serviceData, dataSlice) elif serviceData.dataType == 1: parseOpCode3_type1(serviceData, dataSlice) elif serviceData.dataType == 2: parseOpCode3_type2(serviceData, dataSlice) serviceData.rssiOfExternalCrownstone = Conversion.uint8_to_int8( dataSlice[15]) elif serviceData.dataType == 3: parseOpCode3_type3(serviceData, dataSlice) serviceData.rssiOfExternalCrownstone = Conversion.uint8_to_int8( dataSlice[15]) else: parseOpCode3_type0(serviceData, dataSlice)
def parseOpCode3_type3(serviceData, data): if len(data) == 17: parseOpCode3_type1(serviceData, data) # apply differences between type 1 and type 4 serviceData.stateOfExternalCrownstone = True serviceData.powerUsageReal = 0 serviceData.validation = data[16]
def parseOpCode3(serviceData, data): if len(data) == 16: serviceData.dataType = data[0] if serviceData.dataType == 0: parseOpCode3_type0(serviceData, data) elif serviceData.dataType == 1: parseOpCode3_type1(serviceData, data) elif serviceData.dataType == 2: parseOpCode3_type2(serviceData, data) elif serviceData.dataType == 3: parseOpCode3_type3(serviceData, data) else: parseOpCode3_type0(serviceData, data)
def parseOpCode5(serviceData, data): if len(data) == 16: serviceData.dataType = data[0] if serviceData.dataType == 0: parseOpCode3_type0(serviceData, data) elif serviceData.dataType == 1: parseOpCode3_type1(serviceData, data) elif serviceData.dataType == 2: parseOpCode3_type2(serviceData, data) serviceData.rssiOfExternalCrownstone = Conversion.uint8_to_int8( data[15]) elif serviceData.dataType == 3: parseOpCode3_type3(serviceData, data) serviceData.rssiOfExternalCrownstone = Conversion.uint8_to_int8( data[15]) else: parseOpCode3_type0(serviceData, data)