diff --git a/README.rst b/README.rst index c00d727..e95e4fc 100644 --- a/README.rst +++ b/README.rst @@ -56,19 +56,17 @@ To install in a virtual environment in your current project: Usage Example ============= -.. code-block:: python +.. code-block:: python3 import time import board - import busio import adafruit_lis2mdl - i2c = busio.I2C(board.SCL, board.SDA) + i2c = board.I2C() # uses board.SCL and board.SDA sensor = adafruit_lis2mdl.LIS2MDL(i2c) while True: mag_x, mag_y, mag_z = sensor.magnetic - print('Magnetometer (gauss): ({0:10.3f}, {1:10.3f}, {2:10.3f})'.format(mag_x, mag_y, mag_z)) print('') time.sleep(1.0) diff --git a/adafruit_lis2mdl.py b/adafruit_lis2mdl.py index 5f2d76b..573aaf6 100644 --- a/adafruit_lis2mdl.py +++ b/adafruit_lis2mdl.py @@ -23,12 +23,10 @@ **Software and Dependencies:** -* Adafruit CircuitPython firmware: +* Adafruit CircuitPython firmware for the supported boards: https://circuitpython.org/downloads -* Adafruit's Bus Device library: - https://github.com/adafruit/Adafruit_CircuitPython_BusDevice -* Adafruit's Register library: - https://github.com/adafruit/Adafruit_CircuitPython_Register +* Adafruit's Bus Device library: https://github.com/adafruit/Adafruit_CircuitPython_BusDevice +* Adafruit's Register library: https://github.com/adafruit/Adafruit_CircuitPython_Register """ from time import sleep @@ -91,7 +89,31 @@ class LIS2MDL: # pylint: disable=too-many-instance-attributes """ Driver for the LIS2MDL 3-axis magnetometer. - :param busio.I2C i2c_bus: The I2C bus the LIS2MDL is connected to. + :param ~busio.I2C i2c: The I2C bus the device is connected to + + **Quickstart: Importing and using the device** + + Here is an example of using the :class:`LIS2MDL` class. + First you will need to import the libraries to use the sensor + + .. code-block:: python + + import board + import adafruit_lis2mdl + + Once this is done you can define your `board.I2C` object and define your sensor object + + .. code-block:: python + + i2c = board.I2C() # uses board.SCL and board.SDA + sensor = adafruit_lis2mdl.LIS2MDL(i2c) + + Now you have access to the :attr:`magnetic` attribute + + .. code-block:: python + + mag_x, mag_y, mag_z = sensor.magnetic + """ diff --git a/docs/examples.rst b/docs/examples.rst index 844d0da..8c1097f 100644 --- a/docs/examples.rst +++ b/docs/examples.rst @@ -7,8 +7,29 @@ Ensure your device works with these simple tests. :caption: examples/lis2mdl_simpletest.py :linenos: +Interrupt Example +----------------- + +Example showing how to use the interrupts + .. literalinclude:: ../examples/lis2mdl_interrupt.py :caption: examples/lis2mdl_interrupt.py :linenos: -examples/lis2mdl_interrupt.py +Compass Example +--------------- + +Example showing how to use the compass capabilities of the device + +.. literalinclude:: ../examples/lis2mdl_compass.py + :caption: examples/lis2mdl_compass.py + :linenos: + +Calibrate Test +-------------- + +Calibrate the magnetometer and print out the hard-iron calibrations + +.. literalinclude:: ../examples/lis2mdl_calibrate.py + :caption: examples/lis2mdl_calibrate.py + :linenos: diff --git a/docs/index.rst b/docs/index.rst index 019f64f..250d24f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,6 +23,8 @@ Table of Contents .. toctree:: :caption: Tutorials + Triple-axis Accelerometer+Magnetometer (Compass) Board - LSM303 + .. toctree:: :caption: Related Products diff --git a/examples/lis2mdl_calibrate.py b/examples/lis2mdl_calibrate.py index 7e2d684..bb153fc 100644 --- a/examples/lis2mdl_calibrate.py +++ b/examples/lis2mdl_calibrate.py @@ -5,10 +5,9 @@ import time import board -import busio import adafruit_lis2mdl -i2c = busio.I2C(board.SCL, board.SDA) +i2c = board.I2C() # uses board.SCL and board.SDA magnetometer = adafruit_lis2mdl.LIS2MDL(i2c) # calibration for magnetometer X (min, max), Y and Z diff --git a/examples/lis2mdl_compass.py b/examples/lis2mdl_compass.py index 1174504..fc3a50c 100644 --- a/examples/lis2mdl_compass.py +++ b/examples/lis2mdl_compass.py @@ -6,10 +6,9 @@ import time import math import board -import busio import adafruit_lis2mdl -i2c = busio.I2C(board.SCL, board.SDA) +i2c = board.I2C() # uses board.SCL and board.SDA sensor = adafruit_lis2mdl.LIS2MDL(i2c) # You will need the calibration values from your magnetometer calibration diff --git a/examples/lis2mdl_interrupt.py b/examples/lis2mdl_interrupt.py index cb4b6da..a404ea4 100644 --- a/examples/lis2mdl_interrupt.py +++ b/examples/lis2mdl_interrupt.py @@ -3,10 +3,9 @@ import time import board -import busio import adafruit_lis2mdl -i2c = busio.I2C(board.SCL, board.SDA) +i2c = board.I2C() # uses board.SCL and board.SDA lis = adafruit_lis2mdl.LIS2MDL(i2c) lis.interrupt_threshold = 80 lis.interrupt_enabled = True diff --git a/examples/lis2mdl_simpletest.py b/examples/lis2mdl_simpletest.py index 97fb797..8835fc1 100644 --- a/examples/lis2mdl_simpletest.py +++ b/examples/lis2mdl_simpletest.py @@ -5,10 +5,9 @@ import time import board -import busio import adafruit_lis2mdl -i2c = busio.I2C(board.SCL, board.SDA) +i2c = board.I2C() # uses board.SCL and board.SDA sensor = adafruit_lis2mdl.LIS2MDL(i2c) while True: