Author | Rob Jansen, Copyright © 2021..2021, all rights reserved. |
Adapted-by | |
Compiler | 2.5r6 |
JAL library for use of the GPS NEO-6M receiver. This library only provided the functionality to obtain the time and the date from the GPS NEO-6M receiver. No GPS location data is provided.
The NMEA 0183 Protocol. Klaus Betke, May 2000. Revised August 2001.
The default serial interface of the NEO-6M GPS receiver is 9600 baud, 1 stopbit, no parity and no flow control. At least one of the JAL serial hardware libraries must be included and initialized by the main program with the above settings. This library claims a data buffer of 80 bytes.
No dependency found
const byte _GPS_NEO_6M_ELEMENT_STATUS = 2
const byte _GPS_NEO_6M_ELEMENT_DATE = 9
const byte _GPS_NEO_6M_ELEMENT_TIME = 1
const byte _GPS_NEO_6M_ELEMENT_EAST_WEST = 6
const byte _GPS_NEO_6M_ELEMENT_LONGITUDE = 5
const byte _GPS_NEO_6M_ELEMENT_NORTH_SOUTH = 4
var byte _gps_neo_6m_buffer[_GPS_NEO_6M_BUFFER_SIZE]
const _GPS_NEO_6M_BUFFER_SIZE = 80
const byte _GPS_NEO_6M_ELEMENT_LATITUDE = 3
const byte _GPS_RMC_STRING[] = "$GPRMC"
_gps_neo_6m_check_ascii_numbers(byte in index, byte in range_count) return bit
_gps_neo_6m_seek_to_element(byte in element) return byte
_gps_neo_6m_status_is_valid() return bit
_gps_neo_6m_ascii_to_binary(byte in ascii) return byte
_gps_neo_6m_verify_checksum() return bit
_gps_neo_6m_get_string_with_token(byte in token[]) return bit
const byte _GPS_NEO_6M_ELEMENT_STATUS = 2
No documentation found
const byte _GPS_NEO_6M_ELEMENT_DATE = 9
No documentation found
const byte _GPS_NEO_6M_ELEMENT_TIME = 1
Position of the element in the GPS string. The elements are separated by comma's. These positions are for the $GPRMC GPS string.
const byte _GPS_NEO_6M_ELEMENT_EAST_WEST = 6
No documentation found
const byte _GPS_NEO_6M_ELEMENT_LONGITUDE = 5
No documentation found
const byte _GPS_NEO_6M_ELEMENT_NORTH_SOUTH = 4
No documentation found
var byte _gps_neo_6m_buffer[_GPS_NEO_6M_BUFFER_SIZE]
Receive buffer for holding one message from the GPS module.
const _GPS_NEO_6M_BUFFER_SIZE = 80
Size of the receive buffer. Measurement show a buffer size of 72 would be sufficient but we take a bit more that fits in one bank (PIC12 and PIC16).
const byte _GPS_NEO_6M_ELEMENT_LATITUDE = 3
No documentation found
const byte _GPS_RMC_STRING[] = "$GPRMC"
Definition of the NEO-6M Recommended Minimum Navigation String (RMC).
_gps_neo_6m_check_ascii_numbers(byte in index, byte in range_count) return bit
Check if the given range of ascii characters at the index in the receive buffer are valid ascii numbers in range "0" to "9".
_gps_neo_6m_seek_to_element(byte in element) return byte
Seek to the given element in the receive buffer. The elements are separated in the buffer by comma's. The function returns the position in the receive buffer where the element starts. If the element cannot be found 0 is returned.
_gps_neo_6m_status_is_valid() return bit
Check the GPS status and return TRUE if the status is valid (=A). Currently not used. Needed when GPS location data is used.
_gps_neo_6m_ascii_to_binary(byte in ascii) return byte
Convert an ascii hexadecimal nibble to a binary number.
_gps_neo_6m_verify_checksum() return bit
Verify the checksum of the string in the receive buffer and return TRUE when OK.
_gps_neo_6m_get_string_with_token(byte in token[]) return bit
Wait for the given string from the GPS module. Returns TRUE if the string with the given token was found. The GPS string is stored in the receive buffer.
16f1825 | 16f1825_gps_neo_6m.jal |