AVL Time State
sequenceDiagram
participant "Device Time" as SystemTime
participant "Last saved Time" as LastValidPosition
participant "RTC time if RTC available" as RTC
participant "GNSS aka GPS time" as GNSS
participant "User time" as UserTime
autonumber
SystemTime <- LastValidPosition : load last valid time and timestamp not older then build date
SystemTime <- RTC : load RTC time if time valid flag and timestamp not older then build date
... any time ...
SystemTime <- GNSS : load GNSS time if time and date valid and timestamp not older then build date
RTC <- GNSS : set RTC time if time and date valid and timestamp not older then build date
... any time ...
SystemTime <- UserTime : set Time via $PFAL,Sys.SetTime,dd.mm.yy,hh:mm:ss
RTC <- UserTime : set Time via $PFAL,Sys.SetTime,dd.mm.yy,hh:mm:ss
... any time ...
SystemTime -> LastValidPosition : save last Valid pos and time $PFAL,GPS.Nav.SaveLastValid