Ejemplo n.º 1
0
def main():
  params = Params()
  dongle_id = params.get("DongleId", encoding='utf-8')
  crash.init()
  crash.bind_user(id=dongle_id)
  crash.bind_extra(dirty=dirty, origin=origin, branch=branch, commit=commit,
                   device=HARDWARE.get_device_type())

  ws_uri = ATHENA_HOST + "/ws/v2/" + dongle_id

  api = Api(dongle_id)

  conn_retries = 0
  while 1:
    try:
      ws = create_connection(ws_uri,
                             cookie="jwt=" + api.get_token(),
                             enable_multithread=True)
      cloudlog.event("athenad.main.connected_ws", ws_uri=ws_uri)
      ws.settimeout(1)
      conn_retries = 0
      handle_long_poll(ws)
    except (KeyboardInterrupt, SystemExit):
      break
    except (ConnectionError, TimeoutError, WebSocketException):
      conn_retries += 1
      params.delete("LastAthenaPingTime")
    except Exception:
      crash.capture_exception()
      cloudlog.exception("athenad.main.exception")

      conn_retries += 1
      params.delete("LastAthenaPingTime")

    time.sleep(backoff(conn_retries))
Ejemplo n.º 2
0
def main():
    prepare_only = os.getenv("PREPAREONLY") is not None

    manager_init()

    # Start UI early so prepare can happen in the background
    if not prepare_only:
        managed_processes['ui'].start()

    manager_prepare()

    if prepare_only:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        manager_cleanup()

    if Params().get_bool("DoUninstall"):
        cloudlog.warning("uninstalling")
        HARDWARE.uninstall()
Ejemplo n.º 3
0
def main():
  params = Params()
  params.manager_start()

  default_params = [
    ("CommunityFeaturesToggle", "0"),
    ("CompletedTrainingVersion", "0"),
    ("IsRHD", "0"),
    ("IsMetric", "0"),
    ("RecordFront", "0"),
    ("HasAcceptedTerms", "0"),
    ("HasCompletedSetup", "0"),
    ("IsUploadRawEnabled", "1"),
    ("IsLdwEnabled", "1"),
    ("LastUpdateTime", datetime.datetime.utcnow().isoformat().encode('utf8')),
    ("OpenpilotEnabledToggle", "1"),
    ("VisionRadarToggle", "0"),
    ("LaneChangeEnabled", "1"),
    ("LongControlEnabled", "0"),
    ("MadModeEnabled", "0"),
    ("AutoLaneChangeEnabled", "0"),
    ("IsDriverViewEnabled", "0"),
  ]

  # set unset params
  for k, v in default_params:
    if params.get(k) is None:
      params.put(k, v)

  # is this dashcam?
  if os.getenv("PASSIVE") is not None:
    params.put("Passive", str(int(os.getenv("PASSIVE"))))

  if params.get("Passive") is None:
    raise Exception("Passive must be set to continue")

  if EON:
    update_apks()
  manager_init()
  manager_prepare()
  spinner.close()

  if os.getenv("PREPAREONLY") is not None:
    return

  # SystemExit on sigterm
  signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

  try:
    manager_thread()
  except Exception:
    traceback.print_exc()
    crash.capture_exception()
  finally:
    cleanup_all_processes(None, None)

  if params.get("DoUninstall", encoding='utf8') == "1":
    cloudlog.warning("uninstalling")
    HARDWARE.uninstall()
Ejemplo n.º 4
0
def main():
    # params = Params()
    # params.manager_start()

    # # set unset params
    # if params.get("IsMetric") is None:
    #   params.put("IsMetric", "0")
    # if params.get("RecordFront") is None:
    #   params.put("RecordFront", "0")
    # if params.get("IsFcwEnabled") is None:
    #   params.put("IsFcwEnabled", "1")
    # if params.get("HasAcceptedTerms") is None:
    #   params.put("HasAcceptedTerms", "0")
    # if params.get("IsUploadVideoOverCellularEnabled") is None:
    #   params.put("IsUploadVideoOverCellularEnabled", "1")
    # if params.get("IsDriverMonitoringEnabled") is None:
    #   params.put("IsDriverMonitoringEnabled", "1")
    # if params.get("IsGeofenceEnabled") is None:
    #   params.put("IsGeofenceEnabled", "-1")
    # if params.get("SpeedLimitOffset") is None:
    #   params.put("SpeedLimitOffset", "0")
    # if params.get("LongitudinalControl") is None:
    #   params.put("LongitudinalControl", "0")
    # if params.get("LimitSetSpeed") is None:
    #   params.put("LimitSetSpeed", "0")

    parser = argparse.ArgumentParser()
    parser.add_argument('--ui', type=int, default=1, help='default = 1')
    args = parser.parse_args()
    args.ui = bool(args.ui)

    if not args.ui:
        managed_processes.pop('ui')

    try:
        manager_init(False)
        manager_prepare()
    finally:
        pass

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)
Ejemplo n.º 5
0
def launcher(proc, gctx):
    try:
        # import the process
        mod = importlib.import_module(proc)

        # rename the process
        setproctitle(proc)

        # exec the process
        mod.main(gctx)
    except KeyboardInterrupt:
        cloudlog.warning("child %s got SIGINT" % proc)
    except Exception:
        # can't install the crash handler becuase sys.excepthook doesn't play nice
        # with threads, so catch it here.
        crash.capture_exception()
        raise
