@@ -306,13 +306,18 @@ void menuPortsMultiplexed()
306
306
restartBase = true ;
307
307
}
308
308
#endif // COMPILE_MOSAICX5
309
+
310
+ gnss->beginExternalEvent (); // Update with new settings
311
+ gnss->beginPPS ();
309
312
}
310
313
311
- // Configure the behavior of the PPS and INT pins on the ZED-F9P
312
- // Most often used for logging events (inputs) and when external triggers (outputs) occur
314
+ // Configure the behavior of the PPS and INT pins.
315
+ // Most often used for logging events (inputs) and when external triggers (outputs) occur.
316
+ // menuPortHardwareTriggers is only called by menuPortsMultiplexed.
317
+ // Call gnss->beginExternalEvent() and gnss->beginPPS() in menuPortsMultiplexed, not here
318
+ // since menuPortsMultiplexed has control of the multiplexer
313
319
void menuPortHardwareTriggers ()
314
320
{
315
- bool updateSettings = false ;
316
321
while (1 )
317
322
{
318
323
systemPrintln ();
@@ -364,7 +369,6 @@ void menuPortHardwareTriggers()
364
369
if (incoming == 1 )
365
370
{
366
371
settings.enableExternalPulse ^= 1 ;
367
- updateSettings = true ;
368
372
}
369
373
else if (incoming == 2 && settings.enableExternalPulse == true )
370
374
{
@@ -382,7 +386,6 @@ void menuPortHardwareTriggers()
382
386
if (interval >= 1 && interval <= MAX_MOSAIC_PPS_INTERVALS)
383
387
{
384
388
settings.externalPulseTimeBetweenPulse_us = mosaicPPSIntervals[interval - 1 ].interval_us ;
385
- updateSettings = true ;
386
389
}
387
390
}
388
391
else
@@ -402,8 +405,6 @@ void menuPortHardwareTriggers()
402
405
(settings.externalPulseLength_us / 1000 )) // pulseTime must be longer than pulseLength
403
406
settings.externalPulseLength_us = settings.externalPulseTimeBetweenPulse_us /
404
407
2 ; // Force pulse length to be 1/2 time between pulses
405
-
406
- updateSettings = true ;
407
408
}
408
409
}
409
410
}
@@ -421,7 +422,6 @@ void menuPortHardwareTriggers()
421
422
else
422
423
{
423
424
settings.externalPulseLength_us = pulseLength * 1000 ;
424
- updateSettings = true ;
425
425
}
426
426
}
427
427
}
@@ -431,17 +431,14 @@ void menuPortHardwareTriggers()
431
431
settings.externalPulsePolarity = PULSE_FALLING_EDGE;
432
432
else
433
433
settings.externalPulsePolarity = PULSE_RISING_EDGE;
434
- updateSettings = true ;
435
434
}
436
435
else if (incoming == 5 )
437
436
{
438
437
settings.enableExternalHardwareEventLogging ^= 1 ;
439
- updateSettings = true ;
440
438
}
441
439
else if ((incoming == 6 ) && (settings.enableExternalHardwareEventLogging == true ) && present.gnss_mosaicX5 )
442
440
{
443
441
settings.externalEventPolarity ^= 1 ;
444
- updateSettings = true ;
445
442
}
446
443
else if (incoming == ' x' )
447
444
break ;
@@ -454,10 +451,4 @@ void menuPortHardwareTriggers()
454
451
}
455
452
456
453
clearBuffer (); // Empty buffer of any newline chars
457
-
458
- if (updateSettings)
459
- {
460
- gnss->beginExternalEvent (); // Update with new settings
461
- gnss->beginPPS ();
462
- }
463
454
}
0 commit comments