Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
def parseOpCode3_type2(serviceData, data):
    if len(data) == 16:
        parseOpCode3_type0(serviceData, data)
    
        # apply differences between type 0 and type 2
        serviceData.stateOfExternalCrownstone = True