def __getNorthAndGravityVectorsInSensorFrame(self, sensorId): command = Commands.getCommandAsChr(Commands.GET_NORTH_AND_GRAVITY_VECTORS_IN_SENSOR_FRAME) lengthOfReturnData = Commands.getReturnDataLength(Commands.GET_NORTH_AND_GRAVITY_VECTORS_IN_SENSOR_FRAME) format = Commands.getRetrunDataFormat(Commands.GET_NORTH_AND_GRAVITY_VECTORS_IN_SENSOR_FRAME) binaryCommand = self.__getWirelessBinaryCommand(command, sensorId) receivedData = self.__getRawDataAndRetryIfGetCommandFailed(sensorId,binaryCommand,lengthOfReturnData) return (self.__getFormatedData(receivedData,format))
def __getTaredOrientationAsQuaternion(self, sensorId,needToReturnSensorId = True): command = Commands.getCommandAsChr(Commands.GET_TARED_ORIENTATION_AS_QUATERNION) format = Commands.getRetrunDataFormat(Commands.GET_TARED_ORIENTATION_AS_QUATERNION) lengthOfReturnData = Commands.getReturnDataLength(Commands.GET_TARED_ORIENTATION_AS_QUATERNION) binaryCommand = self.__getWirelessBinaryCommand(command, sensorId) receivedData = self.__getRawDataAndRetryIfGetCommandFailed(sensorId,binaryCommand,lengthOfReturnData) if needToReturnSensorId is True: return (self.__getFormatedData(receivedData,format)) else: return (self.__getFormatedDataWithoutSensorId(receivedData,format))
def __getUntaredOrientationAsQuaternion(self, sensorId = 0,needToReturnSensorId = True): command = Commands.getCommandAsChr(Commands.GET_UNTARED_ORIENTATION_AS_QUATERNION) lengthOfReturnData = Commands.getReturnDataLength(Commands.GET_UNTARED_ORIENTATION_AS_QUATERNION) format = Commands.getRetrunDataFormat(Commands.GET_UNTARED_ORIENTATION_AS_QUATERNION) binaryCommand = self.__getWirelessBinaryCommand(command, sensorId) receivedData = self.__getRawDataAndRetryIfGetCommandFailed(sensorId,binaryCommand,lengthOfReturnData) if needToReturnSensorId is True: return (self.__getFormatedData(receivedData,format)) else: #Note: starting byte is sensorId followed by data, need to remove index 0 if you dont want to get sensorId as return data return (self.__getFormatedData(receivedData,format))[1:]