Files
dragonpilot/selfdrive/boardd/set_time.py
Adeeb Shihadeh d551a4c18e set_time: use python library (#27827)
* set_time: use python library

* unused import

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-04-06 21:28:06 -07:00

40 lines
1014 B
Python
Executable File

#!/usr/bin/env python3
import os
import datetime
from panda import Panda
MIN_DATE = datetime.datetime(year=2023, month=4, day=1)
def set_time(logger):
sys_time = datetime.datetime.today()
if sys_time > MIN_DATE:
logger.info("System time valid")
return
try:
ps = Panda.list()
if len(ps) == 0:
logger.error("Failed to set time, no pandas found")
return
for s in ps:
with Panda(serial=s) as p:
if not p.is_internal():
continue
# Set system time from panda RTC time
panda_time = p.get_datetime()
logger.info(f"adjusting time from '{sys_time}' to '{panda_time}'")
if panda_time > MIN_DATE:
logger.info(f"adjusting time from '{sys_time}' to '{panda_time}'")
os.system(f"TZ=UTC date -s '{panda_time}'")
break
except Exception:
logger.exception("Failed to fetch time from panda")
if __name__ == "__main__":
import logging
logging.basicConfig(level=logging.DEBUG)
set_time(logging)