gnsszoe 2.0.0.0
gnsszoe.h File Reference

This file contains API for GNSS ZOE Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "drv_uart.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  gnsszoe_s
 GNSS ZOE Click context object. More...
 
struct  gnsszoe_cfg_t
 GNSS ZOE Click configuration object. More...
 

Macros

#define GNSSZOE_RSP_START   "$"
 GNSS ZOE response buffer commands.
 
#define GNSSZOE_RSP_DELIMITER   ","
 
#define GNSSZOE_RSP_GNGGA   "$GNGGA"
 
#define GNSSZOE_GNGGA_ELEMENT_SIZE   15
 GNSS ZOE GNGGA command elements.
 
#define GNSSZOE_GNGGA_TIME   1
 
#define GNSSZOE_GNGGA_LATITUDE   2
 
#define GNSSZOE_GNGGA_LATITUDE_SIDE   3
 
#define GNSSZOE_GNGGA_LONGITUDE   4
 
#define GNSSZOE_GNGGA_LONGITUDE_SIDE   5
 
#define GNSSZOE_GNGGA_QUALITY_INDICATOR   6
 
#define GNSSZOE_GNGGA_NUMBER_OF_SATELLITES   7
 
#define GNSSZOE_GNGGA_H_DILUTION_OF_POS   8
 
#define GNSSZOE_GNGGA_ALTITUDE   9
 
#define GNSSZOE_GNGGA_ALTITUDE_UNIT   10
 
#define GNSSZOE_GNGGA_GEOIDAL_SEPARATION   11
 
#define GNSSZOE_GNGGA_GEOIDAL_SEPARATION_UNIT   12
 
#define GNSSZOE_GNGGA_TIME_SINCE_LAST_DGPS   13
 
#define GNSSZOE_GNGGA_DGPS_REFERENCE_STATION_ID   14
 
#define GNSSZOE_DUMMY   0xFF
 GNSS ZOE dummy data.
 
#define GNSSZOE_SET_DEV_ADDR   0x42
 GNSS ZOE device address setting.
 
#define GNSSZOE_DRV_TX_BUFFER_SIZE   100
 GNSS ZOE driver buffer size.
 
#define GNSSZOE_DRV_RX_BUFFER_SIZE   600
 
#define GNSSZOE_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define GNSSZOE_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define GNSSZOE_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Typedefs

typedef err_t(* gnsszoe_master_io_t) (struct gnsszoe_s *, uint8_t *, uint8_t)
 GNSS ZOE Click driver interface.
 
typedef struct gnsszoe_s gnsszoe_t
 GNSS ZOE Click context object.
 

Enumerations

enum  gnsszoe_drv_t { GNSSZOE_DRV_SEL_UART , GNSSZOE_DRV_SEL_SPI , GNSSZOE_DRV_SEL_I2C }
 GNSS ZOE Click driver selector. More...
 
enum  gnsszoe_return_value_t { GNSSZOE_OK = 0 , GNSSZOE_ERROR = -1 }
 GNSS ZOE Click return value data. More...
 

Functions

void gnsszoe_cfg_setup (gnsszoe_cfg_t *cfg)
 GNSS ZOE configuration object setup function.
 
void gnsszoe_drv_interface_selection (gnsszoe_cfg_t *cfg, gnsszoe_drv_t drv_sel)
 GNSS ZOE driver interface setup function.
 
err_t gnsszoe_init (gnsszoe_t *ctx, gnsszoe_cfg_t *cfg)
 GNSS ZOE initialization function.
 
err_t gnsszoe_generic_write (gnsszoe_t *ctx, uint8_t *data_in, uint8_t len)
 GNSS ZOE data writing function.
 
err_t gnsszoe_generic_read (gnsszoe_t *ctx, uint8_t *data_out, uint8_t len)
 GNSS ZOE data reading function.
 
void gnsszoe_set_rst_pin (gnsszoe_t *ctx, uint8_t state)
 GNSS ZOE set RST pin function.
 
uint8_t gnsszoe_get_exi_pin (gnsszoe_t *ctx)
 GNSS ZOE get EXI pin function.
 
void gnsszoe_reset_device (gnsszoe_t *ctx)
 GNSS ZOE reset device function.
 
err_t gnsszoe_parse_gngga (char *rsp_buf, uint8_t gngga_element, char *element_data)
 GNSS ZOE parse GNGGA function.
 

Detailed Description

This file contains API for GNSS ZOE Click Driver.

Typedef Documentation

◆ gnsszoe_master_io_t

typedef err_t(* gnsszoe_master_io_t) (struct gnsszoe_s *, uint8_t *, uint8_t)

GNSS ZOE Click driver interface.

Definition of driver interface of GNSS ZOE Click driver. Driver serial interface.

◆ gnsszoe_t

typedef struct gnsszoe_s gnsszoe_t

GNSS ZOE Click context object.

Context object definition of GNSS ZOE Click driver.

Enumeration Type Documentation

◆ gnsszoe_drv_t

GNSS ZOE Click driver selector.

Selects target driver interface of GNSS ZOE Click driver.

Enumerator
GNSSZOE_DRV_SEL_UART 

UART driver descriptor.

GNSSZOE_DRV_SEL_SPI 

SPI driver descriptor.

GNSSZOE_DRV_SEL_I2C 

I2C driver descriptor.

◆ gnsszoe_return_value_t

GNSS ZOE Click return value data.

Predefined enum values for driver return values.

Enumerator
GNSSZOE_OK 
GNSSZOE_ERROR