Time Mark
Precise event timestamping via UBX-TIM-TM2. The receiver detects rising and falling edges on the EXTINT pin (GPIO 17) and timestamps them with nanosecond accuracy.
NoteHAT Compatibility — Time mark is available only on the L1/L5 TIME HAT (NEO-F10T).
| Method | Behavior |
|---|---|
waitAndGetFreshTimeMark() |
Blocks until a new event arrives |
timeMark() |
Returns last event or nullopt/None (non-blocking) |
auto tm = hat->waitAndGetFreshTimeMark();
printf("rising TOW: %u ms + %u ns, accuracy: %u ns\n",
tm.towRising_ms, tm.towSubRising_ns, tm.accuracyEstimate_ns);
tm = hat.wait_and_get_fresh_time_mark()
print(f"rising TOW: {tm.tow_rising_ms} ms + {tm.tow_sub_rising_ns} ns")
hat->enableTimeMarkTrigger(); // configure GPIO 17 as output
hat->triggerTimeMark(); // toggle EXTINT → receiver timestamps the edge
auto tm = hat->waitAndGetFreshTimeMark();
| Value | C++ | Python | Description |
|---|---|---|---|
| Toggle | ETimeMarkTriggerEdge::Toggle |
TimeMarkTriggerEdge.TOGGLE |
Toggle pin state (default) |
| Rising | ETimeMarkTriggerEdge::Rising |
TimeMarkTriggerEdge.RISING |
Force pin HIGH |
| Falling | ETimeMarkTriggerEdge::Falling |
TimeMarkTriggerEdge.FALLING |
Force pin LOW |
See Navigation Data — TimeMark for the complete field reference.