|
SELKIELogger
1.0.0
|

Functions | |
| void | nmea_calc_checksum (const nmea_msg_t *msg, uint8_t *cs) |
| Calculate checksum for NMEA message. More... | |
| void | nmea_set_checksum (nmea_msg_t *msg) |
| Set checksum bytes for NMEA message. More... | |
| bool | nmea_check_checksum (const nmea_msg_t *msg) |
| Verify checksum bytes of NMEA message. More... | |
| size_t | nmea_message_length (const nmea_msg_t *msg) |
| Calculate number of bytes required to represent message. More... | |
| size_t | nmea_flat_array (const nmea_msg_t *msg, char **out) |
| Convert NMEA message to array of bytes for transmission. More... | |
| char * | nmea_string_hex (const nmea_msg_t *msg) |
| Return NMEA message as string. More... | |
| void | nmea_print_hex (const nmea_msg_t *msg) |
| Print NMEA message. More... | |
| strarray * | nmea_parse_fields (const nmea_msg_t *nmsg) |
| Parse raw data into fields. More... | |
| struct tm * | nmea_parse_zda (const nmea_msg_t *msg) |
| Get date/time from NMEA ZDA message. More... | |
Convert and verify NMEA protocol messages
| void nmea_calc_checksum | ( | const nmea_msg_t * | msg, |
| uint8_t * | cs | ||
| ) |
Calculate checksum for NMEA message.
Calculates the checksum for an NMEA0183 style message
| [in] | msg | Input message |
| [out] | cs | Checksum byte |
Definition at line 37 of file NMEAMessages.c.
| bool nmea_check_checksum | ( | const nmea_msg_t * | msg | ) |
Verify checksum bytes of NMEA message.
Calculates checksum with nmea_calc_checksum() and compares to checksumstored in the provided message.
| [in] | msg | Input message |
Definition at line 85 of file NMEAMessages.c.
| size_t nmea_flat_array | ( | const nmea_msg_t * | msg, |
| char ** | out | ||
| ) |
Convert NMEA message to array of bytes for transmission.
Allocates a new array of bytes and copies message into array in transmission order (e.g. out[0] to be sent first). Note that this will include a trailing CRLF pair!
Output array must be freed by caller.
| [in] | msg | Input message |
| [out] | out | Base address of output array |
Definition at line 127 of file NMEAMessages.c.
| size_t nmea_message_length | ( | const nmea_msg_t * | msg | ) |
Calculate number of bytes required to represent message.
Calculate the number of bytes/characters required to represent or transmit an NMEA message
| [in] | msg | Pointer to NMEA message structure |
Definition at line 99 of file NMEAMessages.c.
| strarray* nmea_parse_fields | ( | const nmea_msg_t * | nmsg | ) |
Parse raw data into fields.
Parses fields from raw into a string array
| [in] | nmsg | Pointer to NMEA message |
Definition at line 203 of file NMEAMessages.c.
| struct tm* nmea_parse_zda | ( | const nmea_msg_t * | msg | ) |
Get date/time from NMEA ZDA message.
Converts time encoded in message to a libc struct tm representation
Caller to free returned structure
| [in] | msg | Input message |
Definition at line 240 of file NMEAMessages.c.
| void nmea_print_hex | ( | const nmea_msg_t * | msg | ) |
Print NMEA message.
Primarily for debug purposes. Will print string generated by nmea_string_hex() to stdout.
| [in] | *msg | Input message |
Definition at line 188 of file NMEAMessages.c.
| void nmea_set_checksum | ( | nmea_msg_t * | msg | ) |
Set checksum bytes for NMEA message.
Simple wrapper around nmea_calc_checksum() to update the checksum bytes within the structure.
| [in,out] | msg | Message to update |
Definition at line 74 of file NMEAMessages.c.
| char* nmea_string_hex | ( | const nmea_msg_t * | msg | ) |
Return NMEA message as string.
Allocates a character array and fills with hexadecimal character pairs representing the message content.
As we're dealing with ASCII anyway, this just wraps nmea_flat_array and adds a null terminator
Character array must be freed by caller.
| [in] | msg | Input message |
Definition at line 174 of file NMEAMessages.c.