openpilot v0.4.0.1 tweaks

old-commit-hash: 7ef3fd567f
commatwo_master
Vehicle Researcher 7 years ago
parent bb3b1224cd
commit e147663381
  1. 4
      apk/ai.comma.plus.offroad.apk
  2. 3
      apk/external/.gitignore
  3. 3
      apk/external/com.spotify.music.apkpatch
  4. 3
      apk/external/com.waze.apkpatch
  5. 0
      apk/external/out/.gitkeep
  6. 3
      apk/external/patcher.py
  7. 0
      apk/external/src/.gitkeep
  8. 3
      apk/external/tools/ApkPatch.android.jar
  9. 3
      apk/external/tools/apkpatch_android
  10. 3
      apk/external/tools/certificate.pem
  11. 3
      apk/external/tools/key.pk8
  12. 3
      apk/external/tools/signapk.android.jar
  13. 3
      apk/external/tools/signapk_android
  14. 12
      launch_openpilot.sh
  15. 29
      selfdrive/debug/get_fingerprint.py
  16. 35
      selfdrive/manager.py
  17. 9
      selfdrive/updated.py

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:441c03e9bcb881ecc7933872d31d9dc7734a8673f3898fc8d8c49c6a15875b72 oid sha256:d6f5543949481e6c9dc225d33efb122957a8a85b2c16e6454f8c4f1b01d5d463
size 15382430 size 15385239

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0795c5ce6068f7ab3fcf23dccbee8b9c76da86808eacf4814ea99be4057ee83f
size 12

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce98217d60516c28fd68135a87144be86c63bd8f5e87de64f945925b6cce46af
size 1947345

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:57f794afccdc34ed52fc38628dbd20c1b9cae170b8c148cb49ab1e9dd1fe84f0
size 3870675

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e43d684937dfd3f907ac5bcc83a513a3030600bba042ef2396dce208847f551
size 3521

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8358afec7442e90c4eeffc4db4b4b00793df0f51c909976b4e95e3c8f8dacdcd
size 1310659

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca197862754835da4f0bc30823845e3448334f8c5e2093a1947348d2fed753a2
size 176

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b2e32152e7972032fd64ad351323f50008602c60feb19522b1aadd414bf1f7b4
size 1001

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a07ce769d17334f803a499c520d4a7d88478ceb1a9cf740faf296f8f54616e82
size 633

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5743dd91db33116bd7444d7407eb14b140ab2694f8525fc34c66d22256f50634
size 542612

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:123549475cad6ae6ce2261f81caf8f094b3b3d31076e3c320fd08301eb45e657
size 194

