def getMeasurement(self):

        newMeasurement = Measurement()
        newMeasurement.timeStamp = time.time()
        newMeasurement.value = 1
        newMeasurement.units = self.sensorUnits
        return newMeasurement
예제 #2
0
    def getAccMeasurement(self):
        address = self.address_book['ACC_ADDRESS']
        raw_data = self.readBlock(address, 'OUT_X_L_A')
        time_meas = time.time()
        acc_LSB = 0.732 * 1e-3  # g/LSB  TODO: make this dependent on the initialisation command
        factor_ms2_per_gn = 9.80665  # From http://www.bipm.org/utils/common/pdf/si_brochure_8_en.pdf#page=51
        acc = [row * acc_LSB * factor_ms2_per_gn for row in raw_data]

        # Create new measurement object
        newMeasurement = Measurement()
        newMeasurement.timeStamp = time_meas
        newMeasurement.value = acc
        newMeasurement.units = 'm/s^2'
        return newMeasurement
예제 #3
0
    def getMagMeasurement(self):
        address = self.address_book['MAG_ADDRESS']
        raw_data = self.readBlock(address, 'OUT_X_L_M')
        time_meas = time.time()
        mag_LSB = 0.48 * 1e-3  # G/LSB  TODO: make this dependent on the initialisation command
        factor_tesla_per_gauss = 1e-4  # http://en.wikipedia.org/wiki/Gauss_%28unit%29
        mag_flux_density = [row * mag_LSB * factor_tesla_per_gauss for row in raw_data]

        # Create new measurement object
        newMeasurement = Measurement()
        newMeasurement.timeStamp = time_meas
        newMeasurement.value = mag_flux_density
        newMeasurement.units = 'T'
        return newMeasurement
예제 #4
0
    def getMeasurement(self):

        # Read raw data
        rawData = self.__readSensor()

        newMeasurement = Measurement()

        if rawData[0].strip()[-3:] == 'YES':
            time_meas = time.time()
            time.sleep(0.2)
            # Extract temperature from raw data
            self.temperature = self.__formatSensorData(rawData[1])

            newMeasurement.timeStamp = time_meas
            newMeasurement.value = self.temperature
            newMeasurement.units = self.sensorUnits

        return newMeasurement
예제 #5
0
    def getGyrMeasurement(self):
        address = self.address_book['GYR_ADDRESS']
        time_before = time.time()
        raw_data = self.readBlock(address, 'OUT_X_L_G')
        time_meas = time.time()
        deltaT = time_meas-time_before
        #  print "max measurement delay [s]: " + str(deltaT)

        gyr_LSB = 0.07  # deg/s/LSB TODO: make this dependent on the initialisation command
        factor_rad_per_deg = 180 / np.pi
        rate = [row * gyr_LSB * factor_rad_per_deg for row in raw_data]

        # Create new measurement object
        newMeasurement = Measurement()
        newMeasurement.timeStamp = time_meas
        newMeasurement.value = rate
        newMeasurement.units = 'rad/s'
        return newMeasurement