Ejemplo n.º 6
0
def main():
  # params = Params()
  # params.manager_start()

  # # set unset params
  # if params.get("IsMetric") is None:
  #   params.put("IsMetric", "0")
  # if params.get("RecordFront") is None:
  #   params.put("RecordFront", "0")
  # if params.get("IsFcwEnabled") is None:
  #   params.put("IsFcwEnabled", "1")
  # if params.get("HasAcceptedTerms") is None:
  #   params.put("HasAcceptedTerms", "0")
  # if params.get("IsUploadVideoOverCellularEnabled") is None:
  #   params.put("IsUploadVideoOverCellularEnabled", "1")
  # if params.get("IsDriverMonitoringEnabled") is None:
  #   params.put("IsDriverMonitoringEnabled", "1")
  # if params.get("IsGeofenceEnabled") is None:
  #   params.put("IsGeofenceEnabled", "-1")
  # if params.get("SpeedLimitOffset") is None:
  #   params.put("SpeedLimitOffset", "0")
  # if params.get("LongitudinalControl") is None:
  #   params.put("LongitudinalControl", "0")
  # if params.get("LimitSetSpeed") is None:
  #   params.put("LimitSetSpeed", "0")

  try:
    manager_init(False)
    manager_prepare()
  finally:
    pass

  # SystemExit on sigterm
  signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

  try:
    manager_thread()
  except Exception:
    traceback.print_exc()
    crash.capture_exception()
  finally:
    cleanup_all_processes(None, None)
Ejemplo n.º 7
0
def launcher(proc):
  try:
    # import the process
    mod = importlib.import_module(proc)

    # rename the process
    setproctitle(proc)

    # create new context since we forked
    messaging.context = messaging.Context()

    # exec the process
    mod.main()
  except KeyboardInterrupt:
    cloudlog.warning("child %s got SIGINT" % proc)
  except Exception:
    # can't install the crash handler because sys.excepthook doesn't play nice
    # with threads, so catch it here.
    crash.capture_exception()
    raise
Ejemplo n.º 8
0
def main(spinner=None):
    manager_init(spinner)
    manager_prepare(spinner)

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread(spinner)
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        manager_cleanup()

    if Params().get("DoUninstall", encoding='utf8') == "1":
        cloudlog.warning("uninstalling")
        HARDWARE.uninstall()
Ejemplo n.º 9
0
def main():
    os.environ['PARAMS_PATH'] = PARAMS

    if ANDROID:
        # the flippening!
        os.system(
            'LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1'
        )

        # disable bluetooth
        os.system('service call bluetooth_manager 8')

    params = Params()
    params.manager_start()

    default_params = [
        ("CommunityFeaturesToggle", "0"),
        ("CompletedTrainingVersion", "0"),
        ("IsRHD", "0"),
        ("IsMetric", "0"),
        ("RecordFront", "0"),
        ("HasAcceptedTerms", "0"),
        ("HasCompletedSetup", "0"),
        ("IsUploadRawEnabled", "1"),
        ("IsLdwEnabled", "1"),
        ("IsGeofenceEnabled", "-1"),
        ("SpeedLimitOffset", "0"),
        ("LongitudinalControl", "0"),
        ("LimitSetSpeed", "0"),
        ("LimitSetSpeedNeural", "0"),
        ("LastUpdateTime",
         datetime.datetime.utcnow().isoformat().encode('utf8')),
        ("OpenpilotEnabledToggle", "1"),
        ("LaneChangeEnabled", "1"),
        ("IsDriverViewEnabled", "0"),
        ("IsOpenpilotViewEnabled", "0"),
        ("OpkrAutoShutdown", "0"),
        ("OpkrAutoScreenOff", "0"),
        ("OpkrUIBrightness", "0"),
        ("OpkrEnableDriverMonitoring", "1"),
        ("OpkrEnableLogger", "0"),
        ("OpkrEnableGetoffAlert", "1"),
        ("OpkrEnableLearner", "0"),
        ("OpkrAutoResume", "1"),
        ("OpkrAccelProfile", "0"),
        ("OpkrAutoLanechangedelay", "0"),
        ("OpkrRunMixplorer", "0"),
        ("OpkrRunQuickedit", "0"),
        ("OpkrRunSoftkey", "0"),
        ("OpkrRunNavigation", "0"),
        ("OpkrBootNavigation", "0"),
        ("PutPrebuiltOn", "0"),
        ("FingerprintIssuedFix", "0"),
        ("LdwsCarFix", "0"),
        ("LateralControlMethod", "0"),
        ("CruiseStatemodeSelInit", "0"),
        ("LateralControlPriority", "0"),
    ]

    # set unset params
    for k, v in default_params:
        if params.get(k) is None:
            params.put(k, v)

    # is this chffrplus?
    if os.getenv("PASSIVE") is not None:
        params.put("Passive", str(int(os.getenv("PASSIVE"))))

    if params.get("Passive") is None:
        raise Exception("Passive must be set to continue")

    if ANDROID:
        update_apks()
    manager_init()
    manager_prepare(spinner)
    spinner.close()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall", encoding='utf8') == "1":
        uninstall()
