/* edit packet_states.h to add new packet types. */ GROUND_STATE, /* we don't know what packet type to expect */ COMMENT_BODY, /* pound comment for a test load */ COMMENT_RECOGNIZED, /* comment recognized */ #ifdef NMEA0183_ENABLE NMEA_DOLLAR, /* we've seen first character of NMEA leader */ NMEA_BANG, /* we've seen first character of an AIS message '!' */ NMEA_PUB_LEAD, /* seen second character of NMEA G leader */ NMEA_VENDOR_LEAD, /* seen second character of NMEA P leader */ NMEA_LEADER_END, /* seen end char of NMEA leader, in body */ NMEA_PASHR_A, /* grind through recognizing $PASHR */ NMEA_PASHR_S, /* grind through recognizing $PASHR */ NMEA_PASHR_H, /* grind through recognizing $PASHR */ NMEA_BINARY_BODY, /* Ashtech-style binary packet body, skip until \r\n */ NMEA_BINARY_CR, /* \r on end of Ashtech-style binary packet */ NMEA_BINARY_NL, /* \n on end of Ashtech-style binary packet */ NMEA_CR, /* seen terminating \r of NMEA packet */ NMEA_RECOGNIZED, /* saw trailing \n of NMEA packet */ SIRF_ACK_LEAD_1, /* seen A of possible SiRF Ack */ SIRF_ACK_LEAD_2, /* seen c of possible SiRF Ack */ AIS_LEAD_1, /* seen initial A of possible AIS message */ AIS_LEAD_2, /* seen second I/B/N/X of possible AIS message */ AIS_LEAD_ALT1, /* seen initial B of possible AIS message */ AIS_LEAD_ALT2, /* seen second S of possible AIS message */ AIS_LEAD_ALT3, /* seen initial S of possible AIS message */ AIS_LEAD_ALT4, /* seen second A of possible AIS message */ SEATALK_LEAD_1, /* SeaTalk/Garmin packet leader 'I' */ WEATHER_LEAD_1, /* Weather instrument packet leader 'W' */ HEADCOMP_LEAD_1, /* Heading/compass packet leader 'H' */ TURN_LEAD_1, /* Turn indicator packet leader 'T' */ ECDIS_LEAD_1, /* ECDIS packet leader 'E' */ SOUNDER_LEAD_1, /* Depth sounder packet leader 'S' */ TRANSDUCER_LEAD_1, /* Generic transducer packet leader 'Y' */ BEIDOU_LEAD_1, /* Beidou leader */ QZSS_LEAD_1, /* Quasi-Zenith Satellite System leader */ #endif /* NMEA0183_ENABLE */ DLE_LEADER, /* we've seen the TSIP/EverMore leader (DLE) */ #ifdef TRIPMATE_ENABLE ASTRAL_1, /* ASTRAL leader A */ ASTRAL_2, /* ASTRAL leader S */ ASTRAL_3, /* ASTRAL leader T */ ASTRAL_4, /* ASTRAL leader R */ ASTRAL_5, /* ASTRAL leader A */ #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE EARTHA_1, /* EARTHA leader E */ EARTHA_2, /* EARTHA leader A */ EARTHA_3, /* EARTHA leader R */ EARTHA_4, /* EARTHA leader T */ EARTHA_5, /* EARTHA leader H */ #endif /* EARTHMATE_ENABLE */ #if defined(SIRF_ENABLE) || defined(SKYTRAQ_ENABLE) SIRF_LEADER_1, /* seen first character of SiRF/Skytraq leader <0x0A> */ #endif /* SIRF_ENABLE || SKYTRAQ_ENABLE */ #ifdef SIRF_ENABLE SIRF_LEADER_2, /* seen second character of SiRF leader */ SIRF_LENGTH_1, /* seen first byte of SiRF length */ SIRF_PAYLOAD, /* we're in a SiRF payload part */ SIRF_DELIVERED, /* saw last byte of SiRF payload/checksum */ SIRF_TRAILER_1, /* saw first byte of SiRF trailer */ SIRF_RECOGNIZED, /* saw second byte of SiRF trailer */ #endif /* SIRF_ENABLE */ #ifdef SKYTRAQ_ENABLE /* <0xA0,0xA1><0x0D,0x0A> */ /* Len is two bytes, is the length of Message ID and Message Body */ /* Skytraq leader 1 same as SIRF_LEADER_1 */ SKY_LEADER_2, /* saw leader 2 <0xA1> */ SKY_LENGTH_1, /* saw first byte of packet length */ SKY_LENGTH_2, /* saw second byte of packet length */ SKY_PAYLOAD, /* we're in a Skytraq payload */ SKY_DELIVERED, /* saw last byte of Skytraq payload */ SKY_CSUM, /* saw Skytraq checksum */ SKY_TRAILER_1, /* saw first byte of Skytraq trailer <0x0D> */ SKY_RECOGNIZED, /* found end of the Skytraq packet */ #endif /* SKYTRAQ_ENABLE */ #ifdef ZODIAC_ENABLE ZODIAC_EXPECTED, /* expecting Zodiac packet */ ZODIAC_LEADER_1, /* saw leading 0xff */ ZODIAC_LEADER_2, /* saw leading 0x81 */ ZODIAC_ID_1, /* saw first byte of ID */ ZODIAC_ID_2, /* saw second byte of ID */ ZODIAC_LENGTH_1, /* saw first byte of Zodiac packet length */ ZODIAC_LENGTH_2, /* saw second byte of Zodiac packet length */ ZODIAC_FLAGS_1, /* saw first byte of FLAGS */ ZODIAC_FLAGS_2, /* saw second byte of FLAGS */ ZODIAC_HSUM_1, /* saw first byte of Header sum */ ZODIAC_PAYLOAD, /* we're in a Zodiac payload */ ZODIAC_RECOGNIZED, /* found end of the Zodiac packet */ #endif /* ZODIAC_ENABLE */ #if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) AT1_LEADER, /* saw True North status leader '@' */ /* Garmin Simple Text starts with @ leader */ /* Oncore starts with @ leader */ GTXT_RECOGNIZED, /* */ #endif #ifdef EVERMORE_ENABLE EVERMORE_LEADER_1, /* a DLE after having seen EverMore data */ EVERMORE_LEADER_2, /* seen opening STX of EverMore packet */ EVERMORE_PAYLOAD, /* in payload part of EverMore packet */ EVERMORE_PAYLOAD_DLE,/* DLE in payload part of EverMore packet */ EVERMORE_RECOGNIZED, /* found end of EverMore packet */ #endif /* EVERMORE_ENABLE */ #ifdef ITRAX_ENABLE ITALK_LEADER_1, /* saw leading < of iTalk packet */ ITALK_LEADER_2, /* saw leading ! of iTalk packet */ ITALK_LENGTH, /* saw packet length */ ITALK_PAYLOAD, /* in payload part of iTalk Packet */ ITALK_DELIVERED, /* seen end of payload */ ITALK_TRAILER, /* saw iTalk trailer byte */ ITALK_RECOGNIZED, /* found end of the iTalk packet */ #endif /* ITRAX_ENABLE */ #ifdef NAVCOM_ENABLE NAVCOM_EXPECTED, /* expecting Navcom NCT packet */ NAVCOM_LEADER_1, /* saw leading 0x02 */ NAVCOM_LEADER_2, /* saw leading 0x99 */ NAVCOM_LEADER_3, /* saw leading 0x66 */ NAVCOM_ID, /* saw message ID */ NAVCOM_LENGTH_1, /* saw first byte of Navcom packet length */ NAVCOM_LENGTH_2, /* saw second byte of Navcom packet length */ NAVCOM_PAYLOAD, /* we're in a Navcom payload */ NAVCOM_CSUM, /* saw checksum */ NAVCOM_RECOGNIZED, /* found end of the Navcom packet */ #endif /* NAVCOM_ENABLE */ #ifdef UBLOX_ENABLE UBX_LEADER_1, /* first constant leader byte found */ UBX_LEADER_2, /* second constant leader byte found */ UBX_CLASS_ID, /* classid read */ UBX_MESSAGE_ID, /* message id read */ UBX_LENGTH_1, /* first length byte read (le) */ UBX_LENGTH_2, /* second length byte read (le) */ UBX_PAYLOAD, /* payload eating */ UBX_CHECKSUM_A, /* checksum A byte (tcp checksum) */ UBX_RECOGNIZED, /* this is also UBX_CHECKSUM_B */ #endif #ifdef SUPERSTAR2_ENABLE SUPERSTAR2_LEADER, /* leading SOH */ SUPERSTAR2_ID1, /* message type */ SUPERSTAR2_ID2, /* message type xor 0xff */ SUPERSTAR2_PAYLOAD, /* length of the actual packet data */ SUPERSTAR2_CKSUM1, SUPERSTAR2_CKSUM2, SUPERSTAR2_RECOGNIZED, #endif #ifdef ONCORE_ENABLE ONCORE_AT2, /* second @ */ ONCORE_ID1, /* first character of command type */ ONCORE_PAYLOAD, /* payload eating */ ONCORE_CHECKSUM, /* checksum byte */ ONCORE_CR, /* closing CR */ ONCORE_RECOGNIZED, /* closing LF */ #endif #ifdef GEOSTAR_ENABLE GEOSTAR_LEADER_1, /* first constant leader byte found */ GEOSTAR_LEADER_2, /* second constant leader byte found */ GEOSTAR_LEADER_3, /* third constant leader byte found */ GEOSTAR_LEADER_4, /* forth constant leader byte found */ GEOSTAR_MESSAGE_ID_1, /* first message id read */ GEOSTAR_MESSAGE_ID_2, /* second message id read */ GEOSTAR_LENGTH_1, /* first length byte read */ GEOSTAR_LENGTH_2, /* second length byte read */ GEOSTAR_PAYLOAD, /* payload eating */ GEOSTAR_CHECKSUM_A, /* checksum A byte (xor checksum) */ GEOSTAR_CHECKSUM_B, /* checksum B byte (xor checksum) */ GEOSTAR_CHECKSUM_C, /* checksum C byte (xor checksum) */ GEOSTAR_RECOGNIZED, /* this is also GEOSTAR_CHECKSUM_D */ #endif #ifdef GREIS_ENABLE GREIS_EXPECTED, /* expecting GREIS packet */ GREIS_REPLY_1, /* saw first byte of a reply */ GREIS_REPLY_2, /* saw second byte of a reply */ GREIS_ID_1, /* saw first byte of ID */ GREIS_ID_2, /* saw second byte of ID */ GREIS_LENGTH_1, /* saw first length byte */ GREIS_LENGTH_2, /* saw second length byte */ GREIS_PAYLOAD, /* we're in a GREIS payload */ GREIS_RECOGNIZED, /* found end of the GREIS packet */ #endif /* * Packet formats without checksums start here. We list them last so * that if a format with a conflicting structure *and* a checksum can * be recognized, that will be preferred. */ #if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE) TSIP_LEADER, /* a DLE after having seen TSIP data */ TSIP_PAYLOAD, /* we're in TSIP payload */ TSIP_DLE, /* we've seen a DLE in TSIP payload */ TSIP_RECOGNIZED, /* found end of the TSIP packet */ GARMIN_RECOGNIZED, /* found end of Garmin packet */ #endif /* TSIP_ENABLE GARMIN_ENABLE */ #ifdef RTCM104V2_ENABLE RTCM2_SYNC_STATE, /* we have sync lock */ RTCM2_SKIP_STATE, /* we have sync lock, but this character is bad */ RTCM2_RECOGNIZED, /* we have an RTCM packet */ #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE RTCM3_LEADER_1, /* constant leader byte found */ RTCM3_LEADER_2, /* second leader byte found (high 6 bits zero) */ RTCM3_PAYLOAD, /* gathering payload */ RTCM3_RECOGNIZED, /* RTCM3 packet recognized */ #endif #ifdef PASSTHROUGH_ENABLE JSON_LEADER, /* JSON leading { found */ JSON_STRINGLITERAL, /* start of JSON string literal seen */ JSON_STRING_SOLIDUS, /* backslash in string */ JSON_END_ATTRIBUTE, /* end of JSON attribute */ JSON_EXPECT_VALUE, /* just after colon */ JSON_END_VALUE, /* end of JSON value */ JSON_NUMBER, /* inside a JSON numeric literal */ JSON_SPECIAL, /* inside a JSON special literal (true,false,null) */ JSON_RECOGNIZED, /* JSON packet recognized */ #endif #ifdef STASH_ENABLE STASH_RECOGNIZED, /* stashable prefix recognized */ #endif /* end of packet_states.h */