adafruit_l3gd20

Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - L3GD20

This is a CircuitPython driver for the Bosch L3GD20 nine degree of freedom inertial measurement unit module with sensor fusion.

  • Author(s): Michael McWethy

Implementation Notes

Hardware:

Software and Dependencies:

class adafruit_l3gd20.L3GD20(rng=0)

Driver for the L3GD20 3-axis Gyroscope sensor.

Parameters:rng (int) – a range value one of L3DS20_RANGE_250DPS (default), L3DS20_RANGE_500DPS, or L3DS20_RANGE_2000DPS
gyro

x, y, z angular momentum tuple floats, rescaled appropriately for range selected

class adafruit_l3gd20.L3GD20_I2C(i2c, rng=0, address=107)

Driver for L3GD20 Gyroscope using I2C communications

Parameters:
  • i2c (I2C) – initialized busio I2C class
  • rng (int) – the optional range value: L3DS20_RANGE_250DPS(default), L3DS20_RANGE_500DPS, or L3DS20_RANGE_2000DPS
  • address – the optional device address, 0x68 is the default address
gyro_raw

Gives the raw gyro readings, in units of rad/s.

read_register(register)

Returns a byte value from a register

Parameters:register – the register to read a byte
write_register(register, value)

Update a register with a byte value

Parameters:
  • register (int) – which device register to write
  • value – a byte to write
class adafruit_l3gd20.L3GD20_SPI(spi_busio, cs, rng=0, baudrate=100000)

Driver for L3GD20 Gyroscope using SPI communications

Parameters:
  • spi_busio (SPI) – initialized busio SPI class
  • cs (DigitalInOut) – digital in/out to use as chip select signal
  • rng (int) – the optional range value: L3DS20_RANGE_250DPS(default), L3DS20_RANGE_500DPS, or L3DS20_RANGE_2000DPS
  • baudrate – spi baud rate default is 100000
gyro_raw

Gives the raw gyro readings, in units of rad/s.

read_bytes(register, buffer)

Low level register stream reading over SPI, returns a list of values

Parameters:
  • register – the register to read bytes
  • buffer (bytearray) – buffer to fill with data from stream
read_register(register)

Low level register reading over SPI, returns a list of values

Parameters:register – the register to read a byte
write_register(register, value)

Low level register writing over SPI, writes one 8-bit value

Parameters:
  • register (int) – which device register to write
  • value – a byte to write