Ejemplo n.º 10
0
def main():
    # the flippening!
    os.system(
        'LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1'
    )

    if os.getenv("NOLOG") is not None:
        del managed_processes['loggerd']
        del managed_processes['tombstoned']
    if os.getenv("NOUPLOAD") is not None:
        del managed_processes['uploader']
    if os.getenv("NOVISION") is not None:
        del managed_processes['visiond']
    if os.getenv("LEAN") is not None:
        del managed_processes['uploader']
        del managed_processes['loggerd']
        del managed_processes['logmessaged']
        del managed_processes['logcatd']
        del managed_processes['tombstoned']
        del managed_processes['proclogd']
    if os.getenv("NOCONTROL") is not None:
        del managed_processes['controlsd']
        del managed_processes['radard']

    # support additional internal only extensions
    try:
        import selfdrive.manager_extensions
        selfdrive.manager_extensions.register(register_managed_process)
    except ImportError:
        pass

    params = Params()
    params.manager_start()

    # set unset params
    if params.get("IsMetric") is None:
        params.put("IsMetric", "0")
    if params.get("RecordFront") is None:
        params.put("RecordFront", "0")
    if params.get("IsFcwEnabled") is None:
        params.put("IsFcwEnabled", "1")
    if params.get("HasAcceptedTerms") is None:
        params.put("HasAcceptedTerms", "0")
    if params.get("IsUploadVideoOverCellularEnabled") is None:
        params.put("IsUploadVideoOverCellularEnabled", "1")
    if params.get("IsDriverMonitoringEnabled") is None:
        params.put("IsDriverMonitoringEnabled", "1")
    if params.get("IsGeofenceEnabled") is None:
        params.put("IsGeofenceEnabled", "-1")
    if params.get("SpeedLimitOffset") is None:
        params.put("SpeedLimitOffset", "0")
    if params.get("LongitudinalControl") is None:
        params.put("LongitudinalControl", "0")
    if params.get("LimitSetSpeed") is None:
        params.put("LimitSetSpeed", "0")

    # is this chffrplus?
    if os.getenv("PASSIVE") is not None:
        params.put("Passive", str(int(os.getenv("PASSIVE"))))

    if params.get("Passive") is None:
        raise Exception("Passive must be set to continue")

    # put something on screen while we set things up
    if os.getenv("PREPAREONLY") is not None:
        spinner_proc = None
    else:
        spinner_text = "chffrplus" if params.get(
            "Passive") == "1" else "openpilot"
        spinner_proc = subprocess.Popen(
            ["./spinner", "loading %s" % spinner_text],
            cwd=os.path.join(BASEDIR, "selfdrive", "ui", "spinner"),
            close_fds=True)
    try:
        manager_update()
        manager_init()
        manager_prepare()
    finally:
        if spinner_proc:
            spinner_proc.terminate()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall") == "1":
        uninstall()
