SPI and Ublox Modules¶
examples/using_spi_ex6.py¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #!/usr/bin/env python3 #----------------------------------------------------------------------------- # using_spi_ex6.py # # Simple Example for SparkFun ublox GPS products #------------------------------------------------------------------------ # # Written by SparkFun Electronics, July 2020 # # Do you like this library? Help support SparkFun. Buy a board! # https://sparkfun.com #================================================================================== # GNU GPL License 3.0 # Copyright (c) 2020 SparkFun Electronics # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. #================================================================================== # Example 6 # To set up SPI is as simple as calling spidev and passing the port to the # UbloxGps library. Other than this the library functions the same. There's no # need to adjust the SPI settings because they are set behind the scenes # according to the settings specified in the datasheet. # # Note as of 7/18 the SPI implementation still needs a little work. import spidev from ublox_gps import UbloxGps port = spidev.SpiDev() gps = UbloxGps(port) def run(): try: print("Listening for UBX Messages") while True: try: geo = gps.geo_coords() print("Longitude: ", geo.lon) print("Latitude: ", geo.lat) print("Heading of Motion: ", geo.headMot) except (ValueError, IOError) as err: print(err) finally: port.close() if __name__ == '__main__': run() |