diff --git a/.gitignore b/.gitignore index 726686a4e2..5c9cfddb98 100644 --- a/.gitignore +++ b/.gitignore @@ -3,17 +3,19 @@ .ipynb_checkpoints model2.png +*.d *.pyc +*.pyo .*.swp .*.swo .*.un~ *.o -*.d *.so *.a *.clb *.class *.pyxbldc +*.vcd config.json clcache diff --git a/.gitmodules b/.gitmodules index 3060715f42..6c3b85bd71 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "panda"] path = panda url = https://github.com/commaai/panda.git +[submodule "opendbc"] + path = opendbc + url = https://github.com/commaai/opendbc.git diff --git a/README.md b/README.md index ef63cfaacb..a475817409 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ Currently it performs the functions of Adaptive Cruise Control (ACC) and Lane Ke The openpilot codebase has been written to be concise and enable rapid prototyping. We look forward to your contributions - improving real vehicle automation has never been easier. +Here are [some](https://www.youtube.com/watch?v=9OwTJFuDI7g) [videos](https://www.youtube.com/watch?v=64Wvt5pYQmE) [of](https://www.youtube.com/watch?v=6IW7Nejsr3A) [it](https://www.youtube.com/watch?v=-VN1YcC83nA) [running](https://www.youtube.com/watch?v=EQJZvVeihZk). And a really cool [tutorial](https://www.youtube.com/watch?v=PwOnsT2UW5o). + Hardware ------ @@ -18,17 +20,20 @@ Supported Cars ------ - Acura ILX 2016 with AcuraWatch Plus - - Limitations: Due to use of the cruise control for gas, it can only be enabled above 25 mph + - Due to use of the cruise control for gas, it can only be enabled above 25 mph - Honda Civic 2016 with Honda Sensing - - Limitations: Due to limitations in steering firmware, steering is disabled below 18 mph + - Due to limitations in steering firmware, steering is disabled below 12 mph + +- Honda CR-V Touring 2015-2016 (very alpha!) + - Can only be enabled above 25 mph Directory structure ------ - cereal -- The messaging spec used for all logs on the phone - common -- Library like functionality we've developed here -- dbcs -- Files showing how to interpret data from cars +- opendbc -- Files showing how to interpret data from cars - panda -- Code used to communicate on CAN and LIN - phonelibs -- Libraries used on the phone - selfdrive -- Code needed to drive the car @@ -66,11 +71,9 @@ More extensive testing infrastructure and simulation environments are coming soo Adding Car Support ------ -It should be relatively easy to add support for the Honda CR-V Touring. The brake message is the same. Steering has a slightly different message with a different message id. Sniff CAN while using LKAS to find it. - -The Honda Accord uses different signaling for the steering and probably requires new hardware. +comma.ai offers [bounties](http://comma.ai/bounties.html) for adding additional car support. -Adding other manufacturers besides Honda/Acura is doable but will be more of an undertaking. +CR-V Touring support came in through this program. Chevy Volt is close. Accord is close as well. User Data / chffr Account / Crash Reporting ------ @@ -91,7 +94,7 @@ We welcome both pull requests and issues on [github](http://github.com/commaai/openpilot). See the TODO file for a list of good places to start. -Want to get paid to work on openpilot? [comma.ai is hiring](http://comma.ai/hiring.html) +Want to get paid to work on openpilot? [comma.ai is hiring](http://comma.ai/positions.html) Licensing ------ diff --git a/RELEASES.md b/RELEASES.md index bed69aaf30..860e87696b 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,13 @@ +Version 0.3.3 (2017-06-28) +=========================== + * Improved model trained on more data + * Alpha CR-V support thanks to energee and johnnwvs! + * Using the opendbc project for DBC files + * Minor performance improvements + * UI update thanks to pjlao307 + * Power off button + * 6% more torque on the Civic + Version 0.3.2 (2017-05-22) =========================== * Minor stability bugfixes diff --git a/apk/com.baseui.apk b/apk/com.baseui.apk index 2a0dda19df..fad85641fa 100644 Binary files a/apk/com.baseui.apk and b/apk/com.baseui.apk differ diff --git a/cereal/log.capnp b/cereal/log.capnp index 9f50317e35..62ecd1fdd9 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -145,6 +145,7 @@ struct SensorEventData { magnetic @5 :SensorVec; orientation @6 :SensorVec; gyro @7 :SensorVec; + pressure @9 :SensorVec; } source @8 :SensorSource; @@ -297,8 +298,8 @@ struct LiveTracks { struct Live100Data { canMonoTime @16 :UInt64; canMonoTimes @21 :List(UInt64); - l20MonoTime @17 :UInt64; - mdMonoTime @18 :UInt64; + l20MonoTimeDEPRECATED @17 :UInt64; + mdMonoTimeDEPRECATED @18 :UInt64; vEgo @0 :Float32; aEgoDEPRECATED @1 :Float32; diff --git a/common/api/__init__.py b/common/api/__init__.py index dcb17fdb35..2dc2ffa990 100644 --- a/common/api/__init__.py +++ b/common/api/__init__.py @@ -1,13 +1,15 @@ import requests +from selfdrive.version import version + def api_get(endpoint, method='GET', timeout=None, access_token=None, **params): backend = "https://api.commadotai.com/" - params['_version'] = "OPENPILOTv0.3" - headers = {} if access_token is not None: headers['Authorization'] = "JWT "+access_token + headers['User-Agent'] = "openpilot-" + version + return requests.request(method, backend+endpoint, timeout=timeout, headers = headers, params=params) diff --git a/common/dbc.py b/common/dbc.py index 054da288ef..9d00062622 100755 --- a/common/dbc.py +++ b/common/dbc.py @@ -1,6 +1,6 @@ import re import bitstring -from binascii import hexlify +import struct from collections import namedtuple def int_or_float(s): @@ -36,6 +36,7 @@ class dbc(object): for i in range(0, 64, 8): for j in range(7, -1, -1): self.bits.append(i+j) + self.bits_index = dict(zip(self.bits, range(64))) for l in self.txt: l = l.strip() @@ -102,7 +103,7 @@ class dbc(object): if s.is_little_endian: ss = s.start_bit else: - ss = self.bits.index(s.start_bit) + ss = self.bits_index[s.start_bit] if s.is_signed: @@ -135,9 +136,6 @@ class dbc(object): Returns (None, None) if the message could not be decoded. """ - def swap_order(d, wsz=4, gsz=2 ): - return "".join(["".join([m[i:i+gsz] for i in range(wsz-gsz,-gsz,-gsz)]) for m in [d[i:i+wsz] for i in range(0,len(d),wsz)]]) - if arr is None: out = {} else: @@ -156,6 +154,9 @@ class dbc(object): blen = 8*len(x[2]) + st = x[2].rjust(8, '\x00') + le, be = None, None + for s in msg[1]: if arr is not None and s[0] not in arr: continue @@ -163,15 +164,18 @@ class dbc(object): # big or little endian? # see http://vi-firmware.openxcplatform.com/en/master/config/bit-numbering.html if s[3] is False: - ss = self.bits.index(s[1]) - x2_int = int(hexlify(x[2]), 16) + ss = self.bits_index[s[1]] + if be is None: + be = struct.unpack(">Q", st)[0] + x2_int = be data_bit_pos = (blen - (ss + s[2])) else: - x2_int = int(swap_order(hexlify(x[2]), 16, 2), 16) + if le is None: + le = struct.unpack("> data_bit_pos) & ((1 << (s[2])) - 1) diff --git a/common/logging_extra.py b/common/logging_extra.py index 2f12184521..272fc23214 100644 --- a/common/logging_extra.py +++ b/common/logging_extra.py @@ -8,6 +8,14 @@ from threading import local from collections import OrderedDict from contextlib import contextmanager +def json_handler(obj): + # if isinstance(obj, (datetime.date, datetime.time)): + # return obj.isoformat() + return repr(obj) + +def json_robust_dumps(obj): + return json.dumps(obj, default=json_handler) + class SwagFormatter(logging.Formatter): def __init__(self, swaglogger): logging.Formatter.__init__(self, None, '%a %b %d %H:%M:%S %Z %Y') @@ -15,12 +23,7 @@ class SwagFormatter(logging.Formatter): self.swaglogger = swaglogger self.host = socket.gethostname() - def json_handler(self, obj): - # if isinstance(obj, (datetime.date, datetime.time)): - # return obj.isoformat() - return repr(obj) - - def format(self, record): + def format_dict(self, record): record_dict = OrderedDict() if isinstance(record.msg, dict): @@ -50,9 +53,10 @@ class SwagFormatter(logging.Formatter): record_dict['threadName'] = record.threadName record_dict['created'] = record.created - # asctime = self.formatTime(record, self.datefmt) + return record_dict - return json.dumps(record_dict, default=self.json_handler) + def format(self, record): + return json_robust_dumps(self.format_dict(record)) _tmpfunc = lambda: 0 _srcfile = os.path.normcase(_tmpfunc.__code__.co_filename) diff --git a/common/realtime.py b/common/realtime.py index 282e662220..9315f2196e 100644 --- a/common/realtime.py +++ b/common/realtime.py @@ -1,42 +1,52 @@ """Utilities for reading real time clocks and keeping soft real time constraints.""" +import os import time import ctypes import platform +import threading import subprocess import multiprocessing -import os -from ctypes.util import find_library +from cffi import FFI +ffi = FFI() +ffi.cdef(""" +typedef int clockid_t; +struct timespec { + long tv_sec; /* Seconds. */ + long tv_nsec; /* Nanoseconds. */ +}; +int clock_gettime (clockid_t clk_id, struct timespec *tp); -CLOCK_MONOTONIC_RAW = 4 # see -CLOCK_BOOTTIME = 7 +long syscall(long number, ...); -class timespec(ctypes.Structure): - _fields_ = [ - ('tv_sec', ctypes.c_long), - ('tv_nsec', ctypes.c_long), - ] +""" +) +libc = ffi.dlopen(None) -libc_name = find_library('c') -libc = ctypes.CDLL(libc_name, use_errno=True) + +# see +CLOCK_MONOTONIC_RAW = 4 +CLOCK_BOOTTIME = 7 if hasattr(libc, 'clock_gettime'): - libc.clock_gettime.argtypes = [ctypes.c_int, ctypes.POINTER(timespec)] - has_clock_gettime = True -else: - has_clock_gettime = False + c_clock_gettime = libc.clock_gettime -def clock_gettime(clk_id): - if not has_clock_gettime: - # hack. only for OS X < 10.12 - return time.time() + tlocal = threading.local() + def clock_gettime(clk_id): + if not hasattr(tlocal, 'ts'): + tlocal.ts = ffi.new('struct timespec *') - t = timespec() - if libc.clock_gettime(clk_id, ctypes.pointer(t)) != 0: - errno_ = ctypes.get_errno() - raise OSError(errno_, os.strerror(errno_)) - return t.tv_sec + t.tv_nsec * 1e-9 + ts = tlocal.ts + + r = c_clock_gettime(clk_id, ts) + if r != 0: + raise OSError("clock_gettime") + return ts.tv_sec + ts.tv_nsec * 1e-9 +else: + # hack. only for OS X < 10.12 + def clock_gettime(clk_id): + return time.time() def monotonic_time(): return clock_gettime(CLOCK_MONOTONIC_RAW) @@ -96,3 +106,6 @@ class Ratekeeper(object): self._frame += 1 self._remaining = remaining return lagged + +if __name__ == "__main__": + print sec_since_boot() diff --git a/common/testing.py b/common/testing.py new file mode 100644 index 0000000000..7e8b16d5cf --- /dev/null +++ b/common/testing.py @@ -0,0 +1,9 @@ +import os +from nose.tools import nottest + +def phone_only(x): + if os.path.isfile("/init.qcom.rc"): + return x + else: + return nottest(x) + diff --git a/dbcs/__init__.py b/dbcs/__init__.py deleted file mode 100644 index a74a06029f..0000000000 --- a/dbcs/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -import os -DBC_PATH = os.path.dirname(os.path.abspath(__file__)) diff --git a/dbcs/acura_ilx_2016_can.dbc b/dbcs/acura_ilx_2016_can.dbc deleted file mode 100644 index 24e4817740..0000000000 --- a/dbcs/acura_ilx_2016_can.dbc +++ /dev/null @@ -1,324 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: INTERCEPTOR EBCM NEO ADAS PCM EPS VSA SCM BDY XXX - - -BO_ 57 XXX_1: 3 XXX - -BO_ 145 XXX_2: 8 XXX - SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" NEO - -BO_ 228 STEERING_CONTROL: 5 ADAS - SG_ STEER_TORQUE : 7|16@0- (1,0) [-3840|3840] "" EPS - SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS - SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS - SG_ SET_ME_X00 : 31|8@0+ (1,0) [0|0] "" EPS - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" EPS - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" EPS - -BO_ 304 GAS_PEDAL2: 8 PCM - SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO - -BO_ 316 GAS_PEDAL: 8 PCM - SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO - -BO_ 342 STEERING_SENSORS: 6 EPS - SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" NEO - SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" NEO - -BO_ 344 POWERTRAIN_DATA: 8 PCM - SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 380 POWERTRAIN_DATA2: 8 PCM - SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO - SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO - SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 398 XXX_3: 3 XXX - -BO_ 399 STEER_STATUS: 7 EPS - SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" NEO - SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 419 GEARBOX: 8 PCM - SG_ GEAR : 7|8@0+ (1,0) [0|256] "" NEO - SG_ GEAR_SHIFTER : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 420 VSA_STATUS: 8 VSA - SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" NEO - SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 422 SCM_BUTTONS: 8 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" NEO - SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" NEO - SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 428 XXX_4: 8 XXX - -BO_ 432 STANDSTILL: 7 VSA - SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 464 WHEEL_SPEEDS: 8 VSA - SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 476 XXX_5: 4 XXX - -BO_ 490 VEHICLE_DYNAMICS: 8 VSA - SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO - -BO_ 506 BRAKE_COMMAND: 8 ADAS - SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM - SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH4 : 31|8@0+ (1,0) [0|1] "" EBCM - SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH5 : 38|7@0+ (1,0) [0|1] "" EBCM - SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM - SG_ CRUISE_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM - SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM - SG_ CRUISE_BOH7 : 41|10@0+ (1,0) [0|0] "" EBCM - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EBCM - -BO_ 512 GAS_COMMAND: 3 NEO - SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-83.3) [0|1] "" INTERCEPTOR - SG_ COUNTER : 21|2@0+ (1,0) [0|3] "" INTERCEPTOR - SG_ CHECKSUM : 19|4@0+ (1,0) [0|3] "" INTERCEPTOR - -BO_ 513 GAS_SENSOR: 5 INTERCEPTOR - SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-83.3) [0|1] "" NEO - SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" NEO - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" NEO - -BO_ 542 XXX_6: 7 XXX - -BO_ 545 XXX_7: 4 XXX - -BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA - SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO - SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO - SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO - -BO_ 660 SCM_COMMANDS: 8 SCM - SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" NEO - SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" NEO - SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" NEO - -BO_ 773 SEATBELT_STATUS: 7 BDY - SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO - SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 777 XXX_8: 8 XXX - -BO_ 780 ACC_HUD: 8 ADAS - SG_ PCM_SPEED : 7|16@0+ (0.002763889,0) [0|100] "m/s" BDY - SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY - SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY - SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY - SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY - SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY - SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY - SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY - SG_ SET_ME_X03 : 47|2@0+ (1,0) [0|3] "" BDY - SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY - SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY - SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY - SG_ HUD_DISTANCE_3 : 52|1@0+ (1,0) [0|1] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 800 XXX_9: 8 XXX - -BO_ 804 CRUISE: 8 PCM - SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO - SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO - SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO - SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO - SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO - SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 808 XXX_10: 8 XXX - -BO_ 819 XXX_11: 7 XXX - -BO_ 821 XXX_12: 5 XXX - -BO_ 829 LKAS_HUD_2: 5 ADAS - SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY - SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY - SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY - SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY - SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY - SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY - SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY - SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY - SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY - SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY - -BO_ 882 XXX_13: 2 XXX - -BO_ 884 XXX_14: 7 XXX - -BO_ 887 XXX_15: 8 XXX - -BO_ 888 XXX_16: 8 XXX - -BO_ 892 XXX_17: 8 XXX - -BO_ 923 XXX_18: 2 XXX - -BO_ 929 XXX_19: 4 XXX - -BO_ 983 XXX_20: 8 XXX - -BO_ 985 XXX_21: 3 XXX - -BO_ 1024 XXX_22: 5 XXX - -BO_ 1027 XXX_23: 5 XXX - -BO_ 1029 DOORS_STATUS: 8 BDY - SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 1030 XXX_24: 5 VSA - -BO_ 1034 XXX_25: 5 XXX - -BO_ 1036 XXX_26: 8 XXX - -BO_ 1039 XXX_27: 8 XXX - -BO_ 1057 XXX_28: 5 EPS - -BO_ 1064 XXX_29: 7 XXX - -BO_ 1108 XXX_30: 8 XXX - -BO_ 1365 XXX_31: 5 XXX - -BO_ 1600 XXX_32: 5 XXX - -BO_ 1601 XXX_33: 8 XXX - -BO_TX_BU_ 228 : NEO,ADAS; -BO_TX_BU_ 506 : NEO,ADAS; -BO_TX_BU_ 780 : NEO,ADAS; -BO_TX_BU_ 829 : NEO,ADAS; - - -CM_ SG_ 419 GEAR "10 = reverse, 11 = transition"; -CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping"; -CM_ SG_ 780 CRUISE_SPEED "255 = no speed"; -CM_ SG_ 804 CRUISE_SPEED_PCM "255 = no speed"; -CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc..."; -VAL_ 399 STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal" ; -VAL_ 419 GEAR_SHIFTER 10 "S" 4 "D" 3 "N" 2 "R" 1 "P" ; -VAL_ 422 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none" ; -VAL_ 422 LIGHTS_SETTING 3 "high_beam" 2 "low_beam" 1 "position" 0 "no_lights" ; -VAL_ 422 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none" ; -VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ; -VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ; -VAL_ 780 HUD_LEAD 3 "no_car" 2 "solid_car" 1 "dashed_car" 0 "no_car" ; -VAL_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ; - diff --git a/dbcs/acura_ilx_2016_nidec.dbc b/dbcs/acura_ilx_2016_nidec.dbc deleted file mode 100644 index a6dd3ec8c8..0000000000 --- a/dbcs/acura_ilx_2016_nidec.dbc +++ /dev/null @@ -1,183 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: ADAS RADAR NEO XXX - - -BO_ 768 VEHICLE_STATE: 8 ADAS - SG_ SET_ME_XF9 : 7|8@0+ (1,0) [0|255] "" Vector__XXX - SG_ VEHICLE_SPEED : 15|8@0+ (1,0) [0|255] "kph" Vector__XXX - -BO_ 769 VEHICLE_STATE2: 8 ADAS - SG_ SET_ME_0F18510 : 7|28@0+ (1,0) [0|268435455] "" Vector__XXX - SG_ SET_ME_25A0000 : 27|28@0+ (1,0) [0|268435455] "" Vector__XXX - -BO_ 1024 XXX_100: 8 RADAR - -BO_ 1040 XXX_101: 8 RADAR - -BO_ 1041 XXX_102: 8 RADAR - -BO_ 1042 XXX_103: 8 RADAR - -BO_ 1043 XXX_104: 8 RADAR - -BO_ 1044 XXX_105: 8 RADAR - -BO_ 1045 XXX_106: 8 RADAR - -BO_ 1046 XXX_107: 8 RADAR - -BO_ 1047 XXX_108: 8 RADAR - -BO_ 1056 XXX_109: 8 RADAR - -BO_ 1057 XXX_110: 8 RADAR - -BO_ 1058 XXX_111: 8 RADAR - -BO_ 1059 XXX_112: 8 RADAR - -BO_ 1060 XXX_113: 8 RADAR - -BO_ 1072 TRACK_0: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1073 TRACK_1: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1074 TRACK_2: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1075 TRACK_3: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1076 TRACK_4: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1077 TRACK_5: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1078 TRACK_6: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1079 TRACK_7: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1080 TRACK_8: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1081 TRACK_9: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1088 TRACK_10: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1089 TRACK_11: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1090 TRACK_12: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1091 TRACK_13: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1092 TRACK_14: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1093 TRACK_15: 8 RADAR - SG_ LONG_DIST : 7|12@0+ (0.0625,0) [0|255.5] "m" NEO - SG_ NEW_TRACK : 11|1@0+ (1,0) [0|1] "" NEO - SG_ LAT_DIST : 9|10@0- (0.0625,0) [0|63.5] "m" NEO - SG_ REL_SPEED : 31|12@0- (0.03125,0) [0|127.5] "m/s" NEO - -BO_ 1279 XXX_114: 8 RADAR - -BO_ 1280 XXX_115: 8 RADAR - -BO_ 1296 XXX_116: 8 RADAR - -BO_ 1297 XXX_117: 8 RADAR - -BO_TX_BU_ 768 : NEO,ADAS; -BO_TX_BU_ 769 : NEO,ADAS; - - - diff --git a/dbcs/honda_accord_touring_2016_can.dbc b/dbcs/honda_accord_touring_2016_can.dbc deleted file mode 100644 index 0ab55c7277..0000000000 --- a/dbcs/honda_accord_touring_2016_can.dbc +++ /dev/null @@ -1,305 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: INTERCEPTOR EBCM NEO ADAS PCM EPS VSA SCM BDY XXX EPB - - -BO_ 57 XXX_1: 3 XXX - -BO_ 342 STEERING_SENSORS: 6 EPS - SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" NEO - SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" NEO - -BO_ 344 POWERTRAIN_DATA: 8 PCM - SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 380 POWERTRAIN_DATA2: 8 PCM - SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO - SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO - SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 401 GEARBOX: 8 PCM - SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" NEO - SG_ GEAR : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 420 VSA_STATUS: 8 VSA - SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" NEO - SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 422 SCM_BUTTONS: 8 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" NEO - SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" NEO - SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 427 XXX_3: 3 VSA - -BO_ 428 XXX_4: 8 XXX - -BO_ 432 STANDSTILL: 7 VSA - SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 450 XXX_5: 8 EPB - SG_ EPB_ACTIVE : 3|1@0+ (1,0) [0|1] "" NEO - SG_ EPB_STATE : 29|2@0+ (1,0) [0|3] "" NEO - -BO_ 464 WHEEL_SPEEDS: 8 VSA - SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 470 XXX_6: 2 VSA - -BO_ 476 XXX_7: 7 XXX - -BO_ 487 XXX_8: 4 VSA - SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" NEO - SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" NEO - -BO_ 490 VEHICLE_DYNAMICS: 8 VSA - SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO - -BO_ 493 XXX_9: 5 VSA - -BO_ 506 BRAKE_COMMAND: 8 ADAS - SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM - SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM - SG_ SET_ME_0X80 : 31|8@0+ (1,0) [0|1] "" EBCM - SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_STATES : 38|7@0+ (1,0) [0|1] "" EBCM - SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM - SG_ ZEROS_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM - SG_ FCW : 43|1@0+ (1,0) [0|3] "" EBCM - SG_ ZEROS_BOH3 : 42|2@0+ (1,0) [0|0] "" EBCM - SG_ FCW2 : 40|1@0+ (1,0) [0|0] "" EBCM - SG_ ZEROS_BOH4 : 55|8@0+ (1,0) [0|0] "" EBCM - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EBCM - -BO_ 512 GAS_COMMAND: 3 NEO - SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-328) [0|1] "" INTERCEPTOR - SG_ COUNTER : 21|2@0+ (1,0) [0|3] "" INTERCEPTOR - SG_ CHECKSUM : 19|4@0+ (1,0) [0|3] "" INTERCEPTOR - -BO_ 513 GAS_SENSOR: 5 INTERCEPTOR - SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-328) [0|1] "" NEO - SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-656) [0|1] "" NEO - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" NEO - -BO_ 545 XXX_10: 6 XXX - -BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA - SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO - SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO - SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO - -BO_ 660 SCM_COMMANDS: 8 SCM - SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" NEO - SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" NEO - SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" NEO - -BO_ 662 CRUISE_BUTTONS: 4 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ CRUISE_SETTING : 3|2@0+ (1,0) [0|3] "" NEO - -BO_ 773 SEATBELT_STATUS: 7 BDY - SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO - SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 777 XXX_11: 8 XXX - -BO_ 780 ACC_HUD: 8 ADAS - SG_ PCM_SPEED : 7|16@0+ (0.002763889,0) [0|100] "m/s" BDY - SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY - SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY - SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY - SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY - SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY - SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY - SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY - SG_ HUD_DISTANCE : 47|2@0+ (1,0) [0|3] "" BDY - SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY - SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY - SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 795 XXX_12: 8 XXX - -BO_ 800 XXX_13: 8 XXX - -BO_ 804 CRUISE: 8 PCM - SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO - SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO - SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO - SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO - SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO - SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 808 XXX_14: 8 XXX - -BO_ 829 LKAS_HUD_2: 5 ADAS - SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY - SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY - SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY - SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY - SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY - SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY - SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY - SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY - SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY - SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY - -BO_ 862 XXX_15: 8 ADAS - SG_ UI_ALERTS : 7|56@0+ (1,0) [0|127] "" BDY - -BO_ 884 XXX_16: 8 XXX - -BO_ 891 XXX_17: 8 XXX - -BO_ 892 XXX_18: 8 XXX - -BO_ 927 XXX_19: 8 ADAS - SG_ ZEROS_BOH : 7|17@0+ (1,0) [0|127] "" BDY - SG_ APPLY_BRAKES_FOR_CANC : 23|1@0+ (1,0) [0|15] "" BDY - SG_ ZEROS_BOH2 : 22|1@0+ (1,0) [0|1] "" BDY - SG_ RESUME_INSTRUCTION : 21|1@0+ (1,0) [0|15] "" BDY - SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|15] "" BDY - SG_ ZEROS_BOH2 : 31|8@0+ (1,0) [0|127] "" BDY - SG_ LEAD_SPEED : 39|9@0+ (1,0) [0|127] "" BDY - SG_ LEAD_STATE : 46|3@0+ (1,0) [0|127] "" BDY - SG_ LEAD_DISTANCE : 43|5@0+ (1,0) [0|31] "" BDY - SG_ ZEROS_BOH3 : 54|7@0+ (1,0) [0|127] "" BDY - -BO_ 929 XXX_20: 8 XXX - -BO_ 985 XXX_21: 3 XXX - -BO_ 1024 XXX_22: 5 XXX - -BO_ 1027 XXX_23: 5 XXX - -BO_ 1029 DOORS_STATUS: 8 BDY - SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 1036 XXX_24: 8 XXX - -BO_ 1039 XXX_25: 8 XXX - -BO_ 1108 XXX_26: 8 XXX - -BO_ 1302 XXX_27: 8 XXX - -BO_ 1322 XXX_28: 5 XXX - -BO_ 1361 XXX_29: 5 XXX - -BO_ 1365 XXX_30: 5 XXX - -BO_ 1424 XXX_31: 5 XXX - -BO_ 1600 XXX_32: 5 XXX - -BO_ 1601 XXX_33: 8 XXX - -BO_ 1633 XXX_34: 8 XXX - -BO_TX_BU_ 228 : NEO,ADAS; -BO_TX_BU_ 506 : NEO,ADAS; -BO_TX_BU_ 780 : NEO,ADAS; -BO_TX_BU_ 829 : NEO,ADAS; -BO_TX_BU_ 862 : NEO,ADAS; -BO_TX_BU_ 927 : NEO,ADAS; - diff --git a/dbcs/honda_civic_touring_2016_can.dbc b/dbcs/honda_civic_touring_2016_can.dbc deleted file mode 100644 index ddf2d2699c..0000000000 --- a/dbcs/honda_civic_touring_2016_can.dbc +++ /dev/null @@ -1,343 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: INTERCEPTOR EBCM NEO ADAS PCM EPS VSA SCM BDY XXX EPB - - -BO_ 57 XXX_1: 3 XXX - -BO_ 148 XXX_2: 8 XXX - SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" NEO - SG_ LONG_ACCEL : 24|9@0- (-0.02,0) [-20|20] "m/s2" NEO - -BO_ 228 STEERING_CONTROL: 5 ADAS - SG_ STEER_TORQUE : 7|16@0- (1,0) [-3840|3840] "" EPS - SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS - SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS - SG_ SET_ME_X00_2 : 31|8@0+ (1,0) [0|0] "" EPS - SG_ CHECKSUM : 39|4@0+ (1,0) [0|15] "" EPS - SG_ COUNTER : 33|2@0+ (1,0) [0|3] "" EPS - -BO_ 304 GAS_PEDAL2: 8 PCM - SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO - -BO_ 330 STEERING_SENSORS: 8 EPS - SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ STEER_ANGLE_RATE : 23|16@0- (-1,0) [-3000|3000] "deg/s" NEO - SG_ STEER_ANGLE_OFFSET : 39|8@0- (-0.1,0) [-128|127] "deg" NEO - SG_ STEER_WHEEL_ANGLE : 47|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 344 POWERTRAIN_DATA: 8 PCM - SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 380 POWERTRAIN_DATA2: 8 PCM - SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO - SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO - SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 399 STEER_STATUS: 7 EPS - SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" NEO - SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 401 GEARBOX: 8 PCM - SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" NEO - SG_ GEAR : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 420 VSA_STATUS: 8 VSA - SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" NEO - SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 427 XXX_3: 3 VSA - -BO_ 428 XXX_4: 8 XXX - -BO_ 432 STANDSTILL: 7 VSA - SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 450 XXX_5: 8 EPB - SG_ EPB_ACTIVE : 3|1@0+ (1,0) [0|1] "" NEO - SG_ EPB_STATE : 29|2@0+ (1,0) [0|3] "" NEO - -BO_ 464 WHEEL_SPEEDS: 8 VSA - SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 470 XXX_6: 2 VSA - -BO_ 476 XXX_7: 7 XXX - -BO_ 487 XXX_8: 4 VSA - SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" NEO - SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" NEO - -BO_ 490 VEHICLE_DYNAMICS: 8 VSA - SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO - -BO_ 493 XXX_9: 5 VSA - -BO_ 506 BRAKE_COMMAND: 8 ADAS - SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM - SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM - SG_ SET_ME_0X80 : 31|8@0+ (1,0) [0|1] "" EBCM - SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_STATES : 38|7@0+ (1,0) [0|1] "" EBCM - SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM - SG_ ZEROS_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM - SG_ FCW : 43|1@0+ (1,0) [0|3] "" EBCM - SG_ ZEROS_BOH3 : 42|2@0+ (1,0) [0|0] "" EBCM - SG_ FCW2 : 40|1@0+ (1,0) [0|0] "" EBCM - SG_ ZEROS_BOH4 : 55|8@0+ (1,0) [0|0] "" EBCM - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EBCM - -BO_ 512 GAS_COMMAND: 3 NEO - SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-328) [0|1] "" INTERCEPTOR - SG_ COUNTER : 21|2@0+ (1,0) [0|3] "" INTERCEPTOR - SG_ CHECKSUM : 19|4@0+ (1,0) [0|3] "" INTERCEPTOR - -BO_ 513 GAS_SENSOR: 5 INTERCEPTOR - SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-328) [0|1] "" NEO - SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-656) [0|1] "" NEO - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" NEO - -BO_ 545 XXX_10: 6 XXX - -BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA - SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO - SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO - SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO - -BO_ 662 CRUISE_BUTTONS: 4 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ CRUISE_SETTING : 3|2@0+ (1,0) [0|3] "" NEO - -BO_ 773 SEATBELT_STATUS: 7 BDY - SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO - SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 777 XXX_11: 8 XXX - -BO_ 780 ACC_HUD: 8 ADAS - SG_ PCM_SPEED : 7|16@0+ (0.002759506,0) [0|100] "m/s" BDY - SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY - SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY - SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY - SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY - SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY - SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY - SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY - SG_ HUD_DISTANCE : 47|2@0+ (1,0) [0|3] "" BDY - SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY - SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY - SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 795 XXX_12: 8 XXX - -BO_ 800 XXX_13: 8 XXX - -BO_ 804 CRUISE: 8 PCM - SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO - SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO - SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO - SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO - SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO - SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 806 SCM_FEEDBACK: 8 SCM - SG_ CMBS_BUTTON : 22|2@0+ (1,0) [0|3] "" NEO - SG_ MAIN_ON : 28|1@0+ (1,0) [0|1] "" NEO - SG_ RIGHT_BLINKER : 27|1@0+ (1,0) [0|1] "" NEO - SG_ LEFT_BLINKER : 26|1@0+ (1,0) [0|1] "" NEO - -BO_ 808 XXX_14: 8 XXX - -BO_ 829 LKAS_HUD_2: 5 ADAS - SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY - SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY - SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY - SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY - SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY - SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY - SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY - SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY - SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY - SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY - -BO_ 862 XXX_15: 8 ADAS - SG_ UI_ALERTS : 7|56@0+ (1,0) [0|127] "" BDY - -BO_ 884 XXX_16: 8 XXX - -BO_ 891 XXX_17: 8 XXX - -BO_ 892 XXX_18: 8 XXX - -BO_ 927 XXX_19: 8 ADAS - SG_ ZEROS_BOH : 7|17@0+ (1,0) [0|127] "" BDY - SG_ APPLY_BRAKES_FOR_CANC : 23|1@0+ (1,0) [0|15] "" BDY - SG_ ZEROS_BOH2 : 22|1@0+ (1,0) [0|1] "" BDY - SG_ RESUME_INSTRUCTION : 21|1@0+ (1,0) [0|15] "" BDY - SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|15] "" BDY - SG_ ZEROS_BOH2 : 31|8@0+ (1,0) [0|127] "" BDY - SG_ LEAD_SPEED : 39|9@0+ (1,0) [0|127] "" BDY - SG_ LEAD_STATE : 46|3@0+ (1,0) [0|127] "" BDY - SG_ LEAD_DISTANCE : 43|5@0+ (1,0) [0|31] "" BDY - SG_ ZEROS_BOH3 : 54|7@0+ (1,0) [0|127] "" BDY - -BO_ 929 XXX_20: 8 XXX - -BO_ 985 XXX_21: 3 XXX - -BO_ 1024 XXX_22: 5 XXX - -BO_ 1027 XXX_23: 5 XXX - -BO_ 1029 DOORS_STATUS: 8 BDY - SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 1036 XXX_24: 8 XXX - -BO_ 1039 XXX_25: 8 XXX - -BO_ 1108 XXX_26: 8 XXX - -BO_ 1302 XXX_27: 8 XXX - -BO_ 1322 XXX_28: 5 XXX - -BO_ 1361 XXX_29: 5 XXX - -BO_ 1365 XXX_30: 5 XXX - -BO_ 1424 XXX_31: 5 XXX - -BO_ 1600 XXX_32: 5 XXX - -BO_ 1601 XXX_33: 8 XXX - -BO_ 1633 XXX_34: 8 XXX - -BO_TX_BU_ 228 : NEO,ADAS; -BO_TX_BU_ 506 : NEO,ADAS; -BO_TX_BU_ 780 : NEO,ADAS; -BO_TX_BU_ 829 : NEO,ADAS; -BO_TX_BU_ 862 : NEO,ADAS; -BO_TX_BU_ 927 : NEO,ADAS; - - -CM_ SG_ 401 GEAR "10 = reverse, 11 = transition"; -CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping"; -CM_ SG_ 780 CRUISE_SPEED "255 = no speed"; -CM_ SG_ 804 CRUISE_SPEED_PCM "255 = no speed"; -CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc..."; -VAL_ 399 STEER_STATUS 5 "fault" 4 "no_torque_alert_2" 2 "no_torque_alert_1" 0 "normal" ; -VAL_ 401 GEAR_SHIFTER 32 "L" 16 "S" 8 "D" 4 "N" 2 "R" 1 "P" ; -VAL_ 450 EPB_STATE 3 "engaged" 2 "disengaging" 1 "engaging" 0 "disengaged" ; -VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ; -VAL_ 662 CRUISE_BUTTONS 7 "tbd" 6 "tbd" 5 "tbd" 4 "accel_res" 3 "decel_set" 2 "cancel" 1 "main" 0 "none" ; -VAL_ 662 CRUISE_SETTING 3 "distance_adj" 2 "tbd" 1 "lkas_button" 0 "none" ; -VAL_ 780 CRUISE_SPEED 255 "no_speed" 252 "stopped" ; -VAL_ 780 HUD_LEAD 3 "acc_off" 2 "solid_car" 1 "dashed_car" 0 "no_car" ; -VAL_ 806 CMBS_BUTTON 3 "pressed" 0 "released" ; -VAL_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ; -VAL_ 927 ACC_ALERTS 29 "esp_active_acc_canceled" 10 "b_pedal_applied" 9 "speed_too_low" 8 "speed_too_high" 7 "p_brake_applied" 6 "gear_no_d" 5 "seatbelt" 4 "too_steep_downhill" 3 "too_steep_uphill" 2 "too_close" 1 "no_vehicle_ahead" ; - diff --git a/dbcs/honda_crv_2017_can.dbc b/dbcs/honda_crv_2017_can.dbc deleted file mode 100644 index 16d507f954..0000000000 --- a/dbcs/honda_crv_2017_can.dbc +++ /dev/null @@ -1,303 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: EBCM NEO CAM RADAR PCM EPS VSA SCM BDY XXX EPB - -BO_ 57 XXX_1: 3 XXX - -BO_ 148 XXX_2: 8 XXX - -BO_ 228 STEERING_CONTROL: 5 NEO - SG_ STEER_TORQUE : 7|16@0- (1,0) [-3840|3840] "" EPS - SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS - SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS - SG_ SET_ME_X00_2 : 31|8@0+ (1,0) [0|0] "" EPS - SG_ CHECKSUM : 39|4@0+ (1,0) [0|15] "" EPS - SG_ COUNTER : 33|2@0+ (1,0) [0|3] "" EPS - -BO_ 232 BRAKE_COMMAND: 7 NEO - SG_ CAR_SPEED : 3|10@0- (1,0) [1,0] - SG_ XXX : 8|1@0- (1,0) [1,0] - SG_ COMPUTER_BRAKE_REQUEST : 29|1@0+ (1,0) [0|0] "" EBCM - SG_ COMPUTER_BRAKE : 39|16@0+ (1,0) [0|0] "" EBCM - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" BDY - -BO_ 304 GAS_PEDAL: 8 PCM - SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" NEO - SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 330 STEERING_SENSORS: 8 EPS - SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ STEER_ANGLE_RATE : 23|16@0- (-1,0) [-3000|3000] "deg/s" NEO - SG_ STEER_ANGLE_OFFSET : 39|8@0- (-0.1,0) [-128|127] "deg" NEO - SG_ STEER_WHEEL_ANGLE : 47|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 340 XXX_4: 8 XXX - -BO_ 344 POWERTRAIN_DATA: 8 PCM - SG_ TRANSMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ TRANSMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 380 POWERTRAIN_DATA2: 8 PCM - SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO - SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO - SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 399 STEER_STATUS: 7 EPS - SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" NEO - SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 401 GEARBOX: 8 PCM - SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" NEO - SG_ GEAR : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 420 VSA_STATUS: 8 VSA - SG_ USER_BRAKE : 7|16@0+ (0.015625,-103) [0|1000] "" NEO - SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 427 XXX_5: 3 VSA - -BO_ 432 STANDSTILL: 7 VSA - SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 441 XXX_6: 5 VSA - -BO_ 446 XXX_7: 3 VSA - -BO_ 450 XXX_8: 8 EPB - SG_ EPB_ACTIVE : 3|1@0+ (1,0) [0|1] "" NEO - SG_ EPB_STATE : 29|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 464 WHEEL_SPEEDS: 8 VSA - SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 474 XXX_9: 8 XXX - -BO_ 477 XXX_10: 8 XXX - -BO_ 479 COMPUTER_GAS: 8 NEO - SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-328) [0|1] "" PCM - SG_ COMPUTER_GAS_ENABLED : 23|3@0+ (1,0) [0|5] "" PCM - SG_ XXX : 20|1@0+ (1,0) [0|1] "" XXX - SG_ XXX : 16|1@0+ (1,0) [0|1] "" XXX - SG_ XXX : 19|1@0+ (1,0) [0|1] "" XXX - SG_ XXX : 31|8@0+ (1,0) [0|255] "" XXX - SG_ XXX : 39|3@0+ (1,0) [0|1] "" XXX - SG_ XXX : 62|1@0+ (1,0) [0|1] "" XXX - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 490 XXX_12: 8 XXX - -BO_ 495 XXX_13: 8 XXX - -BO_ 545 XXX_14: 6 SCM - SG_ ECON_ON : 23|1@0+ (1,0) [0|1] "" XXX - SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" BDY - -BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA - SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO - SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO - SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO - -BO_ 662 CRUISE_BUTTONS: 4 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ CRUISE_SETTING : 3|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 31|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 29|4@0+ (1,0) [0|3] "" BDY - -BO_ 773 SEATBELT_STATUS: 7 BDY - SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO - SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" NEO - -BO_ 777 ACC_HUD: 8 PCM - SG_ CAR_SPEED : 7|16@0+ (0.002763889,0) [0|100] "m/s" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 780 ACC_HUD_2: 8 RADAR - SG_ ACC_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY - SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY - SG_ RDMS_STATE : 28|2 @0+ (1,0) [0|1] "" BDY - SG_ CMBS_OFF : 35|1@0+ (1,0) [0|1] "" BDY - SG_ CMBS_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY - SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 800 XXX_16: 8 XXX - -BO_ 804 TRIP: 8 PCM - SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO - SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO - SG_ CAR_SPEED : 39|8@0+ (1,0) [0|255] "" NEO - SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO - SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 806 SCM_FEEDBACK: 8 SCM - SG_ CMBS_BUTTON : 22|2@0+ (1,0) [0|3] "" NEO - SG_ MAIN_ON : 28|1@0+ (1,0) [0|1] "" NEO - SG_ RIGHT_BLINKER : 27|1@0+ (1,0) [0|1] "" NEO - SG_ LEFT_BLINKER : 26|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 808 XXX_17: 8 XXX - -BO_ 814 XXX_18: 4 XXX - -BO_ 829 LKAS_HUD: 5 RADAR - SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY - SG_ LKAS_ON : 0|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY - SG_ LANE_DEPARTURE : 8|1@0+ (1,0) [0|1] "" BDY - SG_ SOLID_LANE_LINES : 10|1@0+ (1,0) [0|1] "" BDY - SG_ LANE_LINES_ON : 14|1@0+ (1,0) [0|1] "" BDY - SG_ RDM_ON : 20|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQ_CHIME : 17|2@0+ (1,0) [0|1] "" BDY - SG_ RDMS_STATE : 28|2 @0+ (1,0) [0|1] "" BDY - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" BDY - -BO_ 862 CAMERA_MESSAGES: 8 CAM - SG_ HEARTBEAT : 7|56@0+ (1,0) [0|127] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 884 XXX_20: 8 XXX - -BO_ 891 XXX_21: 8 XXX - -BO_ 927 RADAR_HUD: 8 RADAR - SG_ ZEROS_BOH : 7|10@0+ (1,0) [0|127] "" BDY - SG_ XXX : 13|1@0+ (1,0) [0|1] "" BDY - SG_ CMBS_OFF : 12|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|1] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" BDY - -BO_ 929 XXX_23: 8 XXX - -BO_ 985 XXX_24: 3 XXX - -BO_ 1024 XXX_25: 5 XXX - -BO_ 1027 XXX_26: 5 XXX - -BO_ 1029 DOORS_STATUS: 8 BDY - SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" NEO - -BO_ 1036 XXX_27: 8 XXX - -BO_ 1039 XXX_28: 8 XXX - -BO_ 1108 XXX_29: 8 XXX - -BO_ 1302 XXX_30: 8 XXX - -BO_ 1322 XXX_31: 5 XXX - -BO_ 1361 XXX_32: 5 XXX - -BO_ 1365 XXX_33: 5 XXX - -BO_ 1424 XXX_34: 5 XXX - -BO_ 1600 XXX_35: 5 XXX - -BO_ 1601 XXX_36: 8 XXX - -BO_ 1618 XXX_37: 5 XXX - -BO_ 1633 XXX_38: 8 XXX - -BO_ 1670 XXX_39: 8 XXX - -BO_TX_BU_ 0xE4 : NEO,RADAR; -BO_TX_BY_ 0xE8 : NEO,RADAR; -BO_TX_BU_ 0x1DF : NEO,RADAR; -BO_TX_BU_ 0x30C : NEO,RADAR; -BO_TX_BU_ 0x33D : NEO,RADAR; -BO_TX_BU_ 0x35E : NEO,CAM; -BO_TX_BU_ 0x39F : NEO,RADAR; diff --git a/dbcs/honda_crv_touring_2016_can.dbc b/dbcs/honda_crv_touring_2016_can.dbc deleted file mode 100644 index f06d78aca0..0000000000 --- a/dbcs/honda_crv_touring_2016_can.dbc +++ /dev/null @@ -1,312 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: INTERCEPTOR EBCM NEO CAM PCM EPS VSA SCM BDY XXX EPB - - -BO_ 57 XXX_1: 3 XXX - -BO_ 145 XXX_2: 8 XXX - -BO_ 316 XXX_3: 8 PCM - -BO_ 340 XXX_4: 8 PCM - -BO_ 342 STEERING_SENSORS: 6 EPS - SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" NEO - SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" NEO - SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 43|4@0+ (1,0) [0|15] "" NEO - -BO_ 344 POWERTRAIN_DATA: 8 PCM - SG_ XMISSION_SPEED : 7|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ XMISSION_SPEED2 : 39|16@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 380 POWERTRAIN_DATA2: 8 PCM - SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" NEO - SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" NEO - SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" NEO - SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_LIGHTS_ON : 32|1@0+ (1,0) [0|1] "rpm" NEO - SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "rpm" NEO - SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" NEO - SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "rpm" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 398 XXX_5: 3 PCM - -BO_ 399 STEER_STATUS: 6 EPS - SG_ STEER_TORQUE_SENSOR : 7|12@0- (1,0) [-2047.5|2047.5] "tbd" NEO - SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" NEO - SG_ STEER_CONTROL_ACTIVE : 36|1@0+ (1,0) [0|1] "" NEO - SG_ STEER_STATUS : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|15] "" NEO - -BO_ 401 GEARBOX: 8 PCM - SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" NEO - SG_ GEAR : 35|4@0+ (1,0) [0|15] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 404 STEERING_CONTROL: 4 NEO - SG_ STEER_TORQUE : 7|12@0- (1,0) [-768|768] "" EPS - SG_ SET_ME_X00 : 11|4@0+ (1,0) [0|15] "" EPS - SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS - SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS - SG_ CHECKSUM : 29|2@0+ (1,0) [0|3] "" EPS - SG_ COUNTER : 27|4@0+ (1,0) [0|15] "" EPS - -BO_ 420 VSA_STATUS: 8 VSA - SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" NEO - SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 422 SCM_BUTTONS: 8 SCM - SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" NEO - SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" NEO - SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" NEO - SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 426 XXX_6: 8 VSA - -BO_ 432 STANDSTILL: 7 VSA - SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" NEO - SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|15] "" NEO - -BO_ 464 WHEEL_SPEEDS: 8 VSA - SG_ WHEEL_SPEED_FL : 7|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_FR : 8|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RL : 25|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ WHEEL_SPEED_RR : 42|15@0+ (0.002759506,0) [0|70] "m/s" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 474 XXX_7: 5 VSA - -BO_ 476 XXX_8: 5 XXX - -BO_ 487 XXX_9: 4 VSA - SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" NEO - SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" NEO - SG_ CHECKSUM : 29|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 27|4@0+ (1,0) [0|15] "" NEO - -BO_ 490 VEHICLE_DYNAMICS: 8 VSA - SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 493 XXX_10: 3 VSA - -BO_ 506 BRAKE_COMMAND: 8 NEO - SG_ COMPUTER_BRAKE : 7|10@0+ (0.003906248,0) [0|1] "" EBCM - SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_OVERRIDE : 20|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_BOH3 : 19|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_FAULT_CMD : 18|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_CANCEL_CMD : 17|1@0+ (1,0) [0|1] "" EBCM - SG_ COMPUTER_BRAKE_REQUEST_2 : 16|1@0+ (1,0) [0|1] "" EBCM - SG_ SET_ME_0X80 : 31|8@0+ (1,0) [0|1] "" EBCM - SG_ BRAKE_LIGHTS : 39|1@0+ (1,0) [0|1] "" EBCM - SG_ CRUISE_STATES : 38|7@0+ (1,0) [0|1] "" EBCM - SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM - SG_ ZEROS_BOH6 : 44|1@0+ (1,0) [0|1] "" EBCM - SG_ FCW : 43|1@0+ (1,0) [0|3] "" EBCM - SG_ ZEROS_BOH3 : 42|2@0+ (1,0) [0|0] "" EBCM - SG_ FCW2 : 40|1@0+ (1,0) [0|0] "" EBCM - SG_ ZEROS_BOH4 : 55|8@0+ (1,0) [0|0] "" EBCM - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EBCM - -BO_ 507 XXX_11: 1 NEO - -BO_ 542 XXX_12: 7 XXX - -BO_ 545 XXX_13: 4 XXX - -BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA - SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" NEO - SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" NEO - SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" NEO - SG_ SET_TO_X55 : 47|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 660 SCM_COMMANDS: 8 SCM - SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" NEO - SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" NEO - SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 661 XXX_14: 4 XXX - -BO_ 773 SEATBELT_STATUS: 7 BDY - SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" NEO - SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 51|4@0+ (1,0) [0|15] "" NEO - -BO_ 777 XXX_15: 8 XXX - -BO_ 780 ACC_HUD: 8 CAM - SG_ PCM_SPEED : 7|16@0+ (0.002759506,0) [0|100] "m/s" BDY - SG_ PCM_GAS : 23|7@0+ (1,0) [0|127] "" BDY - SG_ ZEROS_BOH : 16|1@0+ (1,0) [0|255] "" BDY - SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY - SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY - SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_OFF : 36|1@0+ (1,0) [0|1] "" BDY - SG_ BOH_2 : 35|1@0+ (1,0) [0|1] "" BDY - SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY - SG_ RADAR_OBSTRUCTED : 33|1@0+ (1,0) [0|1] "" BDY - SG_ ENABLE_MINI_CAR : 32|1@0+ (1,0) [0|1] "" BDY - SG_ HUD_DISTANCE : 47|2@0+ (1,0) [0|3] "" BDY - SG_ HUD_LEAD : 45|2@0+ (1,0) [0|3] "" BDY - SG_ BOH_3 : 43|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_4 : 42|1@0+ (1,0) [0|3] "" BDY - SG_ BOH_5 : 41|1@0+ (1,0) [0|3] "" BDY - SG_ CRUISE_CONTROL_LABEL : 40|1@0+ (1,0) [0|3] "" BDY - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" BDY - -BO_ 800 XXX_16: 8 XXX - -BO_ 804 CRUISE: 8 PCM - SG_ ENGINE_TEMPERATURE : 7|8@0+ (1,0) [0|255] "" NEO - SG_ BOH : 15|8@0+ (1,0) [0|255] "" NEO - SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" NEO - SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" NEO - SG_ BOH2 : 47|8@0- (1,0) [0|255] "" NEO - SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 808 XXX_17: 8 XXX - -BO_ 829 LKAS_HUD_2: 5 CAM - SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY - SG_ BOH : 6|7@0+ (1,0) [0|127] "" BDY - SG_ DASHED_LANES : 14|1@0+ (1,0) [0|1] "" BDY - SG_ DTC : 13|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_PROBLEM : 12|1@0+ (1,0) [0|1] "" BDY - SG_ LKAS_OFF : 11|1@0+ (1,0) [0|1] "" BDY - SG_ SOLID_LANES : 10|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_RIGHT : 9|1@0+ (1,0) [0|1] "" BDY - SG_ STEERING_REQUIRED : 8|1@0+ (1,0) [0|1] "" BDY - SG_ BOH : 23|2@0+ (1,0) [0|4] "" BDY - SG_ LDW_PROBLEM : 21|1@0+ (1,0) [0|1] "" BDY - SG_ BEEP : 17|2@0+ (1,0) [0|1] "" BDY - SG_ LDW_ON : 28|1@0+ (1,0) [0|1] "" BDY - SG_ LDW_OFF : 27|1@0+ (1,0) [0|1] "" BDY - SG_ CLEAN_WINDSHIELD : 26|1@0+ (1,0) [0|1] "" BDY - SG_ SET_ME_X48 : 31|8@0+ (1,0) [0|255] "" BDY - SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" BDY - SG_ CHECKSUM : 35|4@0+ (1,0) [0|15] "" BDY - -BO_ 882 XXX_18: 2 XXX - -BO_ 884 XXX_19: 7 XXX - -BO_ 888 XXX_20: 8 XXX - -BO_ 891 XXX_21: 8 XXX - -BO_ 892 XXX_22: 8 XXX - -BO_ 923 XXX_23: 2 XXX - -BO_ 929 XXX_24: 8 XXX - -BO_ 983 XXX_25: 8 XXX - -BO_ 985 XXX_26: 3 XXX - -BO_ 1024 XXX_27: 5 XXX - -BO_ 1027 XXX_28: 5 XXX - -BO_ 1029 DOORS_STATUS: 8 BDY - SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" NEO - SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" NEO - SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" NEO - SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" NEO - -BO_ 1033 XXX_29: 5 XXX - -BO_ 1036 XXX_30: 8 XXX - -BO_ 1039 XXX_31: 8 XXX - -BO_ 1057 XXX_32: 5 XXX - -BO_ 1064 XXX_32: 7 XXX - -BO_ 1108 XXX_33: 8 XXX - -BO_ 1125 XXX_34: 8 XXX - -BO_ 1296 XXX_35: 8 XXX - -BO_ 1365 XXX_36: 5 XXX - -BO_ 1424 XXX_37: 5 XXX - -BO_ 1600 XXX_38: 5 XXX - -BO_ 1601 XXX_39: 8 XXX - -BO_TX_BU_ 399 : NEO,CAM; -BO_TX_BU_ 506 : NEO,CAM; -BO_TX_BU_ 780 : NEO,CAM; -BO_TX_BU_ 829 : NEO,CAM; diff --git a/dbcs/tesla_can.dbc b/dbcs/tesla_can.dbc deleted file mode 100644 index 84e8d7b24d..0000000000 --- a/dbcs/tesla_can.dbc +++ /dev/null @@ -1,405 +0,0 @@ -VERSION "" - - -NS_ : - NS_DESC_ - CM_ - BA_DEF_ - BA_ - VAL_ - CAT_DEF_ - CAT_ - FILTER - BA_DEF_DEF_ - EV_DATA_ - ENVVAR_DATA_ - SGTYPE_ - SGTYPE_VAL_ - BA_DEF_SGTYPE_ - BA_SGTYPE_ - SIG_TYPE_REF_ - VAL_TABLE_ - SIG_GROUP_ - SIG_VALTYPE_ - SIGTYPE_VALTYPE_ - BO_TX_BU_ - BA_DEF_REL_ - BA_REL_ - BA_DEF_DEF_REL_ - BU_SG_REL_ - BU_EV_REL_ - BU_BO_REL_ - SG_MUL_VAL_ - -BS_: - -BU_: - NEO - MCU - GTW - EPAS - DI - ESP - SBW - STW - -VAL_TABLE_ StW_AnglHP_Spd 16383 "SNA" ; -VAL_TABLE_ DI_aebFaultReason 15 "DI_AEB_FAULT_DAS_REQ_DI_UNAVAIL" 14 "DI_AEB_FAULT_ACCEL_REQ_INVALID" 13 "DI_AEB_FAULT_MIN_TIME_BTWN_EVENTS" 12 "DI_AEB_FAULT_ESP_MIA" 11 "DI_AEB_FAULT_ESP_FAULT" 10 "DI_AEB_FAULT_EPB_NOT_PARKED" 9 "DI_AEB_FAULT_ACCEL_OUT_OF_BOUNDS" 8 "DI_AEB_FAULT_PM_REQUEST" 7 "DI_AEB_FAULT_VEL_EST_ABNORMAL" 6 "DI_AEB_FAULT_DAS_SNA" 5 "DI_AEB_FAULT_DAS_CONTROL_MIA" 4 "DI_AEB_FAULT_SPEED_DELTA" 3 "DI_AEB_FAULT_EBR_FAULT" 2 "DI_AEB_FAULT_PM_MIA" 1 "DI_AEB_FAULT_EPB_MIA" 0 "DI_AEB_FAULT_NONE" ; -VAL_TABLE_ DI_aebLockState 3 "AEB_LOCK_STATE_SNA" 2 "AEB_LOCK_STATE_UNUSED" 1 "AEB_LOCK_STATE_UNLOCKED" 0 "AEB_LOCK_STATE_LOCKED" ; -VAL_TABLE_ DI_aebSmState 7 "DI_AEB_STATE_FAULT" 6 "DI_AEB_STATE_EXIT" 5 "DI_AEB_STATE_STANDSTILL" 4 "DI_AEB_STATE_STOPPING" 3 "DI_AEB_STATE_ENABLE" 2 "DI_AEB_STATE_ENABLE_INIT" 1 "DI_AEB_STATE_STANDBY" 0 "DI_AEB_STATE_UNAVAILABLE" ; -VAL_TABLE_ DI_aebState 7 "AEB_CAN_STATE_SNA" 4 "AEB_CAN_STATE_FAULT" 3 "AEB_CAN_STATE_STANDSTILL" 2 "AEB_CAN_STATE_ENABLED" 1 "AEB_CAN_STATE_STANDBY" 0 "AEB_CAN_STATE_UNAVAILABLE" ; -VAL_TABLE_ DI_epbInterfaceReady 1 "EPB_INTERFACE_READY" 0 "EPB_INTERFACE_NOT_READY" ; -VAL_TABLE_ DI_gear 7 "DI_GEAR_SNA" 4 "DI_GEAR_D" 3 "DI_GEAR_N" 2 "DI_GEAR_R" 1 "DI_GEAR_P" 0 "DI_GEAR_INVALID" ; -VAL_TABLE_ DI_gpoReason 8 "DI_GPO_NUMREASONS" 7 "DI_GPO_CAPACITOR_OVERTEMP" 6 "DI_GPO_NOT_ENOUGH_12V" 5 "DI_GPO_NO_BATTERY_POWER" 4 "DI_GPO_AMBIENT_OVERTEMP" 3 "DI_GPO_FLUID_DELTAT" 2 "DI_GPO_STATOR_OVERTEMP" 1 "DI_GPO_HEATSINK_OVERTEMP" 0 "DI_GPO_OUTLET_OVERTEMP" ; -VAL_TABLE_ DI_immobilizerCondition 1 "DI_IMM_CONDITION_LEARNED" 0 "DI_IMM_CONDITION_VIRGIN_SNA" ; -VAL_TABLE_ DI_immobilizerState 7 "DI_IMM_STATE_FAULT" 6 "DI_IMM_STATE_FAULTRETRY" 5 "DI_IMM_STATE_RESET" 4 "DI_IMM_STATE_LEARN" 3 "DI_IMM_STATE_DISARMED" 2 "DI_IMM_STATE_AUTHENTICATING" 1 "DI_IMM_STATE_REQUEST" 0 "DI_IMM_STATE_INIT_SNA" ; -VAL_TABLE_ DI_limpReason 24 "DI_LIMP_NUMREASONS" 23 "DI_LIMP_CAPACITOR_OVERTEMP" 22 "DI_LIMP_GTW_MIA" 21 "DI_LIMP_TRQCMD_VALIDITY_UNKNOWN" 20 "DI_LIMP_DI_MIA" 19 "DI_LIMP_CONFIG_MISMATCH" 18 "DI_LIMP_HEATSINK_TEMP" 17 "DI_LIMP_PMREQUEST" 16 "DI_LIMP_PMHEARTBEAT" 15 "DI_LIMP_TRQ_CROSS_CHECK" 14 "DI_LIMP_EXTERNAL_COMMAND" 13 "DI_LIMP_WRONG_CS_CALIBRATION" 12 "DI_LIMP_STATOR_TEMP" 11 "DI_LIMP_DELTAT_TOO_NEGATIVE" 10 "DI_LIMP_DELTAT_TOO_POSITIVE" 9 "DI_LIMP_AMBIENT_TEMP" 8 "DI_LIMP_OUTLET_TEMP" 7 "DI_LIMP_LOW_FLOW" 6 "DI_LIMP_BMS_MIA" 5 "DI_LIMP_12V_SUPPLY_UNDERVOLTAGE" 4 "DI_LIMP_NO_FLUID" 3 "DI_LIMP_NO_FUNC_HEATSINK_SENSOR" 2 "DI_LIMP_NO_FUNC_STATORT_SENSOR" 1 "DI_LIMP_BUSV_SENSOR_IRRATIONAL" 0 "DI_LIMP_PHASE_IMBALANCE" ; -VAL_TABLE_ DI_mode 2 "DI_MODE_DYNO" 1 "DI_MODE_DRIVE" 0 "DI_MODE_UNDEF" ; -VAL_TABLE_ DI_motorType 14 "DI_MOTOR_F2AE" 13 "DI_MOTOR_F2AD" 12 "DI_MOTOR_F2AC" 11 "DI_MOTOR_F2AB" 10 "DI_MOTOR_F1AC" 9 "DI_MOTOR_SSR1A" 8 "DI_MOTOR_F1A" 7 "DI_MOTOR_M7M6" 6 "DI_MOTOR_M8A" 5 "DI_MOTOR_M7M5" 4 "DI_MOTOR_M7M4" 3 "DI_MOTOR_M7M3" 2 "DI_MOTOR_ROADSTER_SPORT" 1 "DI_MOTOR_ROADSTER_BASE" 0 "DI_MOTOR_SNA" ; -VAL_TABLE_ DI_speedUnits 1 "DI_SPEED_KPH" 0 "DI_SPEED_MPH" ; -VAL_TABLE_ DI_state 4 "DI_STATE_ENABLE" 3 "DI_STATE_FAULT" 2 "DI_STATE_CLEAR_FAULT" 1 "DI_STATE_STANDBY" 0 "DI_STATE_PREAUTH" ; -VAL_TABLE_ DI_velocityEstimatorState 4 "VE_STATE_BACKUP_MOTOR" 3 "VE_STATE_BACKUP_WHEELS_B" 2 "VE_STATE_BACKUP_WHEELS_A" 1 "VE_STATE_WHEELS_NORMAL" 0 "VE_STATE_NOT_INITIALIZED" ; - - -BO_ 1160 DAS_steeringControl: 4 NEO - SG_ DAS_steeringControlType : 23|2@0+ (1,0) [0|0] "" EPAS - SG_ DAS_steeringControlChecksum : 31|8@0+ (1,0) [0|0] "" EPAS - SG_ DAS_steeringControlCounter : 19|4@0+ (1,0) [0|0] "" EPAS - SG_ DAS_steeringAngleRequest : 6|15@0+ (0.1,-1638.35) [-1638.35|1638.35] "deg" EPAS - SG_ DAS_steeringHapticRequest : 7|1@0+ (1,0) [0|0] "" EPAS - -BO_ 257 GTW_epasControl: 3 NEO - SG_ GTW_epasControlChecksum : 16|8@1+ (1,0) [0|255] "" NEO - SG_ GTW_epasControlCounter : 12|4@1+ (1,0) [0|15] "" NEO - SG_ GTW_epasControlType : 8|2@1+ (1,0) [4|-1] "" NEO - SG_ GTW_epasEmergencyOn : 0|1@1+ (1,0) [2|-1] "" NEO - SG_ GTW_epasLDWEnabled : 11|1@1+ (1,0) [2|-1] "" NEO - SG_ GTW_epasPowerMode : 1|4@1+ (1,0) [4|14] "" NEO - SG_ GTW_epasTuneRequest : 5|3@1+ (1,0) [8|-1] "" NEO - -BO_ 880 EPAS_sysStatus: 8 EPAS - SG_ EPAS_currentTuneMode : 0|4@1+ (1,0) [8|15] "" NEO - SG_ EPAS_eacErrorCode : 16|4@1+ (1,0) [16|-1] "" NEO - SG_ EPAS_eacStatus : 48|3@1+ (1,0) [5|7] "" NEO - SG_ EPAS_handsOnLevel : 32|2@1+ (1,0) [4|-1] "" NEO - SG_ EPAS_internalSAS : 37|14@0+ (0.10,-819.200010) [0|0] "deg" NEO - SG_ EPAS_steeringFault : 5|1@1+ (1,0) [2|-1] "" NEO - SG_ EPAS_steeringRackForce : 1|10@0+ (50,-25575) [0|0] "N" NEO - SG_ EPAS_steeringReduced : 4|1@1+ (1,0) [2|-1] "" NEO - SG_ EPAS_sysStatusChecksum : 56|8@1+ (1,0) [0|255] "" NEO - SG_ EPAS_sysStatusCounter : 52|4@1+ (1,0) [0|15] "" NEO - SG_ EPAS_torsionBarTorque : 19|12@0+ (0.010,-20.50) [0|0] "Nm" NEO - -BO_ 3 STW_ANGL_STAT: 8 STW - SG_ CRC_STW_ANGL_STAT : 56|8@1+ (1,0) [0|255] "" NEO - SG_ MC_STW_ANGL_STAT : 52|4@1+ (1,0) [0|15] "" NEO - SG_ StW_Angl : 5|14@0+ (0.50,-2048) [0|0] "deg" NEO - SG_ StW_AnglSens_Id : 36|2@1+ (1,0) [3|3] "" NEO - SG_ StW_AnglSens_Stat : 38|2@1+ (1,0) [4|-1] "" NEO - SG_ StW_AnglSpd : 21|14@0+ (0.50,-2048) [0|0] "/s" NEO - -BO_ 14 STW_ANGLHP_STAT: 8 GTW - SG_ StW_AnglHP : 5|14@0+ (0.1,-819.2) [-819.2|819] "deg" NEO - SG_ StW_AnglHP_Spd : 21|14@0+ (0.5,-4096) [-4096|4095.5] "deg/s" NEO - SG_ StW_AnglHP_Sens_Stat : 33|2@0+ (1,0) [0|0] "" NEO - SG_ StW_AnglHP_Sens_Id : 35|2@0+ (1,0) [0|0] "" NEO - SG_ MC_STW_ANGLHP_STAT : 55|4@0+ (1,0) [0|15] "" NEO - SG_ CRC_STW_ANGLHP_STAT : 63|8@0+ (1,0) [0|0] "" NEO - -BO_ 264 DI_torque1: 8 DI - SG_ DI_torqueDriver : 0|13@1- (0.25,0) [-750|750] "Nm" NEO - SG_ DI_torque1Counter : 13|3@1+ (1,0) [0|0] "" NEO - SG_ DI_torqueMotor : 16|13@1- (0.25,0) [-750|750] "Nm" NEO - SG_ DI_soptState : 29|3@1+ (1,0) [0|0] "" NEO - SG_ DI_motorRPM : 32|16@1- (1,0) [-17000|17000] "RPM" NEO - SG_ DI_pedalPos : 48|8@1+ (0.4,0) [0|100] "%" NEO - SG_ DI_torque1Checksum : 56|8@1+ (1,0) [0|0] "" NEO - -BO_ 280 DI_torque2: 6 DI - SG_ DI_torqueEstimate : 0|12@1- (0.5,0) [-750|750] "Nm" NEO - SG_ DI_gear : 12|3@1+ (1,0) [0|0] "" NEO - SG_ DI_brakePedal : 15|1@1+ (1,0) [0|0] "" NEO - SG_ DI_vehicleSpeed : 16|12@1+ (0.05,-25) [-25|179.75] "MPH" NEO - SG_ DI_gearRequest : 28|3@1+ (1,0) [0|0] "" NEO - SG_ DI_torqueInterfaceFailure : 31|1@1+ (1,0) [0|0] "" NEO - SG_ DI_torque2Counter : 32|4@1+ (1,0) [0|0] "" NEO - SG_ DI_brakePedalState : 36|2@1+ (1,0) [0|0] "" NEO - SG_ DI_epbParkRequest : 38|1@1+ (1,0) [0|0] "" NEO - SG_ DI_epbInterfaceReady : 39|1@1+ (1,0) [0|0] "" NEO - SG_ DI_torque2Checksum : 40|8@1+ (1,0) [0|0] "" NEO - -BO_ 309 ESP_135h: 5 ESP - SG_ ESP_135hChecksum : 16|8@1+ (1,0) [0|255] "" NEO - SG_ ESP_135hCounter : 12|4@1+ (1,0) [0|15] "" NEO - SG_ ESP_absBrakeEvent : 5|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_brakeDiscWipingActive : 3|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_brakeLamp : 4|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_espFaultLamp : 1|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_espLampFlash : 0|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_hillStartAssistActive : 6|2@1+ (1,0) [4|-1] "" NEO - SG_ ESP_messagePumpService : 31|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_messagePumpFailure : 30|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_messageEBDFailure : 29|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_absFaultLamp : 28|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_tcDisabledByFault : 27|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_messageDynoModeActive : 26|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_hydraulicBoostEnabled : 25|1@1+ (1,0) [0|1] "" NEO - SG_ ESP_espOffLamp : 24|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_stabilityControlSts : 9|3@1+ (1,0) [6|7] "" NEO - SG_ ESP_tcLampFlash : 2|1@1+ (1,0) [2|-1] "" NEO - SG_ ESP_tcOffLamp : 8|1@1+ (1,0) [0|1] "" NEO - -BO_ 792 GTW_carState: 8 GTW - SG_ BOOT_STATE : 40|2@1+ (1,0) [4|-1] "" NEO - SG_ CERRD : 0|1@1+ (1,0) [2|-1] "" NEO - SG_ DAY : 35|5@1+ (1,0) [2|31] "" NEO - SG_ DOOR_STATE_FL : 10|2@1+ (1,0) [4|-1] "" NEO - SG_ DOOR_STATE_FR : 8|2@1+ (1,0) [4|-1] "" NEO - SG_ DOOR_STATE_FrontTrunk : 52|2@1+ (1,0) [4|-1] "" NEO - SG_ DOOR_STATE_RL : 16|2@1+ (1,0) [4|-1] "" NEO - SG_ DOOR_STATE_RR : 25|2@1+ (1,0) [4|-1] "" NEO - SG_ GTW_updateInProgress : 54|2@1+ (1,0) [4|-1] "" NEO - SG_ Hour : 27|5@1+ (1,0) [0|29] "h" NEO - SG_ MCU_factoryMode : 51|1@1+ (1,0) [2|-1] "" NEO - SG_ MCU_transportModeOn : 50|1@1+ (1,0) [1|1] "" NEO - SG_ MINUTE : 42|6@1+ (1,0) [0|61] "min" NEO - SG_ MONTH : 12|4@1+ (1,0) [0|14] "Month" NEO - SG_ SECOND : 18|6@1+ (1,0) [0|61] "s" NEO - SG_ YEAR : 1|7@1+ (1,2000) [2000|2125] "Year" NEO - -BO_ 872 DI_state: 8 DI - SG_ DI_aebState : 44|3@1+ (1,0) [5|6] "" NEO - SG_ DI_analogSpeed : 20|12@1+ (0.10,0) [0|409.40] "speed" NEO - SG_ DI_cruiseSet : 39|9@1+ (0.50,0) [0|255.50] "speed" NEO - SG_ DI_cruiseState : 8|4@1+ (1,0) [8|15] "" NEO - SG_ DI_digitalSpeed : 48|8@1+ (1,0) [0|254] "" NEO - SG_ DI_driveReady : 0|1@1+ (1,0) [0|1] "" NEO - SG_ DI_immobilizerState : 25|3@1+ (1,0) [7|7] "" NEO - SG_ DI_proximity : 1|1@1+ (1,0) [0|1] "" NEO - SG_ DI_regenLight : 15|1@1+ (1,0) [0|1] "" NEO - SG_ DI_speedUnits : 24|1@1+ (1,0) [2|-1] "" NEO - SG_ DI_state : 12|3@1+ (1,0) [5|7] "" NEO - SG_ DI_stateChecksum : 56|8@1+ (1,0) [0|255] "" NEO - SG_ DI_stateCounter : 40|4@1+ (1,0) [0|15] "" NEO - SG_ DI_systemState : 5|3@1+ (1,0) [5|7] "" NEO - SG_ DI_vehicleHoldState : 2|3@1+ (1,0) [8|-1] "" NEO - -BO_ 109 SBW_RQ_SCCM: 4 STW - SG_ StW_Sw_Stat3 : 0|3@1+ (1,0) [0|0] "" NEO - SG_ MsgTxmtId : 6|2@1+ (1,0) [0|0] "" NEO - SG_ TSL_RND_Posn_StW : 8|4@1+ (1,0) [0|0] "" NEO - SG_ TSL_P_Psd_StW : 12|2@1+ (1,0) [0|0] "" NEO - SG_ MC_SBW_RQ_SCCM : 20|4@1+ (1,0) [0|15] "" NEO - SG_ CRC_SBW_RQ_SCCM : 24|8@1+ (1,0) [0|0] "" NEO - -BO_ 69 STW_ACTN_RQ: 8 STW - SG_ SpdCtrlLvr_Stat : 0|6@1+ (1,0) [0|0] "" NEO - SG_ VSL_Enbl_Rq : 6|1@1+ (1,0) [0|0] "" NEO - SG_ SpdCtrlLvrStat_Inv : 7|1@1+ (1,0) [0|0] "" NEO - SG_ DTR_Dist_Rq : 8|8@1+ (1,0) [0|200] "" NEO - SG_ TurnIndLvr_Stat : 16|2@1+ (1,0) [0|0] "" NEO - SG_ HiBmLvr_Stat : 18|2@1+ (1,0) [0|0] "" NEO - SG_ WprWashSw_Psd : 20|2@1+ (1,0) [0|0] "" NEO - SG_ WprWash_R_Sw_Posn_V2 : 22|2@1+ (1,0) [0|0] "" NEO - SG_ StW_Lvr_Stat : 24|3@1+ (1,0) [0|0] "" NEO - SG_ StW_Cond_Flt : 27|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Cond_Psd : 28|2@1+ (1,0) [0|0] "" NEO - SG_ HrnSw_Psd : 30|2@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw00_Psd : 32|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw01_Psd : 33|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw02_Psd : 34|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw03_Psd : 35|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw04_Psd : 36|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw05_Psd : 37|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw06_Psd : 38|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw07_Psd : 39|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw08_Psd : 40|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw09_Psd : 41|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw10_Psd : 42|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw11_Psd : 43|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw12_Psd : 44|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw13_Psd : 45|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw14_Psd : 46|1@1+ (1,0) [0|0] "" NEO - SG_ StW_Sw15_Psd : 47|1@1+ (1,0) [0|0] "" NEO - SG_ WprSw6Posn : 48|3@1+ (1,0) [0|0] "" NEO - SG_ MC_STW_ACTN_RQ : 52|4@1+ (1,0) [0|15] "" NEO - SG_ CRC_STW_ACTN_RQ : 56|8@1+ (1,0) [0|0] "" NEO - -BO_ 643 BODY_R1: 8 GTW - SG_ AirTemp_Insd : 40|8@1+ (0.25,0) [0|63.5] "C" NEO - SG_ AirTemp_Outsd : 56|8@1+ (0.5,-40) [-40|86.5] "C" NEO - SG_ Bckl_Sw_RL_Stat_SAM_R : 54|2@1+ (1,0) [4|-1] "" NEO - SG_ Bckl_Sw_RM_Stat_SAM_R : 50|2@1+ (1,0) [4|-1] "" NEO - SG_ Bckl_Sw_RR_Stat_SAM_R : 52|2@1+ (1,0) [4|-1] "" NEO - SG_ DL_RLtch_Stat : 14|2@1+ (1,0) [4|-1] "" NEO - SG_ DrRLtch_FL_Stat : 6|2@1+ (1,0) [4|-1] "" NEO - SG_ DrRLtch_FR_Stat : 4|2@1+ (1,0) [4|-1] "" NEO - SG_ DrRLtch_RL_Stat : 2|2@1+ (1,0) [4|-1] "" NEO - SG_ DrRLtch_RR_Stat : 0|2@1+ (1,0) [4|-1] "" NEO - SG_ EngHd_Stat : 12|2@1+ (1,0) [4|-1] "" NEO - SG_ LoBm_On_Rq : 39|1@1+ (1,0) [0|1] "" NEO - SG_ HiBm_On : 38|1@1+ (1,0) [0|1] "" NEO - SG_ Hrn_On : 29|1@1+ (1,0) [0|1] "" NEO - SG_ IrLmp_D_Lt_Flt : 37|1@1+ (1,0) [0|1] "" NEO - SG_ IrLmp_P_Rt_Flt : 36|1@1+ (1,0) [0|1] "" NEO - SG_ LgtSens_Twlgt : 21|3@1+ (1,0) [0|7] "Steps" NEO - SG_ LgtSens_SNA : 20|1@1+ (1,0) [0|1] "" NEO - SG_ LgtSens_Tunnel : 19|1@1+ (1,0) [0|1] "" NEO - SG_ LgtSens_Flt : 18|1@1+ (1,0) [0|1] "" NEO - SG_ LgtSens_Night : 17|1@1+ (1,0) [2|-1] "" NEO - SG_ ADL_LoBm_On_Rq : 16|1@1+ (1,0) [0|1] "" NEO - SG_ LoBm_D_Lt_Flt : 35|1@1+ (1,0) [0|1] "" NEO - SG_ LoBm_P_Rt_Flt : 34|1@1+ (1,0) [0|1] "" NEO - SG_ MPkBrk_Stat : 27|1@1+ (1,0) [2|-1] "" NEO - SG_ RevGr_Engg : 32|2@1+ (1,0) [4|-1] "" NEO - SG_ StW_Cond_Stat : 48|2@1+ (1,0) [4|-1] "" NEO - SG_ Term54_Actv : 28|1@1+ (1,0) [0|1] "" NEO - SG_ Trlr_Stat : 30|2@1+ (1,0) [4|-1] "" NEO - SG_ VTA_Alm_Actv : 10|1@1+ (1,0) [0|1] "" NEO - SG_ WprOutsdPkPosn : 26|1@1+ (1,0) [0|1] "" NEO - -BO_ 760 MCU_gpsVehicleSpeed: 8 MCU - SG_ MCU_gpsHDOP : 0|8@1+ (0.10,0) [0|25.50] "1" NEO - SG_ MCU_gpsVehicleHeading : 8|16@1+ (0.007810,0) [0|511.828350] "deg" NEO - SG_ MCU_gpsVehicleSpeed : 24|16@1+ (0.003910,0) [0|256.241850] "km/hr" NEO - SG_ MCU_mppSpeedLimit : 51|5@1+ (5,0) [0|155] "kph/mph" NEO - SG_ MCU_speedLimitUnits : 41|1@1+ (1,0) [2|-1] "" NEO - SG_ MCU_userSpeedOffset : 42|6@1+ (1,-30) [-30|33] "kph/mph" NEO - SG_ MCU_userSpeedOffsetUnits : 40|1@1+ (1,0) [2|-1] "" NEO - -BO_ 904 MCU_clusterBacklightRequest: 3 NEO - SG_ MCU_clusterBacklightOn : 7|1@1+ (1,0) [0|1] "" NEO - SG_ MCU_clusterBrightnessLevel : 8|8@1+ (0.5,0) [0|127.5] "%" NEO - SG_ MCU_clusterReadyForDrive : 6|1@1+ (1,0) [2|-1] "" NEO - SG_ MCU_clusterReadyForPowerOff : 5|1@1+ (1,0) [0|1] "" NEO - -BO_ 984 MCU_locationStatus: 8 MCU - SG_ MCU_gpsAccuracy : 56|7@1+ (0.200000003,0) [0|25.200000378] "m" NEO - SG_ MCU_latitude : 0|28@1- (0.000001,0) [-134.21772759734682|134.21772659734683] "deg" NEO - SG_ MCU_longitude : 28|28@1- (0.000001,0) [-268.43545519469365|268.43545419469365] "deg" NEO - -BO_ 840 GTW_status: 8 GTW - SG_ GTW_accGoingDown : 1|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_accRailReq : 15|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_brakePressed : 6|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_driveGoingDown : 0|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_driveRailReq : 7|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_driverIsLeaving : 2|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_driverPresent : 5|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_hvacGoingDown : 12|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_hvacRailReq : 14|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_icPowerOff : 3|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_notEnough12VForDrive : 4|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_preconditionRequest : 13|1@1+ (1,0) [0|1] "" NEO - SG_ GTW_statusChecksum : 56|8@1+ (1,0) [0|255] "" NEO - SG_ GTW_statusCounter : 52|4@1+ (1,0) [0|15] "" NEO - -VAL_ 3 StW_Angl 16383 "SNA" ; -VAL_ 3 StW_AnglSens_Id 2 "MUST" 0 "PSBL" 1 "SELF" ; -VAL_ 3 StW_AnglSens_Stat 2 "ERR" 3 "ERR_INI" 1 "INI" 0 "OK" ; -VAL_ 3 StW_AnglSpd 16383 "SNA" ; -VAL_ 14 StW_AnglHP 16383 "SNA" ; -VAL_ 14 StW_AnglHP_Spd 16383 "SNA" ; -VAL_ 14 StW_AnglHP_Sens_Stat 3 "SNA" 2 "ERR" 1 "INI" 0 "OK" ; -VAL_ 14 StW_AnglHP_Sens_Id 3 "SNA" 2 "KOSTAL" 1 "DELPHI" 0 "TEST" ; -VAL_ 69 SpdCtrlLvr_Stat 32 "DN_1ST" 16 "UP_1ST" 8 "DN_2ND" 4 "UP_2ND" 2 "RWD" 1 "FWD" 0 "IDLE" ; -VAL_ 69 DTR_Dist_Rq 255 "SNA" 200 "ACC_DIST_7" 166 "ACC_DIST_6" 133 "ACC_DIST_5" 100 "ACC_DIST_4" 66 "ACC_DIST_3" 33 "ACC_DIST_2" 0 "ACC_DIST_1" ; -VAL_ 69 TurnIndLvr_Stat 3 "SNA" 2 "RIGHT" 1 "LEFT" 0 "IDLE" ; -VAL_ 69 HiBmLvr_Stat 3 "SNA" 2 "HIBM_FLSH_ON_PSD" 1 "HIBM_ON_PSD" 0 "IDLE" ; -VAL_ 69 WprWashSw_Psd 3 "SNA" 2 "WASH" 1 "TIPWIPE" 0 "NPSD" ; -VAL_ 69 WprWash_R_Sw_Posn_V2 3 "SNA" 2 "WASH" 1 "INTERVAL" 0 "OFF" ; -VAL_ 69 StW_Lvr_Stat 4 "STW_BACK" 3 "STW_FWD" 2 "STW_DOWN" 1 "STW_UP" 0 "NPSD" ; -VAL_ 69 StW_Cond_Psd 3 "SNA" 2 "DOWN" 1 "UP" 0 "NPSD" ; -VAL_ 69 HrnSw_Psd 3 "SNA" 2 "NDEF2" 1 "PSD" 0 "NPSD" ; -VAL_ 69 StW_Sw00_Psd 1 "PRESSED" 0 "NOT_PRESSED_SNA" ; -VAL_ 69 StW_Sw01_Psd 1 "PRESSED" 0 "NOT_PRESSED_SNA" ; -VAL_ 69 StW_Sw03_Psd 1 "PRESSED" 0 "NOT_PRESSED_SNA" ; -VAL_ 69 StW_Sw04_Psd 1 "PRESSED" 0 "NOT_PRESSED_SNA" ; -VAL_ 69 WprSw6Posn 7 "SNA" 6 "STAGE2" 5 "STAGE1" 4 "INTERVAL4" 3 "INTERVAL3" 2 "INTERVAL2" 1 "INTERVAL1" 0 "OFF" ;VAL_ 257 GTW_epasControlType 0 "WITHOUT" 1 "WITH_ANGLE" 3 "WITH_BOTH" 2 "WITH_TORQUE" ; -VAL_ 109 StW_Sw_Stat3 7 "SNA" 6 "NDEF6" 5 "NDEF5" 4 "NDEF4" 3 "PLUS_MINUS" 2 "MINUS" 1 "PLUS" 0 "NPSD" ; -VAL_ 109 MsgTxmtId 3 "NDEF3" 2 "NDEF2" 1 "SCCM" 0 "EWM" ; -VAL_ 109 TSL_RND_Posn_StW 15 "SNA" 8 "D" 6 "INI" 4 "N_DOWN" 2 "N_UP" 1 "R" 0 "IDLE" ; -VAL_ 109 TSL_P_Psd_StW 3 "SNA" 2 "INI" 1 "PSD" 0 "IDLE" ; -VAL_ 257 GTW_epasEmergencyOn 1 "EMERGENCY_POWER" 0 "NONE" ; -VAL_ 257 GTW_epasLDWEnabled 1 "ALLOWED" 0 "INHIBITED" ; -VAL_ 257 GTW_epasPowerMode 0 "DRIVE_OFF" 1 "DRIVE_ON" 3 "LOAD_SHED" 2 "SHUTTING_DOWN" 15 "SNA" ; -VAL_ 257 GTW_epasTuneRequest 1 "DM_COMFORT" 3 "DM_SPORT" 2 "DM_STANDARD" 0 "FAIL_SAFE_DEFAULT" 4 "RWD_COMFORT" 6 "RWD_SPORT" 5 "RWD_STANDARD" 7 "SNA" ; -VAL_ 264 DI_torqueDriver -4096 "SNA" ; -VAL_ 264 DI_torqueMotor -4096 "SNA" ; -VAL_ 264 DI_soptState 7 "SOPT_TEST_SNA" 4 "SOPT_TEST_NOT_RUN" 3 "SOPT_TEST_PASSED" 2 "SOPT_TEST_FAILED" 1 "SOPT_TEST_IN_PROGRESS" 0 "SOPT_PRE_TEST" ; -VAL_ 264 DI_motorRPM -32768 "SNA" ; -VAL_ 264 DI_pedalPos 255 "SNA" ; -VAL_ 280 DI_torqueEstimate -2048 "SNA" ; -VAL_ 280 DI_gear 7 "DI_GEAR_SNA" 4 "DI_GEAR_D" 3 "DI_GEAR_N" 2 "DI_GEAR_R" 1 "DI_GEAR_P" 0 "DI_GEAR_INVALID" ; -VAL_ 280 DI_brakePedal 1 "Applied" 0 "Not_applied" ; -VAL_ 280 DI_vehicleSpeed 4095 "SNA" ; -VAL_ 280 DI_gearRequest 7 "DI_GEAR_SNA" 4 "DI_GEAR_D" 3 "DI_GEAR_N" 2 "DI_GEAR_R" 1 "DI_GEAR_P" 0 "DI_GEAR_INVALID" ; -VAL_ 280 DI_torqueInterfaceFailure 1 "TORQUE_INTERFACE_FAILED" 0 "TORQUE_INTERFACE_NORMAL" ; -VAL_ 280 DI_brakePedalState 3 "SNA" 2 "INVALID" 1 "ON" 0 "OFF" ; -VAL_ 280 DI_epbParkRequest 1 "Park_requested" 0 "No_request" ; -VAL_ 280 DI_epbInterfaceReady 1 "EPB_INTERFACE_READY" 0 "EPB_INTERFACE_NOT_READY" ; -VAL_ 309 ESP_absBrakeEvent 1 "ACTIVE" 0 "NOT_ACTIVE" ; -VAL_ 309 ESP_brakeDiscWipingActive 1 "ACTIVE" 0 "INACTIVE" ; -VAL_ 309 ESP_brakeLamp 0 "OFF" 1 "ON" ; -VAL_ 309 ESP_espFaultLamp 0 "OFF" 1 "ON" ; -VAL_ 309 ESP_espLampFlash 1 "FLASH" 0 "OFF" ; -VAL_ 309 ESP_hillStartAssistActive 1 "ACTIVE" 0 "INACTIVE" 2 "NOT_AVAILABLE" 3 "SNA" ; -VAL_ 309 ESP_absFaultLamp 0 "OFF" 1 "ON" ; -VAL_ 309 ESP_espOffLamp 0 "OFF" 1 "ON" ; -VAL_ 309 ESP_stabilityControlSts 2 "ENGAGED" 3 "FAULTED" 5 "INIT" 4 "NOT_CONFIGURED" 0 "OFF" 1 "ON" ; -VAL_ 309 ESP_tcLampFlash 1 "FLASH" 0 "OFF" ; -VAL_ 760 MCU_speedLimitUnits 1 "KPH" 0 "MPH" ; -VAL_ 760 MCU_userSpeedOffsetUnits 1 "KPH" 0 "MPH" ; -VAL_ 643 AirTemp_Insd 255 "SNA" ; -VAL_ 643 AirTemp_Outsd 254 "INIT" 255 "SNA" ; -VAL_ 643 Bckl_Sw_RL_Stat_SAM_R 2 "FLT" 1 "NOT" 0 "OK" 3 "SNA" ; -VAL_ 643 Bckl_Sw_RM_Stat_SAM_R 2 "FLT" 1 "NOT" 0 "OK" 3 "SNA" ; -VAL_ 643 Bckl_Sw_RR_Stat_SAM_R 2 "FLT" 1 "NOT" 0 "OK" 3 "SNA" ; -VAL_ 643 DL_RLtch_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 DrRLtch_FL_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 DrRLtch_FR_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 DrRLtch_RL_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 DrRLtch_RR_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 EngHd_Stat 1 "CLS" 0 "NDEF0" 2 "OPN" 3 "SNA" ; -VAL_ 643 LgtSens_Night 0 "DAY" 1 "NIGHT" ; -VAL_ 643 MPkBrk_Stat 1 "ENGG" 0 "RELS" ; -VAL_ 643 RevGr_Engg 0 "DISENGG" 1 "ENGG" 2 "NDEF2" 3 "SNA" ; -VAL_ 643 StW_Cond_Stat 3 "BLINK" 1 "NDEF1" 0 "OFF" 2 "ON" ; -VAL_ 643 Trlr_Stat 2 "NDEF2" 0 "NONE" 1 "OK" 3 "SNA" ; -VAL_ 792 BOOT_STATE 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 CERRD 1 "CAN error detect" 0 "no Can error detected" ; -VAL_ 792 DAY 1 "Init" 0 "SNA" ; -VAL_ 792 DOOR_STATE_FL 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 DOOR_STATE_FR 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 DOOR_STATE_FrontTrunk 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 DOOR_STATE_RL 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 DOOR_STATE_RR 2 "Init" 3 "SNA" 0 "closed" 1 "open" ; -VAL_ 792 GTW_updateInProgress 1 "IN_PROGRESS" 2 "IN_PROGRESS_NOT_USED" 3 "IN_PROGRESS_SNA" 0 "NOT_IN_PROGRESS" ; -VAL_ 792 Hour 30 "Init" 31 "SNA" ; -VAL_ 792 MCU_factoryMode 1 "FACTORY_MODE" 0 "NORMAL_MODE" ; -VAL_ 792 MCU_transportModeOn 0 "NORMAL_MODE" ; -VAL_ 792 MINUTE 62 "Init" 63 "SNA" ; -VAL_ 792 MONTH 1 "Init" 15 "SNA" ; -VAL_ 792 SECOND 62 "Init" 63 "SNA" ; -VAL_ 792 YEAR 126 "Init" 127 "SNA" ; -VAL_ 872 DI_aebState 2 "ENABLED" 4 "FAULT" 7 "SNA" 1 "STANDBY" 3 "STANDSTILL" 0 "UNAVAILABLE" ; -VAL_ 872 DI_analogSpeed 4095 "SNA" ; -VAL_ 872 DI_cruiseState 2 "ENABLED" 5 "FAULT" 0 "OFF" 4 "OVERRIDE" 7 "PRE_CANCEL" 6 "PRE_FAULT" 1 "STANDBY" 3 "STANDSTILL" ; -VAL_ 872 DI_digitalSpeed 255 "SNA" ; -VAL_ 872 DI_immobilizerState 2 "AUTHENTICATING" 3 "DISARMED" 6 "FAULT" 4 "IDLE" 0 "INIT_SNA" 1 "REQUEST" 5 "RESET" ; -VAL_ 872 DI_speedUnits 1 "KPH" 0 "MPH" ; -VAL_ 872 DI_state 3 "ABORT" 4 "ENABLE" 2 "FAULT" 1 "STANDBY" 0 "UNAVAILABLE" ; -VAL_ 872 DI_systemState 3 "ABORT" 4 "ENABLE" 2 "FAULT" 1 "STANDBY" 0 "UNAVAILABLE" ; -VAL_ 872 DI_vehicleHoldState 2 "BLEND_IN" 4 "BLEND_OUT" 6 "FAULT" 7 "INIT" 5 "PARK" 1 "STANDBY" 3 "STANDSTILL" 0 "UNAVAILABLE" ; -VAL_ 880 EPAS_currentTuneMode 1 "DM_COMFORT" 3 "DM_SPORT" 2 "DM_STANDARD" 0 "FAIL_SAFE_DEFAULT" 4 "RWD_COMFORT" 6 "RWD_SPORT" 5 "RWD_STANDARD" 7 "UNAVAILABLE" ; -VAL_ 880 EPAS_eacErrorCode 14 "EAC_ERROR_EPB_INHIBIT" 3 "EAC_ERROR_HANDS_ON" 7 "EAC_ERROR_HIGH_ANGLE_RATE_REQ" 9 "EAC_ERROR_HIGH_ANGLE_RATE_SAFETY" 6 "EAC_ERROR_HIGH_ANGLE_REQ" 8 "EAC_ERROR_HIGH_ANGLE_SAFETY" 10 "EAC_ERROR_HIGH_MMOT_SAFETY" 11 "EAC_ERROR_HIGH_TORSION_SAFETY" 0 "EAC_ERROR_IDLE" 12 "EAC_ERROR_LOW_ASSIST" 2 "EAC_ERROR_MAX_SPEED" 1 "EAC_ERROR_MIN_SPEED" 13 "EAC_ERROR_PINION_VEL_DIFF" 4 "EAC_ERROR_TMP_FAULT" 5 "EAR_ERROR_MAX_STEER_DELTA" 15 "SNA" ; -VAL_ 880 EPAS_eacStatus 2 "EAC_ACTIVE" 1 "EAC_AVAILABLE" 3 "EAC_FAULT" 0 "EAC_INHIBITED" 4 "SNA" ; -VAL_ 880 EPAS_handsOnLevel 0 "0" 1 "1" 2 "2" 3 "3" ; -VAL_ 880 EPAS_steeringFault 1 "FAULT" 0 "NO_FAULT" ; -VAL_ 880 EPAS_steeringRackForce 1022 "NOT_IN_SPEC" 1023 "SNA" ; -VAL_ 880 EPAS_steeringReduced 0 "NORMAL_ASSIST" 1 "REDUCED_ASSIST" ; -VAL_ 880 EPAS_torsionBarTorque 0 "SEE_SPECIFICATION" 4095 "SNA" 4094 "UNDEFINABLE_DATA" ; -VAL_ 904 MCU_clusterReadyForDrive 0 "NO_SNA" 1 "YES" ; -VAL_ 1160 DAS_steeringAngleRequest 16384 "ZERO_ANGLE" ; -VAL_ 1160 DAS_steeringControlType 1 "ANGLE_CONTROL" 3 "DISABLED" 0 "NONE" 2 "RESERVED" ; -VAL_ 1160 DAS_steeringHapticRequest 1 "ACTIVE" 0 "IDLE" ; diff --git a/opendbc b/opendbc new file mode 160000 index 0000000000..d584cdd46c --- /dev/null +++ b/opendbc @@ -0,0 +1 @@ +Subproject commit d584cdd46ca398aace9f1a7ee6c967a8c7602e8e diff --git a/panda b/panda index be7d2ee397..5409c51041 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit be7d2ee3973be06466faa724453674af228f6b0b +Subproject commit 5409c51041cfe8f139650a4e0decf4f6d863eb07 diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc index d151845bd3..05181b9c62 100644 --- a/selfdrive/boardd/boardd.cc +++ b/selfdrive/boardd/boardd.cc @@ -50,6 +50,9 @@ bool usb_connect() { // power off ESP libusb_control_transfer(dev_handle, 0xc0, 0xd9, 0, 0, NULL, 0, TIMEOUT); + + // forward CAN1 to CAN3...soon + //libusb_control_transfer(dev_handle, 0xc0, 0xdd, 1, 2, NULL, 0, TIMEOUT); // set UART modes for Honda Accord for (int uart = 2; uart <= 3; uart++) { diff --git a/selfdrive/car/honda/can_parser.py b/selfdrive/car/honda/can_parser.py index cad1676593..d12a33fe1e 100644 --- a/selfdrive/car/honda/can_parser.py +++ b/selfdrive/car/honda/can_parser.py @@ -1,5 +1,5 @@ import os -import dbcs +import opendbc from collections import defaultdict from selfdrive.car.honda.hondacan import fix @@ -19,12 +19,12 @@ class CANParser(object): # monitored. # - frequency is the frequency at which health should be monitored. - self.msgs_ck = [check[0] for check in checks] - self.frqs = [check[1] for check in checks] + self.msgs_ck = set([check[0] for check in checks]) + self.frqs = dict(checks) self.can_valid = False # start with False CAN assumption # list of received msg we want to monitor counter and checksum for # read dbc file - self.can_dbc = dbc(os.path.join(dbcs.DBC_PATH, dbc_f)) + self.can_dbc = dbc(os.path.join(opendbc.DBC_PATH, dbc_f)) # initialize variables to initial values self.vl = {} # signal values self.ts = {} # time stamp recorded in log @@ -57,6 +57,8 @@ class CANParser(object): msgs_upd = [] cn_vl_max = 5 # no more than 5 wrong counter checks + self.sec_since_boot_cached = sec_since_boot() + # we are subscribing to PID_XXX, else data from USB for msg, ts, cdat, _ in can_recv: idxs = self._message_indices[msg] @@ -93,7 +95,7 @@ class CANParser(object): # update msg time stamps and counter value self.ts[msg] = ts - self.ct[msg] = sec_since_boot() + self.ct[msg] = self.sec_since_boot_cached self.cn[msg] = cn self.cn_vl[msg] = min(max(self.cn_vl[msg], 0), cn_vl_max) @@ -121,5 +123,5 @@ class CANParser(object): ### input: ## simple stuff for now: msg is not valid if a message isn't received for 10 consecutive steps for msg in set(self._msgs): - if msg in self.msgs_ck and sec_since_boot() - self.ct[msg] > 10./self.frqs[self.msgs_ck.index(msg)]: + if msg in self.msgs_ck and self.sec_since_boot_cached - self.ct[msg] > 10./self.frqs[msg]: self.ok[msg] = False diff --git a/selfdrive/car/honda/carcontroller.py b/selfdrive/car/honda/carcontroller.py index 0317b0dec7..4beecc22de 100644 --- a/selfdrive/car/honda/carcontroller.py +++ b/selfdrive/car/honda/carcontroller.py @@ -140,7 +140,9 @@ class CarController(object): tt = sec_since_boot() GAS_MAX = 1004 BRAKE_MAX = 1024/4 - if CS.crv: + if CS.civic: + STEER_MAX = 0x1000 + elif CS.crv: STEER_MAX = 0x300 # CR-V only uses 12-bits and requires a lower value else: STEER_MAX = 0xF00 diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py index a7dae7f5b2..0e8f5a4f2c 100644 --- a/selfdrive/car/honda/carstate.py +++ b/selfdrive/car/honda/carstate.py @@ -1,4 +1,4 @@ -import numpy as np +import common.numpy_fast as np import selfdrive.messaging as messaging from common.realtime import sec_since_boot diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 58e996826a..0eb171187c 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -1,6 +1,6 @@ #!/usr/bin/env python import time -import numpy as np +import common.numpy_fast as np from selfdrive.config import Conversions as CV from selfdrive.car.honda.carstate import CarState diff --git a/selfdrive/common/framebuffer.cc b/selfdrive/common/framebuffer.cc index 3b7b726680..0bee19b74e 100644 --- a/selfdrive/common/framebuffer.cc +++ b/selfdrive/common/framebuffer.cc @@ -38,7 +38,7 @@ extern "C" void framebuffer_set_power(FramebufferState *s, int mode) { } extern "C" FramebufferState* framebuffer_init( - const char* name, int32_t layer, + const char* name, int32_t layer, int alpha, EGLDisplay *out_display, EGLSurface *out_surface, int *out_w, int *out_h) { status_t status; @@ -86,6 +86,7 @@ extern "C" FramebufferState* framebuffer_init( EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, alpha ? 8 : 0, EGL_DEPTH_SIZE, 0, EGL_STENCIL_SIZE, 8, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT_KHR, diff --git a/selfdrive/common/framebuffer.h b/selfdrive/common/framebuffer.h index 2fa6e937a2..6091eebce5 100644 --- a/selfdrive/common/framebuffer.h +++ b/selfdrive/common/framebuffer.h @@ -10,7 +10,7 @@ extern "C" { typedef struct FramebufferState FramebufferState; FramebufferState* framebuffer_init( - const char* name, int32_t layer, + const char* name, int32_t layer, int alpha, EGLDisplay *out_display, EGLSurface *out_surface, int *out_w, int *out_h); diff --git a/selfdrive/common/swaglog.c b/selfdrive/common/swaglog.c index da4bf2b185..5ce88dcccb 100644 --- a/selfdrive/common/swaglog.c +++ b/selfdrive/common/swaglog.c @@ -12,6 +12,7 @@ #include #include "common/timing.h" +#include "common/version.h" #include "swaglog.h" @@ -28,6 +29,10 @@ static LogState s = { .lock = PTHREAD_MUTEX_INITIALIZER, }; +static void cloudlog_bind_locked(const char* k, const char* v) { + json_append_member(s.ctx_j, k, json_mkstring(v)); +} + static void cloudlog_init() { if (s.inited) return; s.ctx_j = json_mkobject(); @@ -47,6 +52,15 @@ static void cloudlog_init() { } } + // openpilot bindings + char* dongle_id = getenv("DONGLE_ID"); + if (dongle_id) { + cloudlog_bind_locked("dongle_id", dongle_id); + } + cloudlog_bind_locked("version", OPENPILOT_VERSION); + bool dirty = !getenv("CLEAN"); + json_append_member(s.ctx_j, "dirty", json_mkbool(dirty)); + s.inited = true; } @@ -100,6 +114,6 @@ void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func void cloudlog_bind(const char* k, const char* v) { pthread_mutex_lock(&s.lock); cloudlog_init(); - json_append_member(s.ctx_j, k, json_mkstring(v)); + cloudlog_bind_locked(k, v); pthread_mutex_unlock(&s.lock); } diff --git a/selfdrive/common/version.h b/selfdrive/common/version.h index bcb84bcacc..2caf37b170 100644 --- a/selfdrive/common/version.h +++ b/selfdrive/common/version.h @@ -1 +1 @@ -const char *openpilot_version = "0.3.2"; +#define OPENPILOT_VERSION "0.3.3" diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index bebc2037dc..5c2946f099 100755 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -1,7 +1,6 @@ #!/usr/bin/env python import os import zmq -import numpy as np import selfdrive.messaging as messaging from cereal import car, log @@ -93,19 +92,21 @@ def controlsd_thread(gctx, rate=100): #rate in Hz rk = Ratekeeper(rate, print_delay_threshold=2./1000) while 1: - prof = Profiler() cur_time = sec_since_boot() + prof = Profiler() # read CAN CS = CI.update() + prof.checkpoint("CarInterface") + # broadcast carState cs_send = messaging.new_message() cs_send.init('carState') cs_send.carState = CS # copy? carstate.send(cs_send.to_bytes()) - prof.checkpoint("CarInterface") + prof.checkpoint("CarState") # did it request to enable? enable_request, enable_condition = False, False @@ -180,6 +181,10 @@ def controlsd_thread(gctx, rate=100): #rate in Hz if CS.gasPressed or CS.brakePressed: AM.add("disable", enabled) + # how did we get into this state? + if CP.enableCruise and not CS.cruiseState.enabled: + AM.add("cruiseDisabled", enabled) + if enable_request: # check for pressed pedals if CS.gasPressed or CS.brakePressed: @@ -241,7 +246,7 @@ def controlsd_thread(gctx, rate=100): #rate in Hz # *** angle offset learning *** if rk.frame % 5 == 2 and plan.lateralValid: # *** run this at 20hz again *** - angle_offset = learn_angle_offset(enabled, CS.vEgo, angle_offset, np.asarray(plan.dPoly), LaC.y_des, CS.steeringPressed) + angle_offset = learn_angle_offset(enabled, CS.vEgo, angle_offset, plan.dPoly, LaC.y_des, CS.steeringPressed) # *** gas/brake PID loop *** final_gas, final_brake = LoC.update(enabled, CS.vEgo, v_cruise_kph, @@ -351,8 +356,6 @@ def controlsd_thread(gctx, rate=100): #rate in Hz # what packets were used to process dat.live100.canMonoTimes = list(CS.canMonoTimes) - #dat.live100.mdMonoTime = PP.logMonoTime - #dat.live100.l20MonoTime = AC.logMonoTime # if controls is enabled dat.live100.enabled = enabled diff --git a/selfdrive/controls/lib/alertmanager.py b/selfdrive/controls/lib/alertmanager.py index 07b13f2991..3ab552210f 100644 --- a/selfdrive/controls/lib/alertmanager.py +++ b/selfdrive/controls/lib/alertmanager.py @@ -55,6 +55,7 @@ class AlertManager(object): "doorOpen": alert("Take Control Immediately","Door Open", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.), "seatbeltNotLatched": alert("Take Control Immediately","Seatbelt Unlatched", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.), "espDisabled": alert("Take Control Immediately","ESP Off", ET.SOFT_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.), + "cruiseDisabled": alert("Take Control Immediately","Cruise Is Off", ET.IMMEDIATE_DISABLE, "steerRequired", "chimeRepeated", 1., 3., 3.), "wrongCarMode": alert("Comma Unavailable","Main Switch Off", ET.NO_ENTRY, None, "chimeDouble", .4, 0., 3.), "outOfSpace": alert("Comma Unavailable","Out of Space", ET.NO_ENTRY, None, "chimeDouble", .4, 0., 3.), "dataNeeded": alert("Comma Unavailable","Data needed for calibration. Upload drive, try again", ET.NO_ENTRY, None, "chimeDouble", .4, 0., 3.), diff --git a/selfdrive/debug/test_carcontroller.py b/selfdrive/debug/test_carcontroller.py index c94a124e34..54fa1cfe8d 100755 --- a/selfdrive/debug/test_carcontroller.py +++ b/selfdrive/debug/test_carcontroller.py @@ -60,7 +60,7 @@ if __name__ == "__main__": # **** handle car **** CS = CI.update() - print CS + #print CS CC = car.CarControl.new_message() @@ -68,7 +68,7 @@ if __name__ == "__main__": CC.gas = float(np.clip(-axis_values[1], 0, 1.0)) CC.brake = float(np.clip(axis_values[1], 0, 1.0)) - CC.steeringTorque = float(axis_values[0]) + CC.steeringTorque = float(-axis_values[0]) CC.hudControl.speedVisible = bool(button_values[1]) CC.hudControl.lanesVisible = bool(button_values[2]) @@ -83,7 +83,7 @@ if __name__ == "__main__": CC.hudControl.visualAlert = "none" CC.hudControl.audibleAlert = "none" - print CC + #print CC if not CI.apply(CC): print "CONTROLS FAILED" diff --git a/selfdrive/loggerd/loggerd b/selfdrive/loggerd/loggerd index 589ab1e33a..a05233e25b 100755 Binary files a/selfdrive/loggerd/loggerd and b/selfdrive/loggerd/loggerd differ diff --git a/selfdrive/loggerd/uploader.py b/selfdrive/loggerd/uploader.py index 1eafa40912..ff5be1e2d5 100755 --- a/selfdrive/loggerd/uploader.py +++ b/selfdrive/loggerd/uploader.py @@ -131,10 +131,10 @@ class Uploader(object): url_resp_json = json.loads(url_resp.text) url = url_resp_json['url'] headers = url_resp_json['headers'] - cloudlog.info({"upload_url v1.1", url, str(headers)}) + cloudlog.info("upload_url v1.1 %s %s", url, str(headers)) if fake_upload: - print "*** WARNING, THIS IS A FAKE UPLOAD TO %s ***" % url + cloudlog.info("*** WARNING, THIS IS A FAKE UPLOAD TO %s ***" % url) class FakeResponse(object): def __init__(self): self.status_code = 200 diff --git a/selfdrive/logmessaged.py b/selfdrive/logmessaged.py index 1ed60e01fa..971db82933 100755 --- a/selfdrive/logmessaged.py +++ b/selfdrive/logmessaged.py @@ -7,7 +7,7 @@ import selfdrive.messaging as messaging def main(gctx): # setup logentries. we forward log messages to it le_token = "e8549616-0798-4d7e-a2ca-2513ae81fa17" - le_handler = LogentriesHandler(le_token, use_tls=False) + le_handler = LogentriesHandler(le_token, use_tls=False, verbose=False) le_level = 20 #logging.INFO diff --git a/selfdrive/manager.py b/selfdrive/manager.py index cc29dfd7c6..4e183d03f5 100755 --- a/selfdrive/manager.py +++ b/selfdrive/manager.py @@ -36,6 +36,8 @@ from common.params import Params from selfdrive.loggerd.config import ROOT +BASEDIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../") + # comment out anything you don't want to run managed_processes = { "uploader": "selfdrive.loggerd.uploader", @@ -53,6 +55,8 @@ managed_processes = { "sensord": ("sensord", ["./sensord"]), } running = {} +def get_running(): + return running # due to qualcomm kernel bugs SIGKILLing visiond sometimes causes page table corruption unkillable_processes = ['visiond'] @@ -114,7 +118,7 @@ def start_managed_process(name): running[name] = Process(name=name, target=launcher, args=(proc, gctx)) else: pdir, pargs = proc - cwd = os.path.dirname(os.path.realpath(__file__)) + cwd = os.path.join(BASEDIR, "selfdrive") if pdir is not None: cwd = os.path.join(cwd, pdir) cloudlog.info("starting process %s" % name) @@ -190,7 +194,7 @@ def manager_init(): if not dirty: os.environ['CLEAN'] = '1' - cloudlog.bind_global(dongle_id=dongle_id, version=version) + cloudlog.bind_global(dongle_id=dongle_id, version=version, dirty=dirty) crash.bind_user(id=dongle_id) crash.bind_extra(version=version, dirty=dirty) @@ -238,12 +242,8 @@ def manager_thread(): # flash the device if os.getenv("NOPROG") is None: - # checkout the matching panda repo - rootdir = os.path.dirname(os.path.abspath(__file__)) - system("cd %s && git submodule init" % rootdir) - system("cd %s && git submodule update" % rootdir) # flash the board - boarddir = os.path.dirname(os.path.abspath(__file__))+"/../panda/board/" + boarddir = os.path.join(BASEDIR, "panda/board/") mkfile = "Makefile" if panda else "Makefile.legacy" print "using", mkfile system("cd %s && make -f %s" % (boarddir, mkfile)) @@ -344,8 +344,12 @@ def get_installed_apks(): # optional, build the c++ binaries and preimport the python for speed def manager_prepare(): + # update submodules + system("cd %s && git submodule init" % BASEDIR) + system("cd %s && git submodule update" % BASEDIR) + # build cereal first - subprocess.check_call(["make", "-j4"], cwd="../cereal") + subprocess.check_call(["make", "-j4"], cwd=os.path.join(BASEDIR, "cereal")) # build all processes os.chdir(os.path.dirname(os.path.abspath(__file__))) @@ -368,14 +372,14 @@ def manager_prepare(): # install apks installed = get_installed_apks() - for app in os.listdir("../apk/"): + for app in os.listdir(os.path.join(BASEDIR, "apk/")): if ".apk" in app: app = app.split(".apk")[0] if app not in installed: installed[app] = None cloudlog.info("installed apks %s" % (str(installed), )) for app in installed: - apk_path = "../apk/"+app+".apk" + apk_path = os.path.join(BASEDIR, "apk/"+app+".apk") if os.path.isfile(apk_path): h1 = hashlib.sha1(open(apk_path).read()).hexdigest() h2 = None diff --git a/selfdrive/test/plant/plant.py b/selfdrive/test/plant/plant.py index b73988f24a..464c318ecc 100755 --- a/selfdrive/test/plant/plant.py +++ b/selfdrive/test/plant/plant.py @@ -5,7 +5,7 @@ import struct import zmq import numpy as np -from dbcs import DBC_PATH +from opendbc import DBC_PATH from common.realtime import Ratekeeper @@ -143,6 +143,10 @@ class Plant(object): self.cp = get_car_can_parser() + def close(self): + Plant.logcan.close() + Plant.model.close() + def speed_sensor(self, speed): if speed<0.3: return 0 @@ -152,7 +156,7 @@ class Plant(object): def current_time(self): return float(self.rk.frame) / self.rate - def step(self, v_lead=0.0, cruise_buttons=None, grade=0.0): + def step(self, v_lead=0.0, cruise_buttons=None, grade=0.0, publish_model = True): # dbc_f, sgs, ivs, msgs, cks_msgs, frqs = initialize_can_struct(self.civic, self.brake_only) cp2 = get_can_parser(fake_car_params()) sgs = cp2._sgs @@ -198,7 +202,7 @@ class Plant(object): acceleration = 0 # ******** lateral ******** - self.angle_steer -= steer_torque + self.angle_steer -= (steer_torque/10.0) * self.ts # *** radar model *** if self.lead_relevancy: @@ -228,7 +232,6 @@ class Plant(object): # interceptor_gas 0,0] - # TODO: publish each message at proper frequency can_msgs = [] for msg in set(msgs): @@ -261,18 +264,22 @@ class Plant(object): Plant.logcan.send(can_list_to_can_capnp(can_msgs).to_bytes()) # ******** publish a fake model going straight ******** - md = messaging.new_message() - md.init('model') - md.model.frameId = 0 - for x in [md.model.path, md.model.leftLane, md.model.rightLane]: - x.points = [0.0]*50 - x.prob = 1.0 - x.std = 1.0 - # fake values? - Plant.model.send(md.to_bytes()) - + if publish_model: + md = messaging.new_message() + md.init('model') + md.model.frameId = 0 + for x in [md.model.path, md.model.leftLane, md.model.rightLane]: + x.points = [0.0]*50 + x.prob = 1.0 + x.std = 1.0 + # fake values? + Plant.model.send(md.to_bytes()) # ******** update prevs ******** + self.speed = speed + self.distance = distance + self.distance_lead = distance_lead + self.speed_prev = speed self.distance_prev = distance self.distance_lead_prev = distance_lead diff --git a/selfdrive/test/plant/plant_ui.py b/selfdrive/test/plant/plant_ui.py new file mode 100755 index 0000000000..fed1234ca7 --- /dev/null +++ b/selfdrive/test/plant/plant_ui.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python +import pygame +from plant import Plant +from selfdrive.config import CruiseButtons +import numpy as np +import selfdrive.messaging as messaging +import math + +CAR_WIDTH = 2.0 +CAR_LENGTH = 4.5 + +METER = 8 + +def rot_center(image, angle): + """rotate an image while keeping its center and size""" + orig_rect = image.get_rect() + rot_image = pygame.transform.rotate(image, angle) + rot_rect = orig_rect.copy() + rot_rect.center = rot_image.get_rect().center + rot_image = rot_image.subsurface(rot_rect).copy() + return rot_image + +def car_w_color(c): + car = pygame.Surface((METER*CAR_LENGTH, METER*CAR_LENGTH)) + car.set_alpha(0) + car.fill((10,10,10)) + car.set_alpha(128) + pygame.draw.rect(car, c, (METER*1.25, 0, METER*CAR_WIDTH, METER*CAR_LENGTH), 1) + return car + +if __name__ == "__main__": + pygame.init() + display = pygame.display.set_mode((1000, 1000)) + pygame.display.set_caption('Plant UI') + + car = car_w_color((255,0,255)) + leadcar = car_w_color((255,0,0)) + + carx, cary, heading = 10.0, 50.0, 0.0 + + plant = Plant(100, distance_lead = 40.0) + + control_offset = 2.0 + control_pts = zip(np.arange(0, 100.0, 10.0), [50.0 + control_offset]*10) + + def pt_to_car(pt): + x,y = pt + x -= carx + y -= cary + rx = x * math.cos(-heading) + y * -math.sin(-heading) + ry = x * math.sin(-heading) + y * math.cos(-heading) + return rx, ry + + def pt_from_car(pt): + x,y = pt + rx = x * math.cos(heading) + y * -math.sin(heading) + ry = x * math.sin(heading) + y * math.cos(heading) + rx += carx + ry += cary + return rx, ry + + while 1: + if plant.rk.frame%100 >= 20 and plant.rk.frame%100 <= 25: + cruise_buttons = CruiseButtons.RES_ACCEL + else: + cruise_buttons = 0 + + md = messaging.new_message() + md.init('model') + md.model.frameId = 0 + for x in [md.model.path, md.model.leftLane, md.model.rightLane]: + x.points = [0.0]*50 + x.prob = 0.0 + x.std = 1.0 + + car_pts = map(pt_to_car, control_pts) + + print car_pts + + car_poly = np.polyfit([x[0] for x in car_pts], [x[1] for x in car_pts], 3) + md.model.path.points = np.polyval(car_poly, np.arange(0, 50)).tolist() + md.model.path.prob = 1.0 + Plant.model.send(md.to_bytes()) + + plant.step(cruise_buttons = cruise_buttons, v_lead = 2.0, publish_model = False) + + display.fill((10,10,10)) + + carx += plant.speed * plant.ts * math.cos(heading) + cary += plant.speed * plant.ts * math.sin(heading) + + # positive steering angle = steering right + print plant.angle_steer + heading += plant.angle_steer * plant.ts + print heading + + # draw my car + display.blit(pygame.transform.rotate(car, 90-math.degrees(heading)), (carx*METER, cary*METER)) + + # draw control pts + for x,y in control_pts: + pygame.draw.circle(display, (255,255,0), (int(x * METER),int(y * METER)), 2) + + # draw path + path_pts = zip(np.arange(0, 50), md.model.path.points) + + for x,y in path_pts: + x,y = pt_from_car((x,y)) + pygame.draw.circle(display, (0,255,0), (int(x * METER),int(y * METER)), 1) + + """ + # draw lead car + dl = (plant.distance_lead - plant.distance) + 4.5 + lx = carx + dl * math.cos(heading) + ly = cary + dl * math.sin(heading) + + display.blit(pygame.transform.rotate(leadcar, 90-math.degrees(heading)), (lx*METER, ly*METER)) + """ + + pygame.display.flip() + + diff --git a/selfdrive/test/test_openpilot.py b/selfdrive/test/test_openpilot.py new file mode 100644 index 0000000000..6c5303947a --- /dev/null +++ b/selfdrive/test/test_openpilot.py @@ -0,0 +1,101 @@ +import os +os.environ['FAKEUPLOAD'] = "1" + +from common.testing import phone_only +from selfdrive.manager import manager_init, manager_prepare +from selfdrive.manager import start_managed_process, kill_managed_process, get_running +from selfdrive.manager import manage_baseui +from selfdrive.config import CruiseButtons +from selfdrive.test.plant.plant import Plant +from functools import wraps +import time + +DID_INIT = False + +# must run first +@phone_only +def test_manager_prepare(): + global DID_INIT + manager_init() + manager_prepare() + DID_INIT = True + +def with_processes(processes): + def wrapper(func): + @wraps(func) + def wrap(): + if not DID_INIT: + test_manager_prepare() + + # start and assert started + [start_managed_process(p) for p in processes] + assert all(get_running()[name].exitcode is None for name in processes) + + # call the function + func() + + # assert processes are still started + assert all(get_running()[name].exitcode is None for name in processes) + + # kill and assert all stopped + [kill_managed_process(p) for p in processes] + assert len(get_running()) == 0 + return wrap + return wrapper + +@phone_only +@with_processes(['controlsd', 'radard', 'plannerd']) +def test_controls(): + # start the fake car for 2 seconds + plant = Plant(100) + for i in range(200): + if plant.rk.frame >= 20 and plant.rk.frame <= 25: + cruise_buttons = CruiseButtons.RES_ACCEL + # rolling forward + assert plant.speed > 0 + else: + cruise_buttons = 0 + plant.step(cruise_buttons = cruise_buttons) + plant.close() + + # assert that we stopped + assert plant.speed == 0.0 + +@phone_only +@with_processes(['loggerd', 'logmessaged', 'tombstoned', 'proclogd', 'logcatd']) +def test_logging(): + print "LOGGING IS SET UP" + time.sleep(1.0) + +@phone_only +@with_processes(['visiond']) +def test_visiond(): + print "VISIOND IS SET UP" + time.sleep(5.0) + +@phone_only +@with_processes(['sensord']) +def test_sensord(): + print "SENSORS ARE SET UP" + time.sleep(1.0) + +@phone_only +@with_processes(['ui']) +def test_ui(): + print "RUNNING UI" + time.sleep(1.0) + +# will have one thing to upload if loggerd ran +# TODO: assert it actually uploaded +@phone_only +@with_processes(['uploader']) +def test_uploader(): + print "UPLOADER" + time.sleep(10.0) + +@phone_only +def test_baseui(): + manage_baseui(True) + time.sleep(10.0) + manage_baseui(False) + diff --git a/selfdrive/tombstoned.py b/selfdrive/tombstoned.py index ec56f9c69a..df7e60069b 100644 --- a/selfdrive/tombstoned.py +++ b/selfdrive/tombstoned.py @@ -41,7 +41,7 @@ def report_tombstone(fn, client): message += parsedict.get('abort') or '' else: parsedict = {} - message = fn + message = fn+"\n"+dat[:1024] client.send( event_id=uuid.uuid4().hex, diff --git a/selfdrive/ui/Makefile b/selfdrive/ui/Makefile index ce14a448c1..d2289228e3 100644 --- a/selfdrive/ui/Makefile +++ b/selfdrive/ui/Makefile @@ -36,6 +36,7 @@ OBJS = ui.o \ ../common/params.o \ ../common/util.o \ ../common/touch.o \ + ../common/swaglog.o \ $(PHONELIBS)/nanovg/nanovg.o \ $(PHONELIBS)/json/src/json.o \ $(CEREAL_OBJS) diff --git a/selfdrive/ui/ui.c b/selfdrive/ui/ui.c index da676a8d91..075219b62a 100644 --- a/selfdrive/ui/ui.c +++ b/selfdrive/ui/ui.c @@ -20,6 +20,7 @@ #include "common/timing.h" #include "common/util.h" +#include "common/swaglog.h" #include "common/mat.h" #include "common/glutil.h" @@ -69,8 +70,6 @@ typedef struct UIScene { typedef struct UIState { pthread_mutex_t lock; - TouchState touch; - FramebufferState *fb; int fb_w, fb_h; @@ -135,7 +134,7 @@ static void set_awake(UIState *s, bool awake) { s->awake = awake; if (awake) { - printf("awake normal\n"); + LOG("awake normal"); framebuffer_set_power(s->fb, HWC_POWER_MODE_NORMAL); // can't hurt @@ -145,7 +144,7 @@ static void set_awake(UIState *s, bool awake) { fclose(f); } } else { - printf("awake off\n"); + LOG("awake off"); framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF); } } @@ -230,10 +229,8 @@ static void ui_init(UIState *s) { s->ipc_fd = -1; - touch_init(&s->touch); - // init display - s->fb = framebuffer_init("ui", 0x00001000, + s->fb = framebuffer_init("ui", 0x00010000, true, &s->display, &s->surface, &s->fb_w, &s->fb_h); assert(s->fb); set_awake(s, true); @@ -707,11 +704,10 @@ static void ui_draw_world(UIState *s) { static void ui_draw_vision(UIState *s) { const UIScene *scene = &s->scene; - if (scene->engaged) { - glClearColor(1.0, 0.5, 0.0, 1.0); - } else { - glClearColor(0.1, 0.1, 0.1, 1.0); - } + // if (scene->engaged) { + // glClearColor(1.0, 0.5, 0.0, 1.0); + // } else { + glClearColor(0.1, 0.1, 0.1, 1.0); glClear(GL_COLOR_BUFFER_BIT); draw_frame(s); @@ -797,19 +793,33 @@ static void ui_draw_vision(UIState *s) { } } + nvgEndFrame(s->vg); + + glDisable(GL_BLEND); + // glDisable(GL_CULL_FACE); +} + +static void ui_draw_alerts(UIState *s) { + const UIScene *scene = &s->scene; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glClear(GL_STENCIL_BUFFER_BIT); + + nvgBeginFrame(s->vg, s->fb_w, s->fb_h, 1.0f); + // draw alert text if (strlen(scene->alert_text1) > 0) { nvgBeginPath(s->vg); nvgRoundedRect(s->vg, 100, 200, 1700, 800, 40); nvgFillColor(s->vg, nvgRGBA(10, 10, 10, 220)); nvgFill(s->vg); - nvgFontSize(s->vg, 200.0f); nvgFillColor(s->vg, nvgRGBA(255, 0, 0, 255)); nvgTextAlign(s->vg, NVG_ALIGN_CENTER | NVG_ALIGN_TOP); nvgTextBox(s->vg, 100 + 50, 200 + 50, 1700 - 50, scene->alert_text1, NULL); - if (strlen(scene->alert_text2) > 0) { nvgFillColor(s->vg, nvgRGBA(255, 255, 255, 255)); nvgFontSize(s->vg, 100.0f); @@ -820,11 +830,10 @@ static void ui_draw_vision(UIState *s) { nvgEndFrame(s->vg); glDisable(GL_BLEND); - glDisable(GL_CULL_FACE); } static void ui_draw_blank(UIState *s) { - glClearColor(0.1, 0.1, 0.1, 1.0); + glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT); } @@ -835,6 +844,8 @@ static void ui_draw(UIState *s) { ui_draw_blank(s); } + ui_draw_alerts(s); + eglSwapBuffers(s->display, s->surface); assert(glGetError() == GL_NO_ERROR); } @@ -940,19 +951,22 @@ static void ui_update(UIState *s) { int ret = zmq_poll(polls, num_polls, 0); if (ret < 0) { - printf("poll failed (%d)\n", ret); + LOGW("poll failed (%d)", ret); break; } if (ret == 0) { break; } + // awake on any activity + set_awake(s, true); + if (s->vision_connected && polls[4].revents) { // vision ipc event VisionPacket rp; err = vipc_recv(s->ipc_fd, &rp); if (err <= 0) { - printf("vision disconnected\n"); + LOGW("vision disconnected"); close(s->ipc_fd); s->ipc_fd = -1; s->vision_connected = false; @@ -1174,12 +1188,23 @@ int main() { vision_connect_thread, s); assert(err == 0); + TouchState touch = {0}; + touch_init(&touch); + while (!do_exit) { + pthread_mutex_lock(&s->lock); + + ui_update(s); if (s->awake) { - pthread_mutex_lock(&s->lock); - ui_update(s); ui_draw(s); - pthread_mutex_unlock(&s->lock); + } + + // awake on any touch + int touch_x = -1, touch_y = -1; + int touched = touch_poll(&touch, &touch_x, &touch_y); + if (touched == 1) { + // touch event will still happen :( + set_awake(s, true); } // manage wakefulness @@ -1189,17 +1214,7 @@ int main() { set_awake(s, false); } - // always awake if vision is connected - if (s->vision_connected) { - set_awake(s, true); - } else { - int touch_x = -1, touch_y = -1; - err = touch_poll(&s->touch, &touch_x, &touch_y); - if (err == 1) { - // touch event will still happen :( - set_awake(s, true); - } - } + pthread_mutex_unlock(&s->lock); // no simple way to do 30fps vsync with surfaceflinger... usleep(30000); diff --git a/selfdrive/visiond/visiond b/selfdrive/visiond/visiond index 9b6e4bf39a..e709ba55b5 100755 Binary files a/selfdrive/visiond/visiond and b/selfdrive/visiond/visiond differ