def getMeasurement(self): newMeasurement = Measurement() newMeasurement.timeStamp = time.time() newMeasurement.value = 1 newMeasurement.units = self.sensorUnits return newMeasurement
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
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
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
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