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
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
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
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
SystemTime -> LastValidPosition : save last Valid pos and time $PFAL,GPS.Nav.SaveLastValid
TEST
sequenceDiagram
participant John
participant Alice
Alice->>John: Hello John, how are you?
John-->>Alice: Great!