We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]
Rating:
Author: MIKROE
Last Updated: 2018-02-13
Package Version: 1.0.0.0
Category: GPS
Downloaded: 5293 times
Followed by: 8 users
License: MIT license
For those wishing to have all the information possible from their GPS, there's a click for that. This library is a gps parser. What is does is separates the various sentences that come from the gps satellites into useful parts and pieces. Then gives the developer access the the underlying data with useful getter type functions.
Do you want to subscribe in order to receive notifications regarding "GPS Parser" changes.
Do you want to unsubscribe in order to stop receiving notifications regarding "GPS Parser" changes.
Do you want to report abuse regarding "GPS Parser".
DOWNLOAD LINK | RELATED COMPILER | CONTAINS |
---|---|---|
1441963029_gps_parser_mikroc_8051.mpkg [625.38KB] | mikroC PRO for 8051 |
|
1441968391_gps_parser_mikroc_arm.mpkg [650.84KB] | mikroC PRO for ARM |
|
1441969233_gps_parser_mikroc_avr.mpkg [642.28KB] | mikroC PRO for AVR |
|
1441969807_gps_parser_mikroc_dspic.mpkg [629.85KB] | mikroC PRO for dsPIC30/33 & PIC24 |
|
1441969559_gps_parser_mikroc_ft90x.mpkg [607.16KB] | mikroC PRO for FT90x |
|
1518536936_gps_parser_mikroc_pic.zip [358.67KB] | mikroC PRO for PIC |
|
1441963181_gps_parser_mikroc_pic32.mpkg [645.62KB] | mikroC PRO for PIC32 |
|
Pre-Notes: Library is customizable in size. With all features enabled, library compiles to ~14kb. To customize the size, comment or un-comment out sentences in the gps_config.h file. Usage Scenario:
How to: Set up gps data for parsing.
Example:
#include "gps_parser.h" void system_init() { ... UART1_Init_Advanced(115200, _UART_8_BIT_DATA, _UART_NOPARITY, _UART_ONE_STOPBIT, &_GPIO_MODULE_USART1_PA9_10); Delay_ms( 100 ); // Allow a small delay for clock stability RXNEIE_USART1_CR1_bit = 1; // Enable rx interrupt for usart 1 NVIC_IntEnable( IVT_INT_USART1 ); // Enable NVIC for rx usart1 interrupt …. } void main() { system_init(); while( 1 ) { gps_parse(); } } void UART1_RX_ISR() iv IVT_INT_USART1 ics ICS_AUTO { if( RXNE_USART1_SR_bit ) { gps_put( USART1_DR ); } }
Explaination: What we have done is connected up a usart to a gps. When data comes from the gps it triggers the interrupt which places the incoming data into the gps_put() function. Meanwhile in the main loop we are repeatedly calling gps_parse(); When this function receives a full sentence, it quickly parses it into the respective data. The gps_put() function can also be put into a pooling loop as well.
while(1) { … if( UART1_Data() ) { gps_put( UART1_Read() ); } gps_parse(); }
So what does this do? What it gives you access to is the following functions:
Note*
When changing the configuration of the library. You will need to re-build all sources to re-compile the library for the new / fewer features as described in gps_config.h.