Ejemplo n.º 11
0
def main():
  # the flippening!
  os.system('LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1')

  # disable bluetooth
  os.system('service call bluetooth_manager 8')

  # support additional internal only extensions
  try:
    import selfdrive.manager_extensions
    selfdrive.manager_extensions.register(register_managed_process)  # pylint: disable=no-member
  except ImportError:
    pass

  params = Params()
  params.manager_start()

  # set unset params
  if params.get("CommunityFeaturesToggle") is None:
    params.put("CommunityFeaturesToggle", "0")
  if params.get("CompletedTrainingVersion") is None:
    params.put("CompletedTrainingVersion", "0")
  if params.get("IsMetric") is None:
    params.put("IsMetric", "0")
  if params.get("RecordFront") is None:
    params.put("RecordFront", "0")
  if params.get("HasAcceptedTerms") is None:
    params.put("HasAcceptedTerms", "0")
  if params.get("HasCompletedSetup") is None:
    params.put("HasCompletedSetup", "0")
  if params.get("IsUploadRawEnabled") is None:
    params.put("IsUploadRawEnabled", "1")
  if params.get("IsLdwEnabled") is None:
    params.put("IsLdwEnabled", "1")
  if params.get("IsGeofenceEnabled") is None:
    params.put("IsGeofenceEnabled", "-1")
  if params.get("SpeedLimitOffset") is None:
    params.put("SpeedLimitOffset", "0")
  if params.get("LongitudinalControl") is None:
    params.put("LongitudinalControl", "0")
  if params.get("LimitSetSpeed") is None:
    params.put("LimitSetSpeed", "0")
  if params.get("LimitSetSpeedNeural") is None:
    params.put("LimitSetSpeedNeural", "0")
  if params.get("LastUpdateTime") is None:
    t = datetime.datetime.now().isoformat()
    params.put("LastUpdateTime", t.encode('utf8'))
  if params.get("OpenpilotEnabledToggle") is None:
    params.put("OpenpilotEnabledToggle", "1")

  # is this chffrplus?
  if os.getenv("PASSIVE") is not None:
    params.put("Passive", str(int(os.getenv("PASSIVE"))))

  if params.get("Passive") is None:
    raise Exception("Passive must be set to continue")

  update_apks()
  manager_init()
  manager_prepare(spinner)
  spinner.close()

  if os.getenv("PREPAREONLY") is not None:
    return

  # SystemExit on sigterm
  signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

  try:
    manager_thread()
  except Exception:
    traceback.print_exc()
    crash.capture_exception()
  finally:
    cleanup_all_processes(None, None)

  if params.get("DoUninstall", encoding='utf8') == "1":
    uninstall()
Ejemplo n.º 12
0
def main():
    if os.getenv("NOLOG") is not None:
        del managed_processes['loggerd']
        del managed_processes['tombstoned']
    if os.getenv("NOUPLOAD") is not None:
        del managed_processes['uploader']
    if os.getenv("NOVISION") is not None:
        del managed_processes['visiond']
    if os.getenv("LEAN") is not None:
        del managed_processes['uploader']
        del managed_processes['loggerd']
        del managed_processes['logmessaged']
        del managed_processes['logcatd']
        del managed_processes['tombstoned']
        del managed_processes['proclogd']
    if os.getenv("NOCONTROL") is not None:
        del managed_processes['controlsd']
        del managed_processes['radard']

    # support additional internal only extensions
    try:
        import selfdrive.manager_extensions
        selfdrive.manager_extensions.register(register_managed_process)
    except ImportError:
        pass

    params = Params()
    params.manager_start()

    # set unset params
    if params.get("IsMetric") is None:
        params.put("IsMetric", "0")
    if params.get("IsRearViewMirror") is None:
        params.put("IsRearViewMirror", "0")
    if params.get("IsFcwEnabled") is None:
        params.put("IsFcwEnabled", "1")
    if params.get("HasAcceptedTerms") is None:
        params.put("HasAcceptedTerms", "0")
    if params.get("IsUploadVideoOverCellularEnabled") is None:
        params.put("IsUploadVideoOverCellularEnabled", "1")

    params.put("Passive", "1" if os.getenv("PASSIVE") else "0")

    # put something on screen while we set things up
    if os.getenv("PREPAREONLY") is not None:
        spinner_proc = None
    else:
        spinner_proc = subprocess.Popen(["./spinner", "loading..."],
                                        cwd=os.path.join(
                                            BASEDIR, "selfdrive", "ui",
                                            "spinner"),
                                        close_fds=True)
    try:
        manager_update()
        manager_init()
        manager_prepare()
    finally:
        if spinner_proc:
            spinner_proc.terminate()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall") == "1":
        uninstall()
