Timepulse
The u-blox module outputs a configurable pulse signal on GPIO 5 — typically used as PPS (Pulse Per Second) for time synchronization.
hat->enableTimepulse();
while (true)
{
hat->timepulse();
auto nav = hat->navigation();
printf("PPS! %s\n",
Utils::utcTimeFromGnss_ISO8601(nav.pvt).c_str());
}
hat->disableTimepulse();
hat.enable_timepulse()
while True:
hat.timepulse() # blocks until next PPS, releases GIL
nav = hat.get_navigation()
print(f"PPS! {gnsshat.utc_time_iso8601(nav)}")
hat.disable_timepulse()
NoteKernel PPS Conflict — If you use the kernel PPS driver for chrony/gpsd (viadtoverlay=pps-gpio,gpiopin=5), do not callenableTimepulse()from the library. Both claim GPIO 5 and cannot coexist.
NoteGPSD Conflict — Do not useenableTimepulse()when gpsd/pps is managing the same GPIO pin.
See Timepulse Configuration for full details.