# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries # # SPDX-License-Identifier: MIT import gc from unittest import TestCase from testing import await_true gc.collect() class TestGPSInteractive(TestCase): def test_read_value(self): import adafruit_blinka adafruit_blinka.patch_system() # needed before adafruit_gps imports time import microcontroller.pin gc.collect() import busio gc.collect() import adafruit_gps gc.collect() # configure the last available UART (first uart often for REPL) uartId, uartTx, uartRx = microcontroller.pin.uartPorts[0] uart = busio.UART(uartTx, uartRx, baudrate=9600, timeout=3000) gps = adafruit_gps.GPS(uart) gps.send_command("PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0") gps.send_command("PMTK220,1000") def try_fix(): gps.update() return gps.has_fix await_true("GPS fix", try_fix) self.assertTrue(gps.satellites is not None) self.assertTrue(-90 <= gps.latitude < 90) self.assertTrue(-180 <= gps.longitude < 180)