@@ -137,7 +137,12 @@ void menuMessages()
137137 setMessageRateByName (" UBX_NMEA_GGA" , 1 );
138138 setMessageRateByName (" UBX_NMEA_GSA" , 1 );
139139 setMessageRateByName (" UBX_NMEA_GST" , 1 );
140- setMessageRateByName (" UBX_NMEA_GSV" , 4 ); // One update per 4 fixes to avoid swamping SPP connection
140+
141+ // We want GSV NMEA to be reported at 1Hz to avoid swamping SPP connection
142+ float measurementFrequency = (1000.0 / settings.measurementRate ) / settings.navigationRate ;
143+ if (measurementFrequency < 1.0 ) measurementFrequency = 1.0 ;
144+ setMessageRateByName (" UBX_NMEA_GSV" , measurementFrequency); // One report per second
145+
141146 setMessageRateByName (" UBX_NMEA_RMC" , 1 );
142147 Serial.println (" Reset to Surveying Defaults (NMEAx5)" );
143148 }
@@ -147,7 +152,12 @@ void menuMessages()
147152 setMessageRateByName (" UBX_NMEA_GGA" , 1 );
148153 setMessageRateByName (" UBX_NMEA_GSA" , 1 );
149154 setMessageRateByName (" UBX_NMEA_GST" , 1 );
150- setMessageRateByName (" UBX_NMEA_GSV" , 4 ); // One update per 4 fixes to avoid swamping SPP connection
155+
156+ // We want GSV NMEA to be reported at 1Hz to avoid swamping SPP connection
157+ float measurementFrequency = (1000.0 / settings.measurementRate ) / settings.navigationRate ;
158+ if (measurementFrequency < 1.0 ) measurementFrequency = 1.0 ;
159+ setMessageRateByName (" UBX_NMEA_GSV" , measurementFrequency); // One report per second
160+
151161 setMessageRateByName (" UBX_NMEA_RMC" , 1 );
152162
153163 setMessageRateByName (" UBX_RXM_RAWX" , 1 );
0 commit comments