Skip to content

Conversation

@LeeLeahy2
Copy link
Contributor

This change is made up of several commits:

  • Add a generic high speed parser to support.ino
  • Use the generic parser for NtripServer (GNSS --> NTRIP Caster)
  • Use the generic parser for NtripClient (NTRIP Caster --> GNSS)
  • Use the generic parser for Bluetooth and log (GNSS UART1 --> ringBuffer --> Bluetooth, log file)

This commit requires (is layered on top of):
#250 - Enable printing of WiFi IP address by default
#251 - Validate the RTCM length field
#252 - Add printTimeStamp to support.ino
#254 - Add debug menu items to print messages
#255 - Enable/disable printing of battery status messages, requires #254
#256 - Enable/disable printing of the Rover Accuracy messages, requires #254
#259 - Enable/disable printing of states and duplicate states, requires #254
#260 - Enable/disable printing of log file status messages, requires #254

Add debug menu items to print:
* Battery messages
* Rover Accuracy messages
* Messages with bad checksums or CRCs
* Log file messages
* Ring buffer offsets
* NTRIP server messages (already in debug menu)
* NTRIP client messages
* States of the main state machine
* Duplicate states of the main state machine
Breakup the RTCM parser in NtripServer.ino into a bunch of functions
using the function address as the state value.  This eliminates decision
overhead (switch) within the RTCM parser for each character.

Use a callback routine to handle the end of message processing
Replace SFE_UBLOX_GNSS::processRTCM in Base.ino with
SFE_UBLOX_GNSS::processRTCMframe in NtripServer.ino.  This removes one
level of routine that is called with a single character.

Remove the intermediate routine ntripServerProcessRTCM, move the end
conditions into the parser routine ntripServerRtcmReadCrc.

Don't write the WiFi data a byte at a time, instead attempt to write the
entire message at once.  Also handle the flow control return value from
the WiFi routine.
nseidle added a commit that referenced this pull request Dec 22, 2022
This is the integration of PR #261.
@nseidle
Copy link
Member

nseidle commented Dec 22, 2022

This has been integrated into the release candidate.

@nseidle nseidle closed this Dec 22, 2022
@LeeLeahy2 LeeLeahy2 deleted the process-rtcm branch October 19, 2023 17:09
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.

2 participants