@ -8,12 +8,6 @@ function launch {
exec "${BASH_SOURCE[0]}" exec "${BASH_SOURCE[0]}"
fi fi
# check if NEOS update is required
while [ "$(cat /VERSION)" -lt 4 ] && [ ! -e /data/media/0/noupdate ]; do
curl -o /tmp/updater https://neos.comma.ai/updater && chmod +x /tmp/updater && /tmp/updater
sleep 10
done
# no cpu rationing for now # no cpu rationing for now
echo 0-3 > /dev/cpuset/background/cpus echo 0-3 > /dev/cpuset/background/cpus
echo 0-3 > /dev/cpuset/system-background/cpus echo 0-3 > /dev/cpuset/system-background/cpus
@ -26,6 +20,12 @@ function launch {
until ping -W 1 -c 1 8.8.8.8; do sleep 1; done until ping -W 1 -c 1 8.8.8.8; do sleep 1; done
kill $spin_pid kill $spin_pid
# check if NEOS update is required
while [ "$(cat /VERSION)" -lt 4 ] && [ ! -e /data/media/0/noupdate ]; do
curl -o /tmp/updater https://neos.comma.ai/updater && chmod +x /tmp/updater && /tmp/updater
sleep 10
done
export PYTHONPATH="$PWD" export PYTHONPATH="$PWD"
# start manager # start manager

@ -0,0 +1,29 @@
#!/usr/bin/env python
# simple script to get a vehicle fingerprint.
# keep this script running for few seconds: some messages are published every few seconds
# Instructions:
# - connect to a Panda
# - run selfdrive/boardd/boardd
# - launching this script
# - since some messages are published at low frequency, keep this script running for few seconds,
# until all messages are received at least once
import zmq
import selfdrive.messaging as messaging
from selfdrive.services import service_list
context = zmq.Context()
logcan = messaging.sub_sock(context, service_list['can'].port)
msgs = {}
while True:
lc = messaging.recv_sock(logcan, True)
for c in lc.can:
if c.src == 0:
msgs[c.address] = len(c.dat)
fingerprint = ', '.join("%d: %d" % v for v in sorted(msgs.items()))
print "number of messages:", len(msgs)
print "fingerprint", fingerprint

@ -1,4 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python2.7
import os import os
import sys import sys
import time import time
@ -40,6 +41,7 @@ if __name__ == "__main__":
os._exit(os.wait()[1]) os._exit(os.wait()[1])
import glob
import shutil import shutil
import hashlib import hashlib
import importlib import importlib
@ -54,6 +56,7 @@ os.environ['BASEDIR'] = BASEDIR
import usb1 import usb1
import zmq import zmq
from setproctitle import setproctitle from setproctitle import setproctitle
from smbus2 import SMBus
from common.params import Params from common.params import Params
from common.realtime import sec_since_boot from common.realtime import sec_since_boot
@ -68,6 +71,8 @@ import selfdrive.crash as crash
from selfdrive.loggerd.config import ROOT from selfdrive.loggerd.config import ROOT
EON = os.path.exists("/EON")
# comment out anything you don't want to run # comment out anything you don't want to run
managed_processes = { managed_processes = {
"uploader": "selfdrive.loggerd.uploader", "uploader": "selfdrive.loggerd.uploader",
@ -272,10 +277,6 @@ def system(cmd):
output=e.output[-1024:], output=e.output[-1024:],
returncode=e.returncode) returncode=e.returncode)
EON = os.path.exists("/EON")
if EON:
from smbus2 import SMBus
def setup_eon_fan(): def setup_eon_fan():
if not EON: if not EON:
return return
@ -530,18 +531,34 @@ def install_apk(path):
return ret == 0 return ret == 0
def update_apks(): def update_apks():
# patch apks
if os.getenv("PREPAREONLY"):
# assume we have internet, download too
patched = subprocess.call([os.path.join(BASEDIR, "apk/external/patcher.py")])
else:
patched = subprocess.call([os.path.join(BASEDIR, "apk/external/patcher.py"), "patch"])
cloudlog.info("patcher: %r" % (patched,))
# install apks # install apks
installed = get_installed_apks() installed = get_installed_apks()
for app in os.listdir(os.path.join(BASEDIR, "apk/")):
if ".apk" in app: install_apks = (glob.glob(os.path.join(BASEDIR, "apk/*.apk"))
app = app.split(".apk")[0] + glob.glob(os.path.join(BASEDIR, "apk/external/out/*.apk")))
for apk in install_apks:
app = os.path.basename(apk)[:-4]
if app not in installed: if app not in installed:
installed[app] = None installed[app] = None
cloudlog.info("installed apks %s" % (str(installed), )) cloudlog.info("installed apks %s" % (str(installed), ))
for app in installed.iterkeys(): for app in installed.iterkeys():
apk_path = os.path.join(BASEDIR, "apk/"+app+".apk") apk_path = os.path.join(BASEDIR, "apk/"+app+".apk")
if os.path.isfile(apk_path): if not os.path.exists(apk_path):
apk_path = os.path.join(BASEDIR, "apk/external/out/"+app+".apk")
if not os.path.exists(apk_path):
continue
h1 = hashlib.sha1(open(apk_path).read()).hexdigest() h1 = hashlib.sha1(open(apk_path).read()).hexdigest()
h2 = None h2 = None
if installed[app] is not None: if installed[app] is not None:

@ -6,6 +6,9 @@ import os
import time import time
import subprocess import subprocess
from common.basedir import BASEDIR
from selfdrive.swaglog import cloudlog
def main(gctx=None): def main(gctx=None):
while True: while True:
# try network # try network
@ -14,12 +17,16 @@ def main(gctx=None):
time.sleep(60) time.sleep(60)
continue continue
# try fetch
r = subprocess.call(["nice", "-n", "19", "git", "fetch", "--depth=1"]) r = subprocess.call(["nice", "-n", "19", "git", "fetch", "--depth=1"])
cloudlog.info("git fetch: %r", r)
if r: if r:
time.sleep(60) time.sleep(60)
continue continue
# download apks
r = subprocess.call(["nice", "-n", "19", os.path.join(BASEDIR, "apk/external/patcher.py"), "download"])
cloudlog.info("patcher download: %r", r)
time.sleep(60*60*3) time.sleep(60*60*3)
if __name__ == "__main__": if __name__ == "__main__":

Loading…
Cancel
Save