Ejemplo n.º 13
0
def main():
    params = Params()
    params.manager_start()

    default_params = [
        ("CommunityFeaturesToggle", "0"),
        ("CompletedTrainingVersion", "0"),
        ("IsRHD", "0"),
        ("IsMetric", "1"),
        ("RecordFront", "0"),
        ("HasAcceptedTerms", "0"),
        ("HasCompletedSetup", "0"),
        ("IsUploadRawEnabled", "1"),
        ("IsLdwEnabled", "1"),
        ("IsGeofenceEnabled", "-1"),
        ("SpeedLimitOffset", "0"),
        ("LimitSetSpeed", "0"),
        ("LimitSetSpeedNeural", "0"),
        ("LastUpdateTime",
         datetime.datetime.utcnow().isoformat().encode('utf8')),
        ("OpenpilotEnabledToggle", "1"),
        ("LaneChangeEnabled", "1"),
        ("IsDriverViewEnabled", "0"),
        ("IsOpenpilotViewEnabled", "0"),
        ("OpkrAutoShutdown", "2"),
        ("OpkrAutoScreenOff", "0"),
        ("OpkrUIBrightness", "0"),
        ("OpkrEnableDriverMonitoring", "1"),
        ("OpkrEnableLogger", "0"),
        ("OpkrEnableGetoffAlert", "1"),
        ("OpkrAutoResume", "1"),
        ("OpkrVariableCruise", "0"),
        ("OpkrLaneChangeSpeed", "60"),
        ("OpkrAutoLaneChangeDelay", "0"),
        ("OpkrSteerAngleCorrection", "0"),
        ("PutPrebuiltOn", "0"),
        ("FingerprintIssuedFix", "0"),
        ("LdwsCarFix", "0"),
        ("LateralControlMethod", "0"),
        ("InnerLoopGain", "30"),
        ("OuterLoopGain", "20"),
        ("TimeConstant", "10"),
        ("ActuatorEffectiveness", "15"),
        ("Scale", "1750"),
        ("LqrKi", "10"),
        ("DcGain", "30"),
        ("IgnoreZone", "1"),
        ("PidKp", "20"),
        ("PidKi", "40"),
        ("PidKd", "150"),
        ("PidKf", "5"),
        ("CameraOffsetAdj", "60"),
        ("SteerRatioAdj", "140"),
        ("SteerActuatorDelayAdj", "35"),
        ("SteerRateCostAdj", "45"),
        ("SteerLimitTimerAdj", "40"),
        ("TireStiffnessFactorAdj", "85"),
        ("SteerMaxAdj", "380"),
        ("SteerMaxBaseAdj", "275"),
        ("SteerDeltaUpAdj", "3"),
        ("SteerDeltaDownAdj", "7"),
        ("SteerMaxvAdj", "10"),
        ("OpkrBatteryChargingControl", "1"),
        ("OpkrBatteryChargingMin", "70"),
        ("OpkrBatteryChargingMax", "80"),
        ("OpkrUiOpen", "0"),
        ("OpkrDriveOpen", "0"),
        ("OpkrTuneOpen", "0"),
        ("OpkrControlOpen", "0"),
        ("LeftCurvOffsetAdj", "0"),
        ("RightCurvOffsetAdj", "0"),
        ("DebugUi1", "0"),
        ("DebugUi2", "0"),
        ("OpkrBlindSpotDetect", "1"),
        ("OpkrMaxAngleLimit", "90"),
        ("OpkrAngleOffsetSelect", "0"),
        ("OpkrCruiseGapSet", "3"),
        ("OpkrLatMode", "0"),
        ("OpkrAccMode", "1"),
        ("LimitSetSpeedCamera", "0"),
        ("LimitSetSpeedCurv", "1"),
        ("OpkrLiveSteerRatio", "0"),
        ("OpkrVariableSteerMax", "1"),
        ("OpkrVariableSteerDelta", "0"),
        ("FingerprintTwoSet", "1"),
        ("OpkrVariableCruiseProfile", "0"),
        ("OpkrLiveTune", "0"),
        ("OpkrEnableMap", "1"),
        ("OpkrDrivingRecord", "0"),
    ]

    # set unset params
    for k, v in default_params:
        if params.get(k) is None:
            params.put(k, v)

    # is this dashcam?
    if os.getenv("PASSIVE") is not None:
        params.put("Passive", str(int(os.getenv("PASSIVE"))))

    if params.get("Passive") is None:
        raise Exception("Passive must be set to continue")

    if EON:
        update_apks()
    manager_init()
    manager_prepare(spinner)
    spinner.close()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall", encoding='utf8') == "1":
        cloudlog.warning("uninstalling")
        HARDWARE.uninstall()
