def getSetupPacket(crownstoneId: int, sphereId: int, adminKey, memberKey, basicKey, serviceDataKey, localizationKey, meshDeviceKey, meshAppKey, meshNetworkKey, ibeaconUUID: str, ibeaconMajor: int, ibeaconMinor: int): """ :param crownstoneId: uint8 number :param sphereId: uint8 number :param adminKey: byteString (no conversion required) :param memberKey: byteString (no conversion required) :param basicKey: byteString (no conversion required) :param serviceDataKey: byteString (no conversion required) :param localizationKey: byteString (no conversion required) :param meshDeviceKey: byteString (no conversion required) :param meshAppKey: byteString (no conversion required) :param meshNetworkKey: byteString (no conversion required) :param ibeaconUUID: string (ie. "1843423e-e175-4af0-a2e4-31e32f729a8a") :param ibeaconMajor: uint16 number :param ibeaconMinor: uint16 number :return: """ data = [] data.append(crownstoneId) data.append(sphereId) data += list(adminKey) data += list(memberKey) data += list(basicKey) data += list(serviceDataKey) data += list(localizationKey) MDKey = meshDeviceKey if type(meshDeviceKey) is str: MDKey = Conversion.ascii_or_hex_string_to_16_byte_array( meshDeviceKey) data += list(MDKey) data += list(meshAppKey) data += list(meshNetworkKey) data += Conversion.ibeaconUUIDString_to_reversed_uint8_array( ibeaconUUID) data += Conversion.uint16_to_uint8_array(ibeaconMajor) data += Conversion.uint16_to_uint8_array(ibeaconMinor) return ControlPacket(ControlType.SETUP).loadByteArray(data).serialize()
def loadKeys(self, adminKey, memberKey, basicKey, serviceDataKey, localizationKey, meshApplicationKey, meshNetworkKey): self.adminKey = Conversion.ascii_or_hex_string_to_16_byte_array( adminKey) self.memberKey = Conversion.ascii_or_hex_string_to_16_byte_array( memberKey) self.basicKey = Conversion.ascii_or_hex_string_to_16_byte_array( basicKey) self.serviceDataKey = Conversion.ascii_or_hex_string_to_16_byte_array( serviceDataKey) self.localizationKey = Conversion.ascii_or_hex_string_to_16_byte_array( localizationKey) self.meshApplicationKey = Conversion.ascii_or_hex_string_to_16_byte_array( meshApplicationKey) self.meshNetworkKey = Conversion.ascii_or_hex_string_to_16_byte_array( meshNetworkKey) self.initializedKeys = True self.determineUserLevel()
def loadKey(self, keyString): self.payload = Conversion.ascii_or_hex_string_to_16_byte_array( keyString) return self._process()