GPSProvider wrapper library for STMicroelectronics' X-NUCLEO-GNSS1A1 Expansion Board.

Dependents:   TeseoLocation

X_NUCLEO_GNSS1A1 Library

GPS_Provider wrapper library for STMicroelectronics' X-NUCLEO-GNSS1A1 component.

Overview

This library includes drivers for ST’s Teseo-LIV3F Global Navigation Satellite System (GNSS) device and middleware for the NMEA protocol support. This firmware package implements the port of the GPS_Provider to STMicroelectronics' X-NUCLEO-GNSS1A1 GNSS Expansion Board.

The key features of the library are:

  • Complete software to build applications using Teseo-LIV3F GNSS device
  • Middleware for the NMEA protocol support

Furthermore the library provides the following advanced features:

  • Geofencing - allows the Teseo-LIV3F receiver to raise a NMEA message when the resolved GNSS position is close to or entering or exiting from a specific circle
  • Odometer - provides information on the traveled distance using only the resolved GNSS position
  • Data Logging - allows the Teseo-LIV3F receiver to save locally on the flash the resolved GNSS position to be retrieved on demand from the Host

Hardware description

The X-NUCLEO-GNSS1A1 is a Global Navigation Satellite System Expansion Board usable with the STM32 Nucleo system and other Arduino compatible platforms. It is designed around the STMicroelectronics Teseo-LIV3F GNSS receiver IC working on multiple constellations (GPS/Galileo/Glonass/BeiDou/QZSS).

The Teseo-LIV3F module is designed for top performance in a minimal space. Within its 10x10mm compact size, Teseo-LIV3F offers superior accuracy thanks to the on board 26MHz Temperature Compensated Crystal Oscillator (TCXO) and a reduced Time To First Fix (TTFF) relying to its dedicated 32KHz Real Time Clock (RTC) oscillator.

The X-NUCLEO-GNSS1A1, hosting the Teseo-LIV3F, is compatible with Arduino UNO R3 connector layout and interfaces with the MCU via the UART channel. To connect by serial port the GNSS receiver and the host the following parameters must be used:

  • 8 data bits
  • No parity
  • 1 stop bit
  • 9600 bauds

A GPS/GLONASS/Beidou antenna, distributed along with the X-NUCLEO-GNSS1A1 Expansion Board, must be connected to the antenna connector present on the Expansion Board. For the X-NUCLEO-GNSS1A1 proper operations, the following jumper settings must be used:

  • J2 open
  • J3 closed
  • J4 closed
  • J5 open
  • J6 closed
  • J7 closed
  • J8 open
  • J9 closed
  • J10 open
  • J11 closed
  • J12 closed
  • J13 closed
  • J14 closed
  • J15 closed

Tested platforms

This firmware has been tested on STM32 NUCLEO-F401RE

Example Application

To run GNSS example applications using X-NUCLEO-GNSS1A1 Expansion Board based on mbed OS, please refer to TeseoLocation page.

Committer:
apalmieri
Date:
Mon Nov 12 13:43:59 2018 +0000
Revision:
2:a1564d9fe38e
Parent:
1:02afb9b6f2c6
Update README

Who changed what in which revision?