Ejemplo n.º 14
0
def main():
  # the flippening!
  os.system('LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1')

  # disable bluetooth
  os.system('service call bluetooth_manager 8')

  if os.getenv("NOLOG") is not None:
    del managed_processes['loggerd']
    del managed_processes['tombstoned']
  if os.getenv("NOUPLOAD") is not None:
    del managed_processes['uploader']
  if os.getenv("NOVISION") is not None:
    del managed_processes['visiond']
  if os.getenv("LEAN") is not None:
    del managed_processes['uploader']
    del managed_processes['loggerd']
    del managed_processes['logmessaged']
    del managed_processes['logcatd']
    del managed_processes['tombstoned']
    del managed_processes['proclogd']
  if os.getenv("NOCONTROL") is not None:
    del managed_processes['controlsd']
    del managed_processes['plannerd']
    del managed_processes['radard']

  # support additional internal only extensions
  try:
    import selfdrive.manager_extensions
    selfdrive.manager_extensions.register(register_managed_process) # pylint: disable=no-member
  except ImportError:
    pass

  params = Params()
  params.manager_start()

  # set unset params
  if params.get("CompletedTrainingVersion") is None:
    params.put("CompletedTrainingVersion", "0")
  if params.get("IsMetric") is None:
    params.put("IsMetric", "0")
  if params.get("RecordFront") is None:
    params.put("RecordFront", "0")
  if params.get("HasAcceptedTerms") is None:
    params.put("HasAcceptedTerms", "0")
  if params.get("HasCompletedSetup") is None:
    params.put("HasCompletedSetup", "0")
  if params.get("IsUploadRawEnabled") is None:
    params.put("IsUploadRawEnabled", "1")
  if params.get("IsUploadVideoOverCellularEnabled") is None:
    params.put("IsUploadVideoOverCellularEnabled", "1")
  if params.get("IsGeofenceEnabled") is None:
    params.put("IsGeofenceEnabled", "-1")
  if params.get("SpeedLimitOffset") is None:
    params.put("SpeedLimitOffset", "0")
  if params.get("LongitudinalControl") is None:
    params.put("LongitudinalControl", "0")
  if params.get("LimitSetSpeed") is None:
    params.put("LimitSetSpeed", "0")
  if params.get("LimitSetSpeedNeural") is None:
    params.put("LimitSetSpeedNeural", "0")
  if params.get("LastUpdateTime") is None:
    t = datetime.datetime.now().isoformat()
    params.put("LastUpdateTime", t.encode('utf8'))
  if params.get("OpenpilotEnabledToggle") is None:
    params.put("OpenpilotEnabledToggle", "1")

  # is this chffrplus?
  if os.getenv("PASSIVE") is not None:
    params.put("Passive", str(int(os.getenv("PASSIVE"))))

  if params.get("Passive") is None:
    raise Exception("Passive must be set to continue")

  #with Spinner() as spinner:
      #spinner.update("0") # Show progress bar
      #manager_update()
      #manager_init()
  manager_prepare(None)

  if os.getenv("PREPAREONLY") is not None:
    return

  # SystemExit on sigterm
  signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

  try:
    manager_thread()
  except Exception:
    traceback.print_exc()
    crash.capture_exception()
  finally:
    cleanup_all_processes(None, None)

  if params.get("DoUninstall") == "1":
    uninstall()
Ejemplo n.º 15
0
def main():
  params = Params()
  params.manager_start()

  default_params = [
    ("CommunityFeaturesToggle", "0"),
    ("CompletedTrainingVersion", "0"),
    ("IsRHD", "0"),
    ("IsMetric", "0"),
    ("RecordFront", "0"),
    ("HasAcceptedTerms", "0"),
    ("HasCompletedSetup", "0"),
    ("IsUploadRawEnabled", "1"),
    ("IsLdwEnabled", "1"),
    ("LastUpdateTime", datetime.datetime.utcnow().isoformat().encode('utf8')),
    ("OpenpilotEnabledToggle", "1"),
    ("LaneChangeEnabled", "1"),
    ("IsDriverViewEnabled", "0"),
  ]

  # set unset params
  for k, v in default_params:
    if params.get(k) is None:
      params.put(k, v)

  # is this dashcam?
  if os.getenv("PASSIVE") is not None:
    params.put("Passive", str(int(os.getenv("PASSIVE"))))

  if params.get("Passive") is None:
    raise Exception("Passive must be set to continue")

  init_params_vals(params)
  if EON:
    update_apks()
  manager_init(params.get('dp_reg') == b'1')
  manager_prepare()
  spinner.close()

  if os.getenv("PREPAREONLY") is not None:
    return

  # dp
  del managed_processes['tombstoned']
  steering_monitor = params.get("dp_steering_monitor") == b'1'
  if not steering_monitor and params.get("dp_driver_monitor") == b'0':
    del managed_processes['loggerd']
    del managed_processes['logmessaged']
    del managed_processes['proclogd']
    del managed_processes['logcatd']
    del managed_processes['dmonitoringd']
    del managed_processes['dmonitoringmodeld']
  elif params.get("dp_logger") == b'0' or \
          params.get("dp_atl") == b'1' or \
          not steering_monitor:
    del managed_processes['loggerd']
    del managed_processes['logmessaged']
    del managed_processes['proclogd']
    del managed_processes['logcatd']
  if params.get("dp_uploader") == b'0':
    del managed_processes['uploader']
  if params.get("dp_updated") == b'0':
    del managed_processes['updated']
  if params.get('dp_gpxd') == b'0':
    del managed_processes['gpxd']

  # SystemExit on sigterm
  signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

  try:
    manager_thread()
  except Exception:
    traceback.print_exc()
    crash.capture_exception()
  finally:
    cleanup_all_processes(None, None)

  if params.get("DoUninstall", encoding='utf8') == "1":
    cloudlog.warning("uninstalling")
    HARDWARE.uninstall()
