gnss17  2.1.0.0
Main Page

GNSS 17 click

GNSS 17 Click is a compact add-on board for precise and reliable global navigation and positioning. This board features the M20071, an integrated full-function GNSS receiver module from Antenova, which features the MediaTek AG3335MN flash chip. This module can concurrently track multiple GNSS constellations, including GPS, GLONASS, GALILEO, BEIDOU, and QZSS, ensuring accurate positioning even in dense urban environments. It includes advanced features like multi-path algorithms for enhanced accuracy, a high-performance onboard LNA for weak-signal environments, and power-saving modes to optimize energy consumption.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Apr 2024.
  • Type : UART type

Software Support

We provide a library for the GNSS 17 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for GNSS 17 Click driver.

Standard key functions :

Example key functions :

  • gnss17_generic_read This function reads a desired number of data bytes by using UART serial interface.
    err_t gnss17_generic_read ( gnss17_t *ctx, uint8_t *data_out, uint16_t len );
  • gnss17_parse_gga This function parses the GGA data from the read response buffer.
    err_t gnss17_parse_gga ( uint8_t *rsp_buf, uint8_t gga_element, uint8_t *element_data );
  • gnss17_reset_device This function resets the device by toggling the EN and AON pins.

Example Description

This example demonstrates the use of GNSS 17 click by reading and displaying the GNSS coordinates.

The demo application is composed of two sections :

Application Init

Initializes the driver and resets the click board.

void application_init ( void )
{
log_cfg_t log_cfg;
gnss17_cfg_t gnss17_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
gnss17_cfg_setup( &gnss17_cfg );
GNSS17_MAP_MIKROBUS( gnss17_cfg, MIKROBUS_1 );
if ( UART_ERROR == gnss17_init( &gnss17, &gnss17_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Reads the received data, parses the NMEA GGA info from it, and once it receives the position fix it will start displaying the coordinates on the USB UART.

void application_task ( void )
{
if ( GNSS17_OK == gnss17_process( &gnss17 ) )
{
if ( app_buf_len > ( sizeof ( GNSS17_RSP_GGA ) + GNSS17_GGA_ELEMENT_SIZE ) )
{
gnss17_parser_application( app_buf );
}
}
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.GNSS17

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


gnss17_reset_device
void gnss17_reset_device(gnss17_t *ctx)
GNSS 17 reset device function.
application_task
void application_task(void)
Definition: main.c:107
gnss17_t
GNSS 17 Click context object.
Definition: gnss17.h:138
GNSS17_GGA_ELEMENT_SIZE
#define GNSS17_GGA_ELEMENT_SIZE
GNSS 17 GGA command elements.
Definition: gnss17.h:82
GNSS17_OK
@ GNSS17_OK
Definition: gnss17.h:185
gnss17_cfg_setup
void gnss17_cfg_setup(gnss17_cfg_t *cfg)
GNSS 17 configuration object setup function.
gnss17_generic_read
err_t gnss17_generic_read(gnss17_t *ctx, uint8_t *data_out, uint16_t len)
GNSS 17 data reading function.
gnss17_init
err_t gnss17_init(gnss17_t *ctx, gnss17_cfg_t *cfg)
GNSS 17 initialization function.
GNSS17_RSP_GGA
#define GNSS17_RSP_GGA
Definition: gnss17.h:76
GNSS17_MAP_MIKROBUS
#define GNSS17_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: gnss17.h:122
application_init
void application_init(void)
Definition: main.c:77
gnss17_cfg_t
GNSS 17 Click configuration object.
Definition: gnss17.h:159
gnss17_parse_gga
err_t gnss17_parse_gga(uint8_t *rsp_buf, uint8_t gga_element, uint8_t *element_data)
GNSS 17 parse GGA function.