Add CLEAR_ON_IGNITION_OFF param type (#21121)

old-commit-hash: 36beaf0d68
commatwo_master
ShaneSmiskol 4 years ago committed by GitHub
parent a830c71a03
commit ddff72ccea
  1. 3
      common/params_pxd.pxd
  2. 3
      common/params_pyx.pyx
  3. 4
      selfdrive/boardd/boardd.cc
  4. 6
      selfdrive/common/params.cc
  5. 5
      selfdrive/common/params.h

@ -12,7 +12,8 @@ cdef extern from "selfdrive/common/params.h":
PERSISTENT PERSISTENT
CLEAR_ON_MANAGER_START CLEAR_ON_MANAGER_START
CLEAR_ON_PANDA_DISCONNECT CLEAR_ON_PANDA_DISCONNECT
CLEAR_ON_IGNITION CLEAR_ON_IGNITION_ON
CLEAR_ON_IGNITION_OFF
ALL ALL
cdef cppclass Params: cdef cppclass Params:

@ -13,7 +13,8 @@ cdef class ParamKeyType:
PERSISTENT = c_ParamKeyType.PERSISTENT PERSISTENT = c_ParamKeyType.PERSISTENT
CLEAR_ON_MANAGER_START = c_ParamKeyType.CLEAR_ON_MANAGER_START CLEAR_ON_MANAGER_START = c_ParamKeyType.CLEAR_ON_MANAGER_START
CLEAR_ON_PANDA_DISCONNECT = c_ParamKeyType.CLEAR_ON_PANDA_DISCONNECT CLEAR_ON_PANDA_DISCONNECT = c_ParamKeyType.CLEAR_ON_PANDA_DISCONNECT
CLEAR_ON_IGNITION = c_ParamKeyType.CLEAR_ON_IGNITION CLEAR_ON_IGNITION_ON = c_ParamKeyType.CLEAR_ON_IGNITION_ON
CLEAR_ON_IGNITION_OFF = c_ParamKeyType.CLEAR_ON_IGNITION_OFF
ALL = c_ParamKeyType.ALL ALL = c_ParamKeyType.ALL
def ensure_bytes(v): def ensure_bytes(v):

@ -304,7 +304,7 @@ void panda_state_thread(bool spoofing_started) {
// clear VIN, CarParams, and set new safety on car start // clear VIN, CarParams, and set new safety on car start
if (ignition && !ignition_last) { if (ignition && !ignition_last) {
params.clearAll(CLEAR_ON_IGNITION); params.clearAll(CLEAR_ON_IGNITION_ON);
if (!safety_setter_thread_running) { if (!safety_setter_thread_running) {
safety_setter_thread_running = true; safety_setter_thread_running = true;
@ -312,6 +312,8 @@ void panda_state_thread(bool spoofing_started) {
} else { } else {
LOGW("Safety setter thread already running"); LOGW("Safety setter thread already running");
} }
} else if (!ignition && ignition_last) {
params.clearAll(CLEAR_ON_IGNITION_OFF);
} }
// Write to rtc once per minute when no ignition present // Write to rtc once per minute when no ignition present

@ -148,11 +148,11 @@ std::unordered_map<std::string, uint32_t> keys = {
{"AthenadPid", PERSISTENT}, {"AthenadPid", PERSISTENT},
{"CalibrationParams", PERSISTENT}, {"CalibrationParams", PERSISTENT},
{"CarBatteryCapacity", PERSISTENT}, {"CarBatteryCapacity", PERSISTENT},
{"CarParams", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION}, {"CarParams", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION_ON},
{"CarParamsCache", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT}, {"CarParamsCache", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT},
{"CarVin", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION}, {"CarVin", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION_ON},
{"CommunityFeaturesToggle", PERSISTENT}, {"CommunityFeaturesToggle", PERSISTENT},
{"ControlsReady", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION}, {"ControlsReady", CLEAR_ON_MANAGER_START | CLEAR_ON_PANDA_DISCONNECT | CLEAR_ON_IGNITION_ON},
{"EnableLteOnroad", PERSISTENT}, {"EnableLteOnroad", PERSISTENT},
{"EndToEndToggle", PERSISTENT}, {"EndToEndToggle", PERSISTENT},
{"CompletedTrainingVersion", PERSISTENT}, {"CompletedTrainingVersion", PERSISTENT},

@ -12,8 +12,9 @@ enum ParamKeyType {
PERSISTENT = 0x02, PERSISTENT = 0x02,
CLEAR_ON_MANAGER_START = 0x04, CLEAR_ON_MANAGER_START = 0x04,
CLEAR_ON_PANDA_DISCONNECT = 0x08, CLEAR_ON_PANDA_DISCONNECT = 0x08,
CLEAR_ON_IGNITION = 0x10, CLEAR_ON_IGNITION_ON = 0x10,
ALL = 0x02 | 0x04 | 0x08 | 0x10 CLEAR_ON_IGNITION_OFF = 0x20,
ALL = 0x02 | 0x04 | 0x08 | 0x10 | 0x20
}; };
class Params { class Params {

Loading…
Cancel
Save