def __init__(self, bus, gyro_address, accel_address, compass_address, name, gyro_scale=L3G4200D.FS_2000, accel_scale=ADXL345.AFS_16g): self.bus = bus self.gyro_address = gyro_address self.accel_address = accel_address self.name = name self.gyro_scale = gyro_scale self.accel_scale = accel_scale self.accelerometer = ADXL345(bus, accel_address, name + "-accelerometer", accel_scale) self.gyroscope = L3G4200D(bus, gyro_address, name + "-gyroscope", gyro_scale) self.compass = HMC5883L(bus, compass_address, name + "-compass") self.last_time = time.time() self.time_diff = 0 self.pitch = 0 self.roll = 0 # take a reading from the device to allow it to settle after config changes self.read_all() # now take another to act a starting value self.read_all() self.pitch = self.rotation_x self.roll = self.rotation_y
def gyReading(self): device_gy = L3G4200D() i = self.numRecord while (i > 0): device_gy.read_data() self.gx, self.gy, self.gz = device_gy.getGyro() print("Rotation in X-Axis : %d" % self.gx) print("Rotation in Y-Axis : %d" % self.gy) print("Rotation in Z-Axis : %d" % self.gz) print("\n") time.sleep(self.timeInteration) i -= 1
def __init__(self, bus=None): if bus is None: bus = smbus.SMBus(i2c_banana_pi_bus_number()) #Default ADXL345 range +/- 2g is ideal for telescope use self.accel = ADXL345(bus, 0x53, name="accel") self.gyro = L3G4200D(bus, 0x69, name="gyro") self.compass = HMC5883L(bus, 0x1e, name="compass") self.barometer = BMP085(bus, 0x77, name="barometer") self._last_gyro_time = 0 #needed for interpreting gyro self.read_gyro_delta() #Discard first reading q_start = self.current_orientation_quaternion_mag_acc_only() self._q_start = q_start self._current_hybrid_orientation_q = q_start self._current_gyro_only_q = q_start
def __init__(self, bus=None): if bus is None: bus = smbus.SMBus(1) # ADXL345 accelerometer range, 2g is ideal for telescope use. Allowed values : 2g, 4g, 8g, 16g self.accel = ADXL345(bus, 0x53, name="accel", scale="8g") # L3G4200D gyroscope range, 250 is ideal for telescope use. Allowed values : 250, 500, 2000 self.gyro = L3G4200D(bus, 0x69, name="gyro", scale=250) self.compass = HMC5883L(bus, 0x1e, name="compass") self.barometer = BMP085(bus, 0x77, name="barometer") self._last_gyro_time = 0 #needed for interpreting gyro self.read_gyro_delta() #Discard first reading q_start = self.current_orientation_quaternion_mag_acc_only() self._q_start = q_start self._current_hybrid_orientation_q = q_start self._current_gyro_only_q = q_start
def __init__(self): self.accelerometer = LIS331DLH() self.gyroscope = L3G4200D() self.magnetometer = LIS3MDL() self.barometer = LPS331AP()