Add support for the Metro M4 AirLift board

This commit is contained in:
Dave Astels 2019-04-29 13:42:00 -04:00
parent 74aa3b9c8a
commit 1f392a1ebb
2 changed files with 21 additions and 8 deletions

View file

@ -41,12 +41,19 @@ except ImportError:
class AIO(object):
def __init__(self):
esp32_cs = DigitalInOut(board.D10)
esp32_ready = DigitalInOut(board.D9)
esp32_reset = DigitalInOut(board.D6)
try:
esp32_cs = DigitalInOut(board.ESP_CS)
esp32_busy = DigitalInOut(board.ESP_BUSY)
esp32_reset = DigitalInOut(board.ESP_RESET)
self._onboard_esp = True
except AttributeError:
esp32_cs = DigitalInOut(board.D10)
esp32_busy = DigitalInOut(board.D9)
esp32_reset = DigitalInOut(board.D6)
self._onboard_esp = False
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset)
self._esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_busy, esp32_reset)
if self._esp.status == adafruit_esp32spi.WL_IDLE_STATUS:
logger.debug('ESP32 found and in idle mode')
@ -55,6 +62,9 @@ class AIO(object):
requests.set_interface(self._esp)
@property
def onboard_esp(self):
return self._onboard_esp
def connect(self):
logger.debug("Connecting...")

View file

@ -30,16 +30,19 @@ gps_interface.begin()
logger.debug('GPS started')
air_uart = busio.UART(board.A2, board.A3, baudrate=9600)
aio_interface = aio.AIO()
if aio_interface.onboard_esp:
air_uart = busio.UART(board.D5, board.D7, baudrate=9600)
else:
air_uart = busio.UART(board.A2, board.A3, baudrate=9600)
air = air_quality.AirQualitySensor(air_uart)
logger.debug('Ait quality sensor started')
logger.debug('Air quality sensor started')
i2c = busio.I2C(board.SCL, board.SDA)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
aio_interface = aio.AIO()
reading_interval = 300.0
reading_time = time.monotonic()