UserRevisionLine numberNew contents of line
apalmieri 0:a77f1f1f8318 1 # Teseo-LIV3F
apalmieri 0:a77f1f1f8318 2
apalmieri 0:a77f1f1f8318 3 GPSProvider wrapper library for STMicroelectronics' X-NUCLEO-GNSS1A1 Expansion Board.
apalmieri 0:a77f1f1f8318 4
apalmieri 0:a77f1f1f8318 5 ## Overview
apalmieri 0:a77f1f1f8318 6
apalmieri 0:a77f1f1f8318 7 This is the Github repo including drivers for ST’s Teseo-LIV3F Global Navigation Satellite System (GNSS) device and middleware for the NMEA protocol support.
apalmieri 2:a1564d9fe38e 8 This firmware package implements the port of the [GPS_Provider](https://github.com/to_be_defined/GPS_Provider/) to STMicroelectronics' X-NUCLEO-GNSS1A1 GNSS Expansion Board.
apalmieri 0:a77f1f1f8318 9
apalmieri 0:a77f1f1f8318 10 The key features of the package are:
apalmieri 0:a77f1f1f8318 11 * Complete software to build applications using Teseo-LIV3F GNSS device
apalmieri 0:a77f1f1f8318 12 * Middleware for the NMEA protocol support
apalmieri 0:a77f1f1f8318 13
apalmieri 0:a77f1f1f8318 14 Furthermore the package provides the following advanced features:
apalmieri 0:a77f1f1f8318 15 * Geofencing - allows the Teseo-LIV3F receiver to raise a NMEA message when the resolved GNSS position is close to or entering or exiting from a specific circle
apalmieri 0:a77f1f1f8318 16 * Odometer - provides information on the traveled distance using only the resolved GNSS position
apalmieri 0:a77f1f1f8318 17 * Data Logging - allows the Teseo-LIV3F receiver to save locally on the flash the resolved GNSS position to be retrieved on demand from the Host
apalmieri 0:a77f1f1f8318 18
apalmieri 0:a77f1f1f8318 19 ## Hardware description
apalmieri 0:a77f1f1f8318 20
apalmieri 0:a77f1f1f8318 21 The X-NUCLEO-GNSS1A1 is a Global Navigation Satellite System Expansion Board usable with the STM32 Nucleo system and other Arduino compatible platforms. It is designed around the STMicroelectronics Teseo-LIV3F GNSS receiver IC working on multiple constellations (GPS/Galileo/Glonass/BeiDou/QZSS).
apalmieri 0:a77f1f1f8318 22
apalmieri 0:a77f1f1f8318 23 The Teseo-LIV3F module is designed for top performance in a minimal space. Within its 10x10mm compact size, Teseo-LIV3F offers superior accuracy thanks to the on board 26MHz Temperature Compensated Crystal Oscillator (TCXO) and a reduced Time To First Fix (TTFF) relying to its dedicated 32KHz Real Time Clock (RTC) oscillator.
apalmieri 0:a77f1f1f8318 24
apalmieri 0:a77f1f1f8318 25 The X-NUCLEO-GNSS1A1, hosting the Teseo-LIV3F, is compatible with Arduino UNO R3 connector layout and interfaces with the MCU via the UART channel.
apalmieri 0:a77f1f1f8318 26 To connect by serial port the GNSS receiver and the host the following parameters must be used:
apalmieri 0:a77f1f1f8318 27 * 8 data bits
apalmieri 0:a77f1f1f8318 28 * No parity
apalmieri 0:a77f1f1f8318 29 * 1 stop bit
apalmieri 0:a77f1f1f8318 30 * 9600 bauds
apalmieri 0:a77f1f1f8318 31
apalmieri 0:a77f1f1f8318 32 A GPS/GLONASS/Beidou antenna, distributed along with the X-NUCLEO-GNSS1A1 Expansion Board, must be connected to the antenna connector present on the Expansion Board.
apalmieri 0:a77f1f1f8318 33 For the X-NUCLEO-GNSS1A1 proper operations, the following jumper settings must be used:
apalmieri 0:a77f1f1f8318 34 * J2 open
apalmieri 0:a77f1f1f8318 35 * J3 closed
apalmieri 0:a77f1f1f8318 36 * J4 closed
apalmieri 0:a77f1f1f8318 37 * J5 open
apalmieri 0:a77f1f1f8318 38 * J6 closed
apalmieri 0:a77f1f1f8318 39 * J7 closed
apalmieri 0:a77f1f1f8318 40 * J8 open
apalmieri 0:a77f1f1f8318 41 * J9 closed
apalmieri 0:a77f1f1f8318 42 * J10 open
apalmieri 0:a77f1f1f8318 43 * J11 closed
apalmieri 0:a77f1f1f8318 44 * J12 closed
apalmieri 0:a77f1f1f8318 45 * J13 closed
apalmieri 0:a77f1f1f8318 46 * J14 closed
apalmieri 0:a77f1f1f8318 47 * J15 closed
apalmieri 0:a77f1f1f8318 48
apalmieri 0:a77f1f1f8318 49 ## Tested platforms
apalmieri 0:a77f1f1f8318 50
apalmieri 0:a77f1f1f8318 51 This firmware has been tested on STM32 NUCLEO-F401RE
apalmieri 0:a77f1f1f8318 52
apalmieri 0:a77f1f1f8318 53 ## Example Application
apalmieri 0:a77f1f1f8318 54
apalmieri 1:02afb9b6f2c6 55 To run GNSS example applications using X-NUCLEO-GNSS1A1 Expansion Board based on mbed OS and built with [mbed-cli](https://github.com/ARMmbed/mbed-cli/), please refer to [TeseoLocation](https://os.mbed.com/teams/ST/code/TeseoLocation/) page.