Ejemplo n.º 16
0
def main():
    if ANDROID:
        # the flippening!
        os.system(
            'LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1'
        )

        # disable bluetooth
        os.system('service call bluetooth_manager 8')

    params = Params()
    params.manager_start()

    default_params = [
        ("CommunityFeaturesToggle", "0"),
        ("CompletedTrainingVersion", "0"),
        ("IsRHD", "0"),
        ("IsMetric", "1"),
        ("RecordFront", "0"),
        ("HasAcceptedTerms", "0"),
        ("HasCompletedSetup", "0"),
        ("IsUploadRawEnabled", "1"),
        ("IsLdwEnabled", "1"),
        ("LastUpdateTime",
         datetime.datetime.utcnow().isoformat().encode('utf8')),
        ("OpenpilotEnabledToggle", "1"),
        ("LaneChangeEnabled", "1"),
        ("IsDriverViewEnabled", "0"),
        ("IsOpenpilotViewEnabled", "0"),
        ("OpkrAutoShutdown", "3"),
        ("OpkrAutoScreenOff", "0"),
        ("OpkrUIBrightness", "0"),
        ("OpkrEnableDriverMonitoring", "1"),
        ("OpkrEnableLogger", "0"),
        ("OpkrEnableGetoffAlert", "1"),
        ("OpkrAutoResume", "1"),
        ("OpkrVariableCruise", "0"),
        ("OpkrLaneChangeSpeed", "60"),
        ("OpkrAutoLaneChangeDelay", "0"),
        ("OpkrSteerAngleCorrection", "0"),
        ("PutPrebuiltOn", "0"),
        ("FingerprintIssuedFix", "0"),
        ("LdwsCarFix", "0"),
        ("LateralControlMethod", "0"),
        ("CruiseStatemodeSelInit", "1"),
        ("InnerLoopGain", "30"),
        ("OuterLoopGain", "20"),
        ("TimeConstant", "10"),
        ("ActuatorEffectiveness", "15"),
        ("Scale", "1750"),
        ("LqrKi", "10"),
        ("DcGain", "30"),
        ("IgnoreZone", "0"),
        ("PidKp", "20"),
        ("PidKi", "40"),
        ("PidKf", "5"),
        ("CameraOffsetAdj", "60"),
        ("SteerRatioAdj", "135"),
        ("SteerActuatorDelayAdj", "35"),
        ("SteerRateCostAdj", "50"),
        ("SteerLimitTimerAdj", "80"),
        ("TireStiffnessFactorAdj", "75"),
        ("SteerMaxAdj", "380"),
        ("SteerMaxBaseAdj", "255"),
        ("SteerDeltaUpAdj", "3"),
        ("SteerDeltaDownAdj", "7"),
        ("SteerMaxvAdj", "10"),
        ("OpkrBatteryChargingControl", "1"),
        ("OpkrBatteryChargingMin", "70"),
        ("OpkrBatteryChargingMax", "80"),
        ("OpkrUiOpen", "0"),
        ("OpkrDriveOpen", "0"),
        ("OpkrTuneOpen", "0"),
        ("OpkrControlOpen", "0"),
        ("LeftCurvOffsetAdj", "0"),
        ("RightCurvOffsetAdj", "0"),
        ("DebugUi1", "0"),
        ("DebugUi2", "0"),
        ("OpkrBlindSpotDetect", "0"),
        ("OpkrMaxAngleLimit", "90"),
        ("OpkrAutoResumeOption", "0"),
        ("OpkrAngleOffsetSelect", "0"),
    ]

    # set unset params
    for k, v in default_params:
        if params.get(k) is None:
            params.put(k, v)

    # is this chffrplus?
    if os.getenv("PASSIVE") is not None:
        params.put("Passive", str(int(os.getenv("PASSIVE"))))

    if params.get("Passive") is None:
        raise Exception("Passive must be set to continue")

    if ANDROID:
        update_apks()
    manager_init()
    manager_prepare(spinner)
    spinner.close()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall", encoding='utf8') == "1":
        uninstall()
