D2Sphere and Device Time Managment
AVL Time State
sequenceDiagram
participant SystemTime
participant LastValidPosition
participant RTC
participant GNSS
participant UserTime
LastValidPosition ->> SystemTime: load last valid time and timestamp not older then build date
RTC ->> SystemTime: load RTC time if time valid flag and timestamp not older then build date
GNSS ->> SystemTime: load GNSS time if time and date valid and timestamp not older then build date
GNSS ->> RTC: set RTC time if time and date valid and timestamp not older then build date
UserTime ->> SystemTime: set Time via $PFAL,Sys.SetTime,dd.mm.yy,hh:mm:ss
UserTime ->> RTC: set Time via $PFAL,Sys.SetTime,dd.mm.yy,hh:mm:ss
SystemTime ->> LastValidPosition: save last Valid pos and time $PFAL,GPS.Nav.SaveLastValid
D2Sphere Response to 'non' correct time in Login Field
AVL Time State
$PFAL:ID1,Sys.SetTime,06.07.2020,09:40:19;GPS.Nav.SaveLastValid
- GPS.Nav.SaveLastValid is only sent to store on AVL the given time as default startup time
- Sys.SetTime,06.07.2020,09:40:19 need to be parsed and used as time in UTC for any further data sent to D2Sphere