Simple test¶
Ensure your device works with this simple test.
examples/rm3100_i2c_test.py¶
1# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2# SPDX-FileCopyrightText: Copyright (c) 2022 Phil Underwood for Underwood Underground
3#
4# SPDX-License-Identifier: Unlicense
5"""
6This example uses I2C mode and no interrupt pin. It uses single measurement mode,
7so each retrieval of `rm.magnetic` takes ``rm.measurement_time`` to complete
8"""
9
10import board
11import rm3100
12
13i2c = board.I2C()
14rm = rm3100.RM3100_I2C(i2c, i2c_address=0x20)
15
16while True:
17 print(rm.magnetic)
examples/rm3100_spi_test.py¶
1# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2# SPDX-FileCopyrightText: Copyright (c) 2022 Phil Underwood for Underwood Underground
3#
4# SPDX-License-Identifier: Unlicense
5
6import board
7import digitalio
8import rm3100
9
10spi = board.SPI()
11drdy_pin = digitalio.DigitalInOut(board.D3)
12drdy_pin.direction = digitalio.Direction.INPUT
13
14cs_pin = digitalio.DigitalInOut(board.D4)
15cs_pin.direction = digitalio.Direction.OUTPUT
16cs_pin.value = True
17with rm3100.RM3100_SPI(spi, chip_select=cs_pin, drdy_pin=drdy_pin) as rm:
18 rm.start_continuous_reading(1.2) # start continuous reading at 1.2Hz
19 for i in range(20):
20 print(rm.magnetic)
21 # don't need to call rm.stop here because the context manager will stop that for us