Ejemplo n.º 17
0
def main():
    os.environ['PARAMS_PATH'] = PARAMS

    # the flippening!
    os.system(
        'LD_LIBRARY_PATH="" content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1'
    )

    # disable bluetooth
    os.system('service call bluetooth_manager 8')

    params = Params()
    params.manager_start()

    default_params = [
        ("CommunityFeaturesToggle", "0"),
        ("CompletedTrainingVersion", "0"),
        ("IsRHD", "0"),
        ("IsMetric", "0"),
        ("RecordFront", "0"),
        ("HasAcceptedTerms", "0"),
        ("HasCompletedSetup", "0"),
        ("IsUploadRawEnabled", "1"),
        ("IsLdwEnabled", "1"),
        ("IsGeofenceEnabled", "-1"),
        ("SpeedLimitOffset", "0"),
        ("LongitudinalControl", "0"),
        ("LimitSetSpeed", "0"),
        ("LimitSetSpeedNeural", "0"),
        ("LastUpdateTime",
         datetime.datetime.utcnow().isoformat().encode('utf8')),
        ("OpenpilotEnabledToggle", "1"),
        ("LaneChangeEnabled", "1"),
        ("IsDriverViewEnabled", "0"),
    ]

    # set unset params
    for k, v in default_params:
        if params.get(k) is None:
            params.put(k, v)

    # is this chffrplus?
    if os.getenv("PASSIVE") is not None:
        params.put("Passive", str(int(os.getenv("PASSIVE"))))

    if params.get("Passive") is None:
        raise Exception("Passive must be set to continue")

    if ANDROID:
        update_apks()
    manager_init()
    manager_prepare(spinner)
    spinner.close()

    if os.getenv("PREPAREONLY") is not None:
        return

    # SystemExit on sigterm
    signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1))

    try:
        manager_thread()
    except SystemExit:
        raise
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)

    if params.get("DoUninstall", encoding='utf8') == "1":
        uninstall()
Ejemplo n.º 18
0
def main():
    if os.getenv("NOLOG") is not None:
        del managed_processes['loggerd']
        del managed_processes['tombstoned']
    if os.getenv("NOUPLOAD") is not None:
        del managed_processes['uploader']
    if os.getenv("NOVISION") is not None:
        del managed_processes['visiond']
    if os.getenv("NOBOARD") is not None:
        del managed_processes['boardd']
    if os.getenv("LEAN") is not None:
        del managed_processes['uploader']
        del managed_processes['loggerd']
        del managed_processes['logmessaged']
        del managed_processes['logcatd']
        del managed_processes['tombstoned']
        del managed_processes['proclogd']
    if os.getenv("NOCONTROL") is not None:
        del managed_processes['controlsd']
        del managed_processes['radard']

    # support additional internal only extensions
    try:
        import selfdrive.manager_extensions
        selfdrive.manager_extensions.register(register_managed_process)
    except ImportError:
        pass

    params = Params()
    params.manager_start()

    # set unset params
    if params.get("IsMetric") is None:
        params.put("IsMetric", "0")
    if params.get("IsRearViewMirror") is None:
        params.put("IsRearViewMirror", "1")

    # put something on screen while we set things up
    if os.getenv("PREPAREONLY") is not None:
        spinner_proc = None
    else:
        spinner_proc = subprocess.Popen(["./spinner", "loading openpilot..."],
                                        cwd=os.path.join(
                                            BASEDIR, "selfdrive", "ui",
                                            "spinner"),
                                        close_fds=True)
    try:
        manager_init()
        manager_prepare()
    finally:
        if spinner_proc:
            spinner_proc.terminate()

    if os.getenv("PREPAREONLY") is not None:
        sys.exit(0)

    try:
        manager_thread()
    except Exception:
        traceback.print_exc()
        crash.capture_exception()
    finally:
        cleanup_all_processes(None, None)