forked from mawei/dp
1
0
Fork 0
dp/common/dp_helpers.py

60 lines
1.8 KiB
Python

#!/usr/bin/env python3.7
# import subprocess
# from cereal import car
from common.params import Params
from common.realtime import sec_since_boot
import os
params = Params()
LAST_MODIFIED = params.get_param_path() + "/dp_last_modified"
# delay of reading last modified
# LAST_MODIFIED_TIMER_THERMALD = 10.
LAST_MODIFIED_TIMER_SYSTEMD = 1.
# LAST_MODIFIED_TIMER_LANE_PLANNER = 3.
# LAST_MODIFIED_TIMER_UPLOADER = 10.
# def is_online():
# try:
# return not subprocess.call(["ping", "-W", "4", "-c", "1", "117.28.245.92"])
# except ProcessLookupError:
# return False
#
# def common_controller_ctrl(enabled, dragonconf, blinker_on, steer_req, v_ego):
# if enabled:
# if dragonconf.dpLateralMode == 0 and blinker_on:
# steer_req = 0 if isinstance(steer_req, int) else False
# return steer_req
#
def get_last_modified(delay, old_check, old_modified):
new_check = sec_since_boot()
if os.path.isfile(LAST_MODIFIED) and (old_check is None or new_check - old_check >= delay):
return new_check, os.stat(LAST_MODIFIED).st_mtime
else:
return old_check, old_modified
# def param_get_if_updated(param, type, old_val, old_modified):
# try:
# modified = os.stat(PARAM_PATH + param).st_mtime
# except OSError:
# return old_val, old_modified
# if old_modified != modified:
# new_val = param_get(param, type, old_val)
# new_modified = modified
# else:
# new_val = old_val
# new_modified = old_modified
# return new_val, new_modified
# def param_get(param_name, type, default):
# try:
# val = params.get(param_name, encoding='utf8').rstrip('\x00')
# if type == 'bool':
# val = val == '1'
# elif type == 'int':
# val = int(val)
# elif type == 'float':
# val = float(val)
# except (TypeError, ValueError):
# val = default
# return val