import gc from testing import yes_no gc.collect() from unittest import TestCase gc.collect() from testing.board.i2c import I2C gc.collect() class TestBME280Interactive(TestCase): def test_read_value(self): import board gc.collect() import adafruit_bme280 gc.collect() if not(yes_no("Is BME280 wired to SCL {} SDA {}".format(board.SCL, board.SDA))): return # test trivially passed i2c = I2C(board.SCL, board.SDA) bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c) temperature = bme280.temperature humidity = bme280.humidity pressure = bme280.pressure altitude = bme280.altitude self.assertTrue(type(temperature) is float ) self.assertTrue(type(humidity) is float ) self.assertTrue(type(pressure) is float ) self.assertTrue(type(altitude) is float ) self.assertTrue( -50 <= temperature <= 50) self.assertTrue( 0 <= humidity <= 100) self.assertTrue( 900 <= pressure <= 1100) self.assertTrue( -1000 <= altitude <= 9,848) class TestMMA8451Interactive(TestCase): def test_read_value(self): import math gc.collect() import board gc.collect() if not(yes_no("Is MMA8451 wired to SCL {} SDA {} and held still".format(board.SCL, board.SDA))): return # test trivially passed # from https://github.com/adafruit/Adafruit_CircuitPython_MMA8451/blob/29e31a0bb836367bc73763b83513105252b7b264/examples/simpletest.py import adafruit_mma8451 i2c = I2C(board.SCL, board.SDA) sensor = adafruit_mma8451.MMA8451(i2c) x, y, z = sensor.acceleration absolute = math.sqrt(x**2 + y**2 + z**2) self.assertTrue(9 <=absolute <= 11, "Not earth gravity") orientation = sensor.orientation self.assertTrue(orientation in ( adafruit_mma8451.PL_PUF, adafruit_mma8451.PL_PUB, adafruit_mma8451.PL_PDF, adafruit_mma8451.PL_PDB, adafruit_mma8451.PL_LRF, adafruit_mma8451.PL_LRB, adafruit_mma8451.PL_LLF, adafruit_mma8451.PL_LLB, )) class TestBNO055Interactive(TestCase): def test_read_value(self): """ Access all sensor values as per https://github.com/adafruit/Adafruit_CircuitPython_BNO055/blob/bdf6ada21e7552c242bc470d4d2619b480b4c574/examples/values.py Note I have not successfully run this test. Possibly a hardware issue with module I have. See https://forums.adafruit.com/viewtopic.php?f=60&t=131665 """ import board gc.collect() import adafruit_bno055 gc.collect() i2c = I2C(board.SCL, board.SDA) sensor = adafruit_bno055.BNO055(i2c) self.assertTrue(9 <= sensor.gravity <= 11) self.assertTrue(sensor.temperature != 0) self.assertTrue(sensor.acceleration != (0,0,0)) self.assertTrue(sensor.magnetometer != (0,0,0)) self.assertTrue(sensor.gyroscope != (0,0,0)) self.assertTrue(sensor.quaternion != (0,0,0,0)) sensor.euler sensor.linear_acceleration