diff --git a/src/Parse_NMEA.cpp b/src/Parse_NMEA.cpp index 7eebaa3..e10d8cb 100644 --- a/src/Parse_NMEA.cpp +++ b/src/Parse_NMEA.cpp @@ -229,5 +229,7 @@ const char * sempNmeaGetStateName(const SEMP_PARSE_STATE *parse) return "sempNmeaChecksumByte2"; if (parse->state == sempNmeaLineTermination) return "sempNmeaLineTermination"; + if (parse->state == sempNmeaHashPreamble) + return "sempNmeaHashPreamble"; return nullptr; } diff --git a/src/Parse_Unicore.cpp b/src/Parse_Unicore.cpp index c515f28..8e33156 100644 --- a/src/Parse_Unicore.cpp +++ b/src/Parse_Unicore.cpp @@ -15,37 +15,6 @@ should need to be listed in SparkFun_Extensible_Message_Parser.h. #include "SparkFun_Extensible_Message_Parser.h" #include "semp_crc32.h" -//---------------------------------------- -// Constants -//---------------------------------------- - -#define UNICORE_HEADER_LENGTH ((uint16_t)24) -#define UNICORE_OFFSET_HEADER_MESSAGE_LENGTH ((uint16_t)6) - -//---------------------------------------- -// Structure definitions -//---------------------------------------- - -typedef struct _SEMP_UNICORE_HEADER -{ - uint8_t syncA; // 0xaa - uint8_t syncB; // 0x44 - uint8_t syncC; // 0xb5 - uint8_t cpuIdlePercent; // CPU Idle Percentage 0-100 - uint16_t messageId; // Message ID - uint16_t messageLength; // Message Length - uint8_t referenceTime; // Reference time(GPST or BDST) - uint8_t timeStatus; // Time status - uint16_t weekNumber; // Reference week number - uint32_t secondsOfWeek; // GPS seconds from the beginning of the - // reference week, accurate to the millisecond - uint32_t RESERVED; - - uint8_t releasedVersion; // Release version - uint8_t leapSeconds; // Leap sec - uint16_t outputDelayMSec; // Output delay time, ms -} SEMP_UNICORE_HEADER; - //---------------------------------------- // Support routines //---------------------------------------- diff --git a/src/SparkFun_Extensible_Message_Parser.h b/src/SparkFun_Extensible_Message_Parser.h index 7e351ae..8162ca7 100644 --- a/src/SparkFun_Extensible_Message_Parser.h +++ b/src/SparkFun_Extensible_Message_Parser.h @@ -115,6 +115,31 @@ typedef struct _SEMP_PARSE_STATE // parserCount means searching for preamble } SEMP_PARSE_STATE; +//---------------------------------------- +// Protocol specific types +//---------------------------------------- + +// Define the Unicore message header +typedef struct _SEMP_UNICORE_HEADER +{ + uint8_t syncA; // 0xaa + uint8_t syncB; // 0x44 + uint8_t syncC; // 0xb5 + uint8_t cpuIdlePercent; // CPU Idle Percentage 0-100 + uint16_t messageId; // Message ID + uint16_t messageLength; // Message Length + uint8_t referenceTime; // Reference time(GPST or BDST) + uint8_t timeStatus; // Time status + uint16_t weekNumber; // Reference week number + uint32_t secondsOfWeek; // GPS seconds from the beginning of the + // reference week, accurate to the millisecond + uint32_t RESERVED; + + uint8_t releasedVersion; // Release version + uint8_t leapSeconds; // Leap sec + uint16_t outputDelayMSec; // Output delay time, ms +} SEMP_UNICORE_HEADER; + //---------------------------------------- // Support routines //----------------------------------------