Skip to content

Conversation

@julienzarka
Copy link

Description

This PR adds support for u-blox proprietary enhanced NMEA sentence types RMCE and GGAE. These are vendor-specific extensions of the standard RMC and GGA frames that provide higher precision coordinates.

Changes

  • Parser Updates: Modified parse_sentence_type() to support 4-character sentence types (vendor-specific extensions)
  • Sentence Types: Added RMCE and GGAE variants to SentenceType enum
  • Parsers: Implemented parse_rmce() and parse_ggae() functions that reuse existing RMC/GGA parsing logic (DRY principle)
  • Integration: Added enhanced frames to ParseResult enum and parser match statements
  • Features: Added RMCE and GGAE features to Cargo.toml under vendor-specific category
  • Documentation: Updated README.md with enhanced frame support

Implementation Details

  • Enhanced frames use 4-character sentence types (RMCE, GGAE) instead of standard 3-character types
  • The parser attempts 4-character types first, then falls back to 3-character types for backward compatibility
  • Parsers reuse existing RMC/GGA parsing logic, maintaining code consistency and following DRY principles
  • Follows existing patterns similar to other vendor extensions (e.g., RMZ)

Testing

  • Added unit tests for both enhanced frame types
  • All existing tests pass (91 tests total)
  • Tests verify correct parsing of enhanced frames with higher precision coordinates

Breaking Changes

None. This is a backward-compatible addition that extends the crate's capabilities without affecting existing functionality.

Related

Addresses the need for u-blox M10 receiver enhanced frame support in GNSS applications.

Julien Zarka added 3 commits November 25, 2025 11:09
- Add RMCE and GGAE variants to SentenceType enum
- Update parse_sentence_type to support 4-character sentence types
- Add enhanced frame parsing cases to ParseResult enum
- Integrate enhanced frames into parser match statements
- Add parse_rmce() function reusing RMC parsing logic
- Add parse_ggae() function reusing GGA parsing logic
- Export enhanced parsers in sentences module
- Add unit tests for enhanced frame parsing
- Add RMCE and GGAE features to Cargo.toml under vendor-specific
- Update README.md with enhanced frame support
- Document u-blox proprietary extensions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant