Merge branch 'devel' of https://github.com/commaai/openpilot into devel-unsupported-cars

# Conflicts:
#	opendbc/generator/toyota/lexus_is_hybrid_2017_pt.dbc
#	opendbc/lexus_is_hybrid_2017_pt_generated.dbc
#	selfdrive/car/toyota/carstate.py
#	selfdrive/car/toyota/interface.py
#	selfdrive/car/toyota/values.py
This commit is contained in:
dragonpilot
2019-09-11 11:16:41 +10:00
199 changed files with 5774 additions and 2283 deletions
+1
View File
@@ -39,5 +39,6 @@ selfdrive/sensord/sensord
one
openpilot
notebooks
xx
+63 -61
View File
@@ -58,69 +58,70 @@ Install openpilot on a neo device by entering ``https://openpilot.comma.ai`` dur
Supported Cars
------
| Make | Model | Supported Package | Lateral | Longitudinal | No Accel Below | No Steer Below | Giraffe |
| ---------------------| -------------------------| ---------------------| --------| ---------------| -----------------| ---------------|-------------------|
| Acura | ILX 2016-18 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 25mph | Nidec |
| Acura | RDX 2016-18 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Buick<sup>3</sup> | Regal 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chevrolet<sup>3</sup>| Malibu 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chevrolet<sup>3</sup>| Volt 2017-18 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Cadillac<sup>3</sup> | ATS 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chrysler | Pacifica 2017-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Chrysler | Pacifica Hybrid 2017-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Chrysler | Pacifica Hybrid 2019 | Adaptive Cruise | Yes | Stock | 0mph | 39mph | FCA |
| GMC<sup>3</sup> | Acadia Denali 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Holden<sup>3</sup> | Astra 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Honda | Accord 2018-19 | All | Yes | Stock | 0mph | 3mph | Bosch |
| Honda | Accord Hybrid 2018-19 | All | Yes | Stock | 0mph | 3mph | Bosch |
| Honda | Civic Sedan/Coupe 2016-18| Honda Sensing | Yes | Yes | 0mph | 12mph | Nidec |
| Honda | Civic Sedan/Coupe 2019 | Honda Sensing | Yes | Stock | 0mph | 2mph | Bosch |
| Honda | Civic Hatchback 2017-19 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | CR-V 2015-16 | Touring | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Honda | CR-V 2017-19 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | CR-V Hybrid 2017-2019 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | Fit 2018 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
| Honda | Odyssey 2018-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 0mph | Inverted Nidec |
| Honda | Passport 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
| Honda | Pilot 2016-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Honda | Pilot 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
| Honda | Ridgeline 2017-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Hyundai | Santa Fe 2019 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Hyundai | Elantra 2017-19 | SCC + LKAS | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
| Hyundai | Genesis 2018 | All | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
| Jeep | Grand Cherokee 2016-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Jeep | Grand Cherokee 2019 | Adaptive Cruise | Yes | Stock | 0mph | 39mph | FCA |
| Kia | Optima 2019 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Kia | Sorento 2018 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Kia | Stinger 2018 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Lexus | ES Hybrid 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Lexus | RX Hybrid 2016-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Subaru | Crosstrek 2018 | EyeSight | Yes | Stock | 0mph | 0mph | Custom<sup>4</sup>|
| Subaru | Impreza 2019 | EyeSight | Yes | Stock | 0mph | 0mph | Custom<sup>4</sup>|
| Toyota | Avalon 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Avalon 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Camry 2018-19 | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
| Toyota | Camry Hybrid 2018-19 | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
| Toyota | C-HR 2017-19 | All | Yes | Stock | 0mph | 0mph | Toyota |
| Toyota | C-HR Hybrid 2017-19 | All | Yes | Stock | 0mph | 0mph | Toyota |
| Toyota | Corolla 2017-19 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Corolla 2020 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Corolla Hatchback 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Highlander 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Highlander Hybrid 2017-19| All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius Prime 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Rav4 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Rav4 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Rav4 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Rav4 Hybrid 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Rav4 Hybrid 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Sienna 2018 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Make | Model (US Market Reference)| Supported Package | Lateral | Longitudinal | No Accel Below | No Steer Below | Giraffe |
| ---------------------| ---------------------------| ---------------------| --------| ---------------| -----------------| ---------------|-------------------|
| Acura | ILX 2016-18 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 25mph | Nidec |
| Acura | RDX 2016-18 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Buick<sup>3</sup> | Regal 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chevrolet<sup>3</sup>| Malibu 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chevrolet<sup>3</sup>| Volt 2017-18 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Cadillac<sup>3</sup> | ATS 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Chrysler | Pacifica 2017-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Chrysler | Pacifica Hybrid 2017-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Chrysler | Pacifica Hybrid 2019 | Adaptive Cruise | Yes | Stock | 0mph | 39mph | FCA |
| GMC<sup>3</sup> | Acadia Denali 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Holden<sup>3</sup> | Astra 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
| Honda | Accord 2018-19 | All | Yes | Stock | 0mph | 3mph | Bosch |
| Honda | Accord Hybrid 2018-19 | All | Yes | Stock | 0mph | 3mph | Bosch |
| Honda | Civic Sedan/Coupe 2016-18 | Honda Sensing | Yes | Yes | 0mph | 12mph | Nidec |
| Honda | Civic Sedan/Coupe 2019 | Honda Sensing | Yes | Stock | 0mph | 2mph | Bosch |
| Honda | Civic Hatchback 2017-19 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | CR-V 2015-16 | Touring | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Honda | CR-V 2017-19 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | CR-V Hybrid 2017-2019 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
| Honda | Odyssey 2018-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 0mph | Inverted Nidec |
| Honda | Passport 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
| Honda | Pilot 2016-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Honda | Pilot 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
| Honda | Ridgeline 2017-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
| Hyundai | Santa Fe 2019 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Hyundai | Elantra 2017-19 | SCC + LKAS | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
| Hyundai | Genesis 2018 | All | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
| Jeep | Grand Cherokee 2016-18 | Adaptive Cruise | Yes | Stock | 0mph | 9mph | FCA |
| Jeep | Grand Cherokee 2019 | Adaptive Cruise | Yes | Stock | 0mph | 39mph | FCA |
| Kia | Optima 2019 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Kia | Sorento 2018 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Kia | Stinger 2018 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
| Lexus | ES Hybrid 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Lexus | RX Hybrid 2016-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Lexus | IS 2017-2019 | All | Yes | Stock | 22mph | 0mph | Toyota |
| Lexus | IS Hybrid 2017 | All | Yes | Stock | 0mph | 0mph | Toyota |
| Subaru | Crosstrek 2018 | EyeSight | Yes | Stock | 0mph | 0mph | Custom<sup>4</sup>|
| Subaru | Impreza 2019 | EyeSight | Yes | Stock | 0mph | 0mph | Custom<sup>4</sup>|
| Toyota | Avalon 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Avalon 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Camry 2018-19 | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
| Toyota | Camry Hybrid 2018-19 | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
| Toyota | C-HR 2017-19 | All | Yes | Stock | 0mph | 0mph | Toyota |
| Toyota | C-HR Hybrid 2017-19 | All | Yes | Stock | 0mph | 0mph | Toyota |
| Toyota | Corolla 2017-19 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Corolla 2020 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Corolla Hatchback 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Highlander 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Highlander Hybrid 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Prius Prime 2017-19 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Rav4 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Rav4 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph<sup>1</sup>| 0mph | Toyota |
| Toyota | Rav4 2019 | All | Yes | Yes | 0mph | 0mph | Toyota |
| Toyota | Rav4 Hybrid 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Rav4 Hybrid 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
| Toyota | Sienna 2018 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
<sup>1</sup>[Comma Pedal](https://community.comma.ai/wiki/index.php/Comma_Pedal) is used to provide stop-and-go capability to some of the openpilot-supported cars that don't currently support stop-and-go. Here is how to [build a Comma Pedal](https://medium.com/@jfrux/comma-pedal-building-with-macrofab-6328bea791e8). ***NOTE: The Comma Pedal is not officially supported by [comma.ai](https://comma.ai).*** <br />
<sup>2</sup>When disconnecting the Driver Support Unit (DSU), otherwise longitudinal control is stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota). <br />
<sup>3</sup>[GM installation guide](https://zoneos.com/volt/). <br />
<sup>2</sup>When disconnecting the Driver Support Unit (DSU), otherwise longitudinal control is stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota). ***NOTE: disconnecting the DSU disables Automatic Emergency Braking (AEB).*** <br />
<sup>3</sup>[GM installation guide](https://zoneos.com/volt/). ***NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).*** <br />
<sup>4</sup>Subaru Giraffe is DIY. <br />
<sup>5</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control. <br />
<sup>6</sup>Open sourced [Hyundai Giraffe](https://github.com/commaai/neo/tree/master/giraffe/hyundai) is designed for the 2019 Sante Fe; pinout may differ for other Hyundais. <br />
@@ -144,6 +145,7 @@ In Progress Cars
- All Hyundai with SmartSense.
- All Kia with SCC and LKAS.
- All Chrysler, Jeep, Fiat with Adaptive Cruise Control and LaneSense.
- All Subaru with EyeSight.
How can I add support for my car?
------
+10
View File
@@ -1,3 +1,13 @@
Version 0.6.4 (2019-09-08)
========================
* Forward stock AEB for Honda Nidec
* Improve lane centering on banked roads
* Always-on forward collision warning
* Always-on driver monitoring, except for right hand drive countries
* Driver monitoring learns the user's normal driving position
* Honda Fit support thanks to energee!
* Lexus IS support
Version 0.6.3 (2019-08-12)
========================
* Alert sounds from EON: requires NEOS update
Binary file not shown.
+6
View File
@@ -79,6 +79,9 @@ struct CarEvent @0x9b1657f34caf3ad3 {
tooDistracted @54;
posenetInvalid @55;
soundsUnavailable @56;
preLaneChangeLeft @57;
preLaneChangeRight @58;
laneChange @59;
}
}
@@ -300,6 +303,7 @@ struct CarParams {
minEnableSpeed @7 :Float32;
minSteerSpeed @8 :Float32;
safetyModel @9 :SafetyModel;
safetyModelPassive @42 :SafetyModel = noOutput;
safetyParam @10 :Int16;
steerMaxBP @11 :List(Float32);
@@ -343,6 +347,7 @@ struct CarParams {
openpilotLongitudinalControl @37 :Bool; # is openpilot doing the longitudinal control?
carVin @38 :Text; # VIN number queried during fingerprinting
isPandaBlack @39: Bool;
dashcamOnly @41: Bool;
struct LateralPIDTuning {
kpBP @0 :List(Float32);
@@ -398,6 +403,7 @@ struct CarParams {
chrysler @9;
tesla @10;
subaru @11;
gmPassive @12;
}
enum SteerControlType {
+32 -1
View File
@@ -442,7 +442,7 @@ struct ControlsState @0x97ff69c53601abf1 {
alertSoundDEPRECATED @45 :Text;
alertSound @56 :Car.CarControl.HUDControl.AudibleAlert;
awarenessStatus @26 :Float32;
angleModelBias @27 :Float32;
angleModelBiasDEPRECATED @27 :Float32;
gpsPlannerActive @40 :Bool;
engageable @41 :Bool; # can OP be engaged?
driverMonitoringOn @43 :Bool;
@@ -516,8 +516,10 @@ struct ControlsState @0x97ff69c53601abf1 {
steerAngle @1 :Float32;
i @2 :Float32;
output @3 :Float32;
lqrOutput @4 :Float32;
}
}
struct LiveEventData {
@@ -527,6 +529,7 @@ struct LiveEventData {
struct ModelData {
frameId @0 :UInt32;
timestampEof @9 :UInt64;
path @1 :PathData;
leftLane @2 :PathData;
@@ -697,6 +700,32 @@ struct PathPlan {
sensorValid @14 :Bool;
commIssue @15 :Bool;
posenetValid @16 :Bool;
desire @17 :Desire;
laneChangeState @18 :LaneChangeState;
laneChangeDirection @19 :LaneChangeDirection;
enum Desire {
none @0;
turnLeft @1;
turnRight @2;
laneChangeLeft @3;
laneChangeRight @4;
keepLeft @5;
keepRight @6;
}
enum LaneChangeState {
off @0;
preLaneChange @1;
laneChangeStarting @2;
laneChangeFinishing @3;
}
enum LaneChangeDirection {
none @0;
left @1;
right @2;
}
}
struct LiveLocationData {
@@ -1726,6 +1755,8 @@ struct LiveMapData {
}
struct CameraOdometry {
frameId @4 :UInt32;
timestampEof @5 :UInt64;
trans @0 :List(Float32); # m/s in device frame
rot @1 :List(Float32); # rad/s in device frame
transStd @2 :List(Float32); # std m/s in device frame
+11 -3
View File
@@ -5,9 +5,10 @@ from datetime import datetime, timedelta
from selfdrive.version import version
class Api(object):
def __init__(self, dongle_id, private_key):
def __init__(self, dongle_id):
self.dongle_id = dongle_id
self.private_key = private_key
with open('/persist/comma/id_rsa') as f:
self.private_key = f.read()
def get(self, *args, **kwargs):
return self.request('GET', *args, **kwargs)
@@ -19,7 +20,14 @@ class Api(object):
return api_get(endpoint, method=method, timeout=timeout, access_token=access_token, **params)
def get_token(self):
return jwt.encode({'identity': self.dongle_id, 'exp': datetime.utcnow() + timedelta(hours=1)}, self.private_key, algorithm='RS256')
now = datetime.utcnow()
payload = {
'identity': self.dongle_id,
'nbf': now,
'iat': now,
'exp': now + timedelta(hours=1)
}
return jwt.encode(payload, self.private_key, algorithm='RS256')
def api_get(endpoint, method='GET', timeout=None, access_token=None, **params):
backend = "https://api.commadotai.com/"
+4 -13
View File
@@ -24,21 +24,12 @@ def rm_tree_or_link(path):
shutil.rmtree(path)
def get_tmpdir_on_same_filesystem(path):
# TODO(mgraczyk): HACK, we should actually check for which filesystem.
normpath = os.path.normpath(path)
parts = normpath.split("/")
if len(parts) > 1:
if parts[1].startswith("raid") or parts[1].startswith("datasets"):
if len(parts) > 2 and parts[2] == "runner":
return "/{}/runner/tmp".format(parts[1])
elif len(parts) > 2 and parts[2] == "aws":
return "/{}/aws/tmp".format(parts[1])
else:
return "/{}/tmp".format(parts[1])
elif parts[1] == "aws":
return "/aws/tmp"
elif parts[1] == "scratch":
return "/scratch/tmp"
if len(parts) > 1 and parts[1] == "scratch":
return "/scratch/tmp"
elif len(parts) > 2 and parts[2] == "runner":
return "/{}/runner/tmp".format(parts[1])
return "/tmp"
class AutoMoveTempdir(object):
+13 -2
View File
@@ -27,6 +27,7 @@ import sys
import shutil
import fcntl
import tempfile
import threading
from enum import Enum
@@ -63,10 +64,9 @@ keys = {
"GitCommit": [TxType.PERSISTENT],
"GitRemote": [TxType.PERSISTENT],
"HasAcceptedTerms": [TxType.PERSISTENT],
"IsDriverMonitoringEnabled": [TxType.PERSISTENT],
"IsFcwEnabled": [TxType.PERSISTENT],
"IsGeofenceEnabled": [TxType.PERSISTENT],
"IsMetric": [TxType.PERSISTENT],
"IsRHD": [TxType.PERSISTENT],
"IsUpdateAvailable": [TxType.PERSISTENT],
"IsUploadRawEnabled": [TxType.PERSISTENT],
"IsUploadVideoOverCellularEnabled": [TxType.PERSISTENT],
@@ -346,6 +346,17 @@ class Params(object):
write_db(self.db, key, dat)
def put_nonblocking(key, val):
def f(key, val):
params = Params()
params.put(key, val)
t = threading.Thread(target=f, args=(key, val))
t.start()
return t
if __name__ == "__main__":
params = Params()
if len(sys.argv) > 2:
+73
View File
@@ -0,0 +1,73 @@
import numpy as np
class RunningStat():
# tracks realtime mean and standard deviation without storing any data
def __init__(self, priors=None, max_trackable=-1):
self.max_trackable = max_trackable
if priors is not None:
# initialize from history
self.M = priors[0]
self.S = priors[1]
self.n = priors[2]
self.M_last = self.M
self.S_last = self.S
else:
self.reset()
def reset(self):
self.M = 0.
self.S = 0.
self.M_last = 0.
self.S_last = 0.
self.n = 0
def push_data(self, new_data):
# short term memory hack
if self.max_trackable < 0 or self.n < self.max_trackable:
self.n += 1
if self.n == 0:
self.M_last = new_data
self.M = self.M_last
self.S_last = 0.
else:
self.M = self.M_last + (new_data - self.M_last) / self.n
self.S = self.S_last + (new_data - self.M_last) * (new_data - self.M);
self.M_last = self.M
self.S_last = self.S
def mean(self):
return self.M
def variance(self):
if self.n >= 2:
return self.S / (self.n - 1.)
else:
return 0
def std(self):
return np.sqrt(self.variance())
def params_to_save(self):
return [self.M, self.S, self.n]
class RunningStatFilter():
def __init__(self, raw_priors=None, filtered_priors=None, max_trackable=-1):
self.raw_stat = RunningStat(raw_priors, max_trackable)
self.filtered_stat = RunningStat(filtered_priors, max_trackable)
def reset(self):
self.raw_stat.reset()
self.filtered_stat.reset()
def push_and_update(self, new_data):
_std_last = self.raw_stat.std()
self.raw_stat.push_data(new_data)
_delta_std = self.raw_stat.std() - _std_last
if _delta_std<=0:
self.filtered_stat.push_data(new_data)
else:
pass
# self.filtered_stat.push_data(self.filtered_stat.mean())
# class SequentialBayesian():
+38 -5
View File
@@ -154,17 +154,40 @@ def rotate_img(img, eulers, crop=None, intrinsics=eon_intrinsics):
W_border: size[1] - W_border]
def get_camera_frame_from_calib_frame(camera_frame_from_road_frame):
camera_frame_from_ground = camera_frame_from_road_frame[:, (0, 1, 3)]
calib_frame_from_ground = np.dot(eon_intrinsics,
get_view_frame_from_road_frame(0, 0, 0, 1.22))[:, (0, 1, 3)]
ground_from_calib_frame = np.linalg.inv(calib_frame_from_ground)
camera_frame_from_calib_frame = np.dot(camera_frame_from_ground, ground_from_calib_frame)
return camera_frame_from_calib_frame
def pretransform_from_calib(calib):
roll, pitch, yaw, height = calib
view_frame_from_road_frame = get_view_frame_from_road_frame(roll, pitch, yaw, height)
camera_frame_from_road_frame = np.dot(eon_intrinsics, view_frame_from_road_frame)
camera_frame_from_calib_frame = get_camera_frame_from_calib_frame(camera_frame_from_road_frame)
return np.linalg.inv(camera_frame_from_calib_frame)
def transform_img(base_img,
augment_trans=np.array([0,0,0]),
augment_eulers=np.array([0,0,0]),
from_intr=eon_intrinsics,
to_intr=eon_intrinsics,
calib_rot_view=None,
output_size=None,
pretransform=None,
top_hacks=True):
top_hacks=False,
yuv=False,
alpha=1.0,
beta=0,
blur=0):
import cv2
if yuv:
base_img = cv2.cvtColor(base_img, cv2.COLOR_YUV2RGB_I420)
size = base_img.shape[:2]
if not output_size:
output_size = size[::-1]
@@ -180,8 +203,6 @@ def transform_img(base_img,
h*np.ones(4),
h/quadrangle_norm[:,1]))
rot = orient.rot_from_euler(augment_eulers)
if calib_rot_view is not None:
rot = calib_rot_view.dot(rot)
to_extrinsics = np.hstack((rot.T, -augment_trans[:,None]))
to_KE = to_intr.dot(to_extrinsics)
warped_quadrangle_full = np.einsum('jk,ik->ij', to_KE, np.hstack((quadrangle_world, np.ones((4,1)))))
@@ -202,7 +223,19 @@ def transform_img(base_img,
M = M.dot(pretransform)
augmented_rgb[:cyy] = cv2.warpPerspective(base_img, M, (output_size[0], cyy), borderMode=cv2.BORDER_REPLICATE)
return augmented_rgb
# brightness and contrast augment
augmented_rgb = np.clip((float(alpha)*augmented_rgb + beta), 0, 255).astype(np.uint8)
# gaussian blur
if blur > 0:
augmented_rgb = cv2.GaussianBlur(augmented_rgb,(blur*2+1,blur*2+1),cv2.BORDER_DEFAULT)
if yuv:
augmented_img = cv2.cvtColor(augmented_rgb, cv2.COLOR_RGB2YUV_I420)
else:
augmented_img = augmented_rgb
return augmented_img
def yuv_crop(frame, output_size, center=None):
# output_size in camera coordinates so u,v
+3 -3
View File
@@ -1,8 +1,8 @@
import numpy as np
from common.transformations.camera import eon_focal_length, \
vp_from_ke, get_view_frame_from_road_frame, \
FULL_FRAME_SIZE
from common.transformations.camera import (FULL_FRAME_SIZE, eon_focal_length,
get_view_frame_from_road_frame,
vp_from_ke)
# segnet
Binary file not shown.
+70 -8
View File
@@ -117,11 +117,19 @@ size_t download_file_write(void *ptr, size_t size, size_t nmeb, void *up) {
return fwrite(ptr, size, nmeb, (FILE*)up);
}
bool check_battery() {
int battery_capacity() {
std::string bat_cap_s = util::read_file("/sys/class/power_supply/battery/capacity");
int bat_cap = atoi(bat_cap_s.c_str());
return atoi(bat_cap_s.c_str());
}
int battery_current() {
std::string current_now_s = util::read_file("/sys/class/power_supply/battery/current_now");
int current_now = atoi(current_now_s.c_str());
return atoi(current_now_s.c_str());
}
bool check_battery() {
int bat_cap = battery_capacity();
int current_now = battery_current();
return bat_cap > 35 || (current_now < 0 && bat_cap > 10);
}
@@ -163,6 +171,7 @@ struct Updater {
// i hate state machines give me coroutines already
enum UpdateState {
CONFIRMATION,
LOW_BATTERY,
RUNNING,
ERROR,
};
@@ -173,6 +182,12 @@ struct Updater {
std::string error_text;
std::string low_battery_text;
std::string low_battery_title;
std::string low_battery_context;
std::string battery_cap_text;
int min_battery_cap = 35;
// button
int b_x, b_w, b_y, b_h;
int balt_x;
@@ -296,6 +311,16 @@ struct Updater {
state = ERROR;
}
void set_battery_low() {
std::lock_guard<std::mutex> guard(lock);
state = LOW_BATTERY;
}
void set_running() {
std::lock_guard<std::mutex> guard(lock);
state = RUNNING;
}
std::string stage_download(std::string url, std::string hash, std::string name) {
std::string out_fn = UPDATE_DIR "/" + util::base_name(url);
@@ -323,8 +348,14 @@ struct Updater {
assert(curl);
if (!check_battery()) {
set_error("Please plug power in to your EON and wait for charge");
return;
set_battery_low();
int battery_cap = battery_capacity();
while(battery_cap < min_battery_cap) {
battery_cap = battery_capacity();
battery_cap_text = std::to_string(battery_cap);
usleep(1000000);
}
set_running();
}
if (!check_space()) {
@@ -400,8 +431,14 @@ struct Updater {
}
if (!check_battery()) {
set_error("must have at least 35% battery to update");
return;
set_battery_low();
int battery_cap = battery_capacity();
while(battery_cap < min_battery_cap) {
battery_cap = battery_capacity();
battery_cap_text = std::to_string(battery_cap);
usleep(1000000);
}
set_running();
}
if (!recovery_fn.empty()) {
@@ -526,6 +563,27 @@ struct Updater {
}
}
void draw_battery_screen() {
low_battery_title = "Low Battery";
low_battery_text = "Please connect EON to your charger. Update will continue once EON battery reaches 35%.";
low_battery_context = "Current battery charge: " + battery_cap_text + "%";
nvgFillColor(vg, nvgRGBA(255,255,255,255));
nvgTextAlign(vg, NVG_ALIGN_CENTER | NVG_ALIGN_BASELINE);
nvgFontFace(vg, "opensans_bold");
nvgFontSize(vg, 120.0f);
nvgTextBox(vg, 110, 220, fb_w-240, low_battery_title.c_str(), NULL);
nvgFontFace(vg, "opensans_regular");
nvgFontSize(vg, 86.0f);
nvgTextBox(vg, 130, 380, fb_w-260, low_battery_text.c_str(), NULL);
nvgFontFace(vg, "opensans_bold");
nvgFontSize(vg, 86.0f);
nvgTextBox(vg, 130, 700, fb_w-260, low_battery_context.c_str(), NULL);
}
void draw_progress_screen() {
// draw progress message
nvgFontSize(vg, 64.0f);
@@ -584,11 +642,14 @@ struct Updater {
"Continue",
"Connect to WiFi");
break;
case LOW_BATTERY:
draw_battery_screen();
break;
case RUNNING:
draw_progress_screen();
break;
case ERROR:
draw_ack_screen("There was an error.", ("ERROR: " + error_text + "\n\nYou will need to retry").c_str(), NULL, "exit");
draw_ack_screen("There was an error", (error_text).c_str(), NULL, "Reboot");
break;
}
@@ -648,6 +709,7 @@ struct Updater {
glDisable(GL_BLEND);
eglSwapBuffers(display, surface);
assert(glGetError() == GL_NO_ERROR);
// no simple way to do 30fps vsync with surfaceflinger...
Binary file not shown.
+4 -1
View File
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+4 -1
View File
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+7 -10
View File
@@ -132,13 +132,12 @@ BO_ 705 AUTO_PARK_BUTTON: 8 XXX
BO_ 719 AUTO_PARK_SIGNALS_1: 8 XXX
SG_ AUTO_PARK_UNKNOWN_1 : 7|16@0+ (1,0) [0|31] "" XXX
BO_ 671 AUTO_PARK_SIGNALS_2: 8 XXX
SG_ AUTO_PARK_PARALLEL : 21|1@0+ (1,0) [0|1] "" XXX
SG_ AUTO_PARK_PERPENDICULAR_1 : 22|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
BO_ 671 AUTO_PARK_REQUEST: 8 XXX
SG_ AUTO_PARK_CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
SG_ AUTO_PARK_MAYBE_TURNING : 3|12@0+ (1,0) [0|1023] "" XXX
SG_ AUTO_PARK_TURNING_STATUS : 7|4@0+ (1,0) [0|15] "" XXX
SG_ AUTO_PARK_STATUS : 7|5@0+ (1,0) [0|15] "" XXX
SG_ AUTO_PARK_COUNTER : 55|4@0+ (1,0) [0|15] "" XXX
SG_ AUTO_PARK_MODE : 22|2@0+ (1,0) [0|3] "" XXX
SG_ AUTO_PARK_CMD : 2|11@0+ (1,-1024) [0|1] "NM" XXX
BO_ 784 AUTO_PARK_LESS_INTERESTING: 8 XXX
SG_ INCREASING_UNKNOWN : 55|8@0+ (1,0) [0|7] "" XXX
@@ -393,10 +392,8 @@ CM_ SG_ 678 LKAS_LANE_LINES "0x01 transparent lines, 0x02 left white, 0x03 right
CM_ SG_ 678 LKAS_ALERTS "(0x01, 0x02) lane sense off, (0x03, 0x04, 0x06) place hands on steering wheel, 0x07 lane departure detected + place hands on steering wheel, (0x08, 0x09) lane sense unavailable + clean front windshield, 0x0b lane sense and auto high beam unavailable + clean front windshield, 0x0c lane sense unavailable + service required, (0x00, 0x05, 0x0a, 0x0d, 0x0e, 0x0f) null";
CM_ SG_ 705 AUTO_PARK_TOGGLE_1 "set briefly when turning on or off self-parking";
CM_ SG_ 705 INCREASING_UNKNOWN "sometimes decreasing";
CM_ SG_ 671 AUTO_PARK_PARALLEL "parallel parking mode";
CM_ SG_ 671 AUTO_PARK_PERPENDICULAR_1 "perpendicular parking mode";
CM_ SG_ 671 AUTO_PARK_MAYBE_TURNING "something with autopark turning the steering wheel maybe.";
CM_ SG_ 671 AUTO_PARK_TURNING_STATUS "0 when not steering. when steering starts, 4 for two packets, and then 5 for the rest";
CM_ SG_ 671 AUTO_PARK_CMD "Request Appears to be in NM";
CM_ SG_ 671 AUTO_PARK_STATUS "1 = IDLE / NO REQUEST 9 = START REQUEST 10 = REQUEST MODE 11 = REQUEST MODE";
CM_ SG_ 784 INCREASING_UNKNOWN "perhaps distance traveled";
CM_ SG_ 826 AUTO_PARK_GEAR_1 "Reverse=0, Forward=f";
CM_ SG_ 826 AUTO_PARK_GEAR_2 "Reverse=0, Forward=f";
+33 -12
View File
@@ -33,6 +33,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -114,15 +120,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -169,16 +186,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -196,8 +213,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -261,4 +278,8 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
@@ -0,0 +1,215 @@
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_
BU_: EBCM ADAS PCM EPS VSA SCM BDY XXX EPB EON
BO_ 344 ENGINE_DATA: 8 PCM
SG_ XMISSION_SPEED : 7|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" EON
SG_ XMISSION_SPEED2 : 39|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ODOMETER : 55|8@0+ (10,0) [0|2550] "m" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 380 POWERTRAIN_DATA: 8 PCM
SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" EON
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" EON
SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" EON
SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "" EON
SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "" EON
SG_ BRAKE_SWITCH : 32|1@0+ (1,0) [0|1] "" EON
SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "" EON
SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" EON
SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_ENABLED : 45|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 432 STANDSTILL: 7 VSA
SG_ CONTROLLED_STANDSTILL : 0|1@0+ (1,0) [0|1] "" EON
SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ WHEEL_SPEED_FL : 7|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_FR : 8|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_RL : 25|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_RR : 42|15@0+ (0.01,0) [0|250] "kph" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ ZEROS_BOH : 7|12@0+ (1,0) [0|3] "" XXX
SG_ BRAKE_PUMP_REQUEST : 11|1@0+ (1,0) [0|1] "" EBCM
SG_ ZEROS_BOH2 : 10|3@0+ (1,0) [0|7] "" XXX
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 : 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|2@0+ (1,0) [0|3] "" EBCM
SG_ COMPUTER_BRAKE : 55|10@0+ (1,0) [0|1] "" EBCM
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EBCM
BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA
SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" EON
SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" EON
SG_ SET_TO_X55_2 : 47|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_PASS_UNLATCHED : 10|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_PASS_LATCHED : 11|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_DRIVER_UNLATCHED : 12|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" EON
SG_ PASS_AIRBAG_OFF : 14|1@0+ (1,0) [0|1] "" EON
SG_ PASS_AIRBAG_ON : 15|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 LOCK_STATUS: 8 XXX
SG_ DOORS_UNLOCKED : 54|1@0+ (1,0) [0|1] "" EON
SG_ DOORS_LOCKED : 55|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 780 ACC_HUD: 8 ADAS
SG_ PCM_SPEED : 7|16@0+ (0.01,0) [0|250] "kph" BDY
SG_ PCM_GAS : 23|8@0+ (1,0) [0|127] "" 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_ HUD_DISTANCE_3 : 52|1@0+ (1,0) [0|1] "" BDY
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" BDY
SG_ SET_ME_X01_2 : 55|1@0+ (1,0) [0|1] "" BDY
SG_ SET_ME_X01 : 48|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_ 804 CRUISE: 8 PCM
SG_ HUD_SPEED_KPH : 7|8@0+ (1,0) [0|255] "kph" EON
SG_ HUD_SPEED_MPH : 15|8@0+ (1,0) [0|255] "mph" EON
SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" EON
SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" EON
SG_ BOH2 : 47|8@0- (1,0) [0|255] "" EON
SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 829 LKAS_HUD: 5 ADAS
SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY
SG_ SET_ME_X41 : 6|7@0+ (1,0) [0|127] "" 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_ 892 CRUISE_PARAMS: 8 PCM
SG_ CRUISE_SPEED_OFFSET : 31|8@0- (0.1,0) [-128|127] "kph" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 1029 DOORS_STATUS: 8 BDY
SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" EON
SG_ TRUNK_OPEN : 41|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
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_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+4 -1
View File
@@ -56,6 +56,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -101,7 +102,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -204,6 +205,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -213,6 +215,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
@@ -0,0 +1,111 @@
CM_ "IMPORT _dual_can_nidec_2018.dbc"
CM_ "IMPORT _comma.dbc"
BO_ 145 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" EON
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_ COUNTER : 37|2@0+ (1,0) [0|3] "" EPS
SG_ CHECKSUM : 35|4@0+ (1,0) [0|15] "" EPS
BO_ 304 GAS_PEDAL_2: 8 PCM
SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" EON
SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" EON
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 342 STEERING_SENSORS: 6 EPS
SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" EON
SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" EON
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" EON
BO_ 399 STEER_STATUS: 7 EPS
SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" EON
SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" EON
SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" EON
SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 419 GEARBOX: 8 PCM
SG_ GEAR : 7|8@0+ (1,0) [0|256] "" EON
SG_ GEAR_SHIFTER : 35|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 422 SCM_BUTTONS: 8 SCM
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" EON
SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" EON
SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" EON
SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 487 BRAKE_PRESSURE: 4 VSA
SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" EON
SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" EON
SG_ CHECKSUM : 27|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 29|2@0+ (1,0) [0|3] "" EON
BO_ 545 ECON_STATUS: 5 XXX
SG_ ECON_ON : 23|1@0+ (1,0) [0|1] "" EON
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" EON
BO_ 660 SCM_FEEDBACK: 8 SCM
SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" EON
SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" EON
SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 862 HIGHBEAM_CONTROL: 8 ADAS
SG_ ZEROS_BOH : 7|50@0+ (1,0) [0|127] "" BDY
SG_ ZEROS_BOH_2 : 48|4@1+ (1,0) [0|15] "" XXX
SG_ HIGHBEAMS_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ AUTO_HIGHBEAMS_ACTIVE : 53|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 884 STALK_STATUS: 8 XXX
SG_ AUTO_HEADLIGHTS : 46|1@0+ (1,0) [0|1] "" EON
SG_ HIGH_BEAM_HOLD : 47|1@0+ (1,0) [0|1] "" EON
SG_ HIGH_BEAM_FLASH : 45|1@0+ (1,0) [0|1] "" EON
SG_ HEADLIGHTS_ON : 54|1@0+ (1,0) [0|1] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 891 WIPERS: 8 XXX
SG_ WIPERS : 17|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 927 RADAR_HUD: 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 : 31|8@0+ (1,0) [0|127] "" BDY
SG_ RESUME_INSTRUCTION : 21|1@0+ (1,0) [0|15] "" BDY
SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|15] "" 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
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" BDY
CM_ SG_ 419 GEAR "10 = reverse, 11 = transition";
CM_ SG_ 420 BRAKE_HOLD_RELATED "On when Brake Hold engaged";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 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" ;
CM_ "CHFFR_METRIC 342 STEER_ANGLE STEER_ANGLE 0.36 180; CHFFR_METRIC 380 ENGINE_RPM ENGINE_RPM 1 0; CHFFR_METRIC 804 ENGINE_TEMPERATURE ENGINE_TEMPERATURE 1 0";
@@ -0,0 +1,76 @@
CM_ "IMPORT _honda_2017.dbc"
CM_ "IMPORT _comma.dbc"
BO_ 316 GAS_PEDAL: 8 PCM
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" EON
BO_ 342 STEERING_SENSORS: 6 EPS
SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" EON
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 43|4@0+ (1,0) [0|15] "" EON
SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" EON
BO_ 399 STEER_STATUS: 7 EPS
SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-2985|2985] "tbd" EON
SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ STEER_STATUS : 43|4@0+ (1,0) [0|15] "" EON
SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" EON
BO_ 401 GEARBOX: 8 PCM
SG_ GEAR_SHIFTER : 5|6@0+ (1,0) [0|63] "" EON
SG_ GEAR : 35|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 404 STEERING_CONTROL: 4 EON
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ COUNTER : 29|2@0+ (1,0) [0|15] "" EPS
SG_ CHECKSUM : 27|4@0+ (1,0) [0|3] "" EPS
SG_ STEER_TORQUE : 7|16@0- (-1,0) [-32767|32767] "" EPS
BO_ 422 SCM_BUTTONS: 8 SCM
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" EON
SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" EON
SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" EON
SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" EON
SG_ DRIVERS_DOOR_OPEN : 63|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 450 EPB_STATUS: 8 XXX
SG_ EPB_BRAKE_AND_PULL : 6|1@0+ (1,0) [0|1] "" XXX
SG_ EPB_ACTIVE : 3|1@0+ (1,0) [0|1] "" XXX
SG_ EPB_STATE : 29|2@0+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
BO_ 660 SCM_FEEDBACK: 8 SCM
SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" EON
SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" EON
SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 862 HIGHBEAM_CONTROL: 8 ADAS
SG_ ZEROS_BOH : 7|50@0+ (1,0) [0|127] "" BDY
SG_ ZEROS_BOH_2 : 48|4@1+ (1,0) [0|15] "" XXX
SG_ HIGHBEAMS_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ AUTO_HIGHBEAMS_ACTIVE : 53|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 1302 ODOMETER: 8 XXX
SG_ ODOMETER : 7|24@0+ (1,0) [0|16777215] "km" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 401 GEAR "10 = reverse, 11 = transition";
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_ 401 GEAR 7 "L" 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" ;
+1 -1
View File
@@ -197,7 +197,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -30,6 +30,9 @@ BO_ 1009 PCM_CRUISE_ALT: 8 XXX
SG_ CRUISE_STATE : 10|1@0+ (1,0) [0|1] "" XXX
SG_ SET_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
BO_ 1599 LIGHT_STALK_ISH: 8 SCM
SG_ AUTO_HIGH_BEAM : 19|1@0+ (1,0) [0|1] "" XXX
CM_ SG_ 550 BRAKE_PRESSURE "seems prop to pedal force";
CM_ SG_ 550 BRAKE_POSITION "seems proportional to pedal displacement, unclear the max value of 0x1c8";
CM_ SG_ 610 TYPE "seems 1 on Corolla, 0 on all others";
@@ -1,41 +0,0 @@
CM_ "IMPORT _toyota_2017.dbc"
CM_ "IMPORT _comma.dbc"
BO_ 581 GAS_PEDAL: 5 XXX
SG_ GAS_PEDAL : 23|8@0+ (0.005,0) [0|1] "" XXX
BO_ 550 BRAKE_MODULE: 8 XXX
SG_ BRAKE_PRESSURE : 0|9@0+ (1,0) [0|511] "" XXX
SG_ BRAKE_POSITION : 16|9@0+ (1,0) [0|511] "" XXX
SG_ BRAKE_PRESSED : 37|1@0+ (1,0) [0|1] "" XXX
BO_ 608 STEER_TORQUE_SENSOR: 8 XXX
SG_ STEER_TORQUE_EPS : 47|16@0- (1.0,0) [-20000|20000] "" XXX
SG_ STEER_TORQUE_DRIVER : 15|16@0- (1,0) [-32768|32767] "" XXX
SG_ STEER_OVERRIDE : 0|1@0+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 610 EPS_STATUS: 5 EPS
SG_ IPAS_STATE : 3|4@0+ (1,0) [0|15] "" XXX
SG_ LKA_STATE : 31|7@0+ (1,0) [0|127] "" XXX
SG_ TYPE : 24|1@0+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 956 GEAR_PACKET: 8 XXX
SG_ GEAR : 13|6@0+ (1,0) [0|63] "" XXX
BO_ 1009 PCM_CRUISE_ISH: 8 XXX
SG_ MAIN_ON : 13|1@0+ (1,0) [0|3] "" XXX
SG_ CRUISE_STATE : 10|1@0+ (1,0) [0|1] "" XXX
SG_ SET_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
BO_ 1599 LIGHT_STALK_ISH: 8 SCM
SG_ AUTO_HIGH_BEAM : 19|1@0+ (1,0) [0|1] "" XXX
CM_ SG_ 550 BRAKE_PRESSURE "seems prop to pedal force";
CM_ SG_ 550 BRAKE_POSITION "seems proportional to pedal displacement, unclear the max value of 0x1c8";
CM_ SG_ 610 TYPE "seems 1 on Corolla, 0 on all others";
CM_ SG_ 1009 SET_SPEED "units seem to be whatever the car is set to";
VAL_ 956 GEAR 0 "D" 1 "S" 8 "N" 16 "R" 32 "P";
VAL_ 610 IPAS_STATE 5 "override" 3 "enabled" 1 "disabled";
VAL_ 610 LKA_STATE 25 "temporary_fault" 9 "temporary_fault2" 5 "active" 1 "standby";
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_accord_lx15t_2018_can.dbc starts here"
+33 -12
View File
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_accord_s2t_2018_can.dbc starts here"
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_civic_hatchback_ex_2017_can.dbc starts here"
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+33 -12
View File
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_crv_ex_2017_can.dbc starts here"
+33 -12
View File
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_crv_hybrid_2019_can.dbc starts here"
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+4 -1
View File
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
@@ -0,0 +1,350 @@
CM_ "AUTOGENERATED FILE, DO NOT EDIT"
CM_ "Imported file _comma.dbc starts here"
BO_ 512 GAS_COMMAND: 6 EON
SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-83.3) [0|1] "" INTERCEPTOR
SG_ GAS_COMMAND2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" INTERCEPTOR
SG_ ENABLE : 39|1@0+ (1,0) [0|1] "" INTERCEPTOR
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" INTERCEPTOR
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" INTERCEPTOR
BO_ 513 GAS_SENSOR: 6 INTERCEPTOR
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-83.3) [0|1] "" EON
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" EON
SG_ STATE : 39|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" EON
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" EON
VAL_ 513 STATE 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ;
CM_ "Imported file _dual_can_nidec_2018.dbc starts here"
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_
BU_: EBCM ADAS PCM EPS VSA SCM BDY XXX EPB EON
BO_ 344 ENGINE_DATA: 8 PCM
SG_ XMISSION_SPEED : 7|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" EON
SG_ XMISSION_SPEED2 : 39|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ODOMETER : 55|8@0+ (10,0) [0|2550] "m" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 380 POWERTRAIN_DATA: 8 PCM
SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" EON
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" EON
SG_ GAS_PRESSED : 39|1@0+ (1,0) [0|1] "" EON
SG_ ACC_STATUS : 38|1@0+ (1,0) [0|1] "" EON
SG_ BOH_17C : 37|5@0+ (1,0) [0|1] "" EON
SG_ BRAKE_SWITCH : 32|1@0+ (1,0) [0|1] "" EON
SG_ BOH2_17C : 47|10@0+ (1,0) [0|1] "" EON
SG_ BRAKE_PRESSED : 53|1@0+ (1,0) [0|1] "" EON
SG_ BOH3_17C : 52|5@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_ENABLED : 45|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 432 STANDSTILL: 7 VSA
SG_ CONTROLLED_STANDSTILL : 0|1@0+ (1,0) [0|1] "" EON
SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_ERROR_1 : 11|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_ERROR_2 : 9|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ WHEEL_SPEED_FL : 7|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_FR : 8|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_RL : 25|15@0+ (0.01,0) [0|250] "kph" EON
SG_ WHEEL_SPEED_RR : 42|15@0+ (0.01,0) [0|250] "kph" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LONG_ACCEL : 23|16@0- (0.0015384,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ ZEROS_BOH : 7|12@0+ (1,0) [0|3] "" XXX
SG_ BRAKE_PUMP_REQUEST : 11|1@0+ (1,0) [0|1] "" EBCM
SG_ ZEROS_BOH2 : 10|3@0+ (1,0) [0|7] "" XXX
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 : 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|2@0+ (1,0) [0|3] "" EBCM
SG_ COMPUTER_BRAKE : 55|10@0+ (1,0) [0|1] "" EBCM
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EBCM
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EBCM
BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA
SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_RL : 23|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_RR : 31|8@0+ (1,0) [0|255] "mph" EON
SG_ SET_TO_X55 : 39|8@0+ (1,0) [0|255] "" EON
SG_ SET_TO_X55_2 : 47|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ SEATBELT_DRIVER_LAMP : 7|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_PASS_UNLATCHED : 10|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_PASS_LATCHED : 11|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_DRIVER_UNLATCHED : 12|1@0+ (1,0) [0|1] "" EON
SG_ SEATBELT_DRIVER_LATCHED : 13|1@0+ (1,0) [0|1] "" EON
SG_ PASS_AIRBAG_OFF : 14|1@0+ (1,0) [0|1] "" EON
SG_ PASS_AIRBAG_ON : 15|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 LOCK_STATUS: 8 XXX
SG_ DOORS_UNLOCKED : 54|1@0+ (1,0) [0|1] "" EON
SG_ DOORS_LOCKED : 55|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 780 ACC_HUD: 8 ADAS
SG_ PCM_SPEED : 7|16@0+ (0.01,0) [0|250] "kph" BDY
SG_ PCM_GAS : 23|8@0+ (1,0) [0|127] "" 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_ HUD_DISTANCE_3 : 52|1@0+ (1,0) [0|1] "" BDY
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" BDY
SG_ SET_ME_X01_2 : 55|1@0+ (1,0) [0|1] "" BDY
SG_ SET_ME_X01 : 48|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_ 804 CRUISE: 8 PCM
SG_ HUD_SPEED_KPH : 7|8@0+ (1,0) [0|255] "kph" EON
SG_ HUD_SPEED_MPH : 15|8@0+ (1,0) [0|255] "mph" EON
SG_ TRIP_FUEL_CONSUMED : 23|16@0+ (1,0) [0|255] "" EON
SG_ CRUISE_SPEED_PCM : 39|8@0+ (1,0) [0|255] "" EON
SG_ BOH2 : 47|8@0- (1,0) [0|255] "" EON
SG_ BOH3 : 55|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 829 LKAS_HUD: 5 ADAS
SG_ CAM_TEMP_HIGH : 7|1@0+ (1,0) [0|255] "" BDY
SG_ SET_ME_X41 : 6|7@0+ (1,0) [0|127] "" 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_ 892 CRUISE_PARAMS: 8 PCM
SG_ CRUISE_SPEED_OFFSET : 31|8@0- (0.1,0) [-128|127] "kph" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 1029 DOORS_STATUS: 8 BDY
SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" EON
SG_ TRUNK_OPEN : 41|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
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_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
CM_ "honda_fit_hybrid_2018_can.dbc starts here"
BO_ 145 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (0.02,-512) [-20|20] "m/s2" EON
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_ COUNTER : 37|2@0+ (1,0) [0|3] "" EPS
SG_ CHECKSUM : 35|4@0+ (1,0) [0|15] "" EPS
BO_ 304 GAS_PEDAL_2: 8 PCM
SG_ ENGINE_TORQUE_ESTIMATE : 7|16@0- (1,0) [-1000|1000] "Nm" EON
SG_ ENGINE_TORQUE_REQUEST : 23|16@0- (1,0) [-1000|1000] "Nm" EON
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 342 STEERING_SENSORS: 6 EPS
SG_ STEER_ANGLE : 7|16@0- (-0.1,0) [-500|500] "deg" EON
SG_ STEER_ANGLE_RATE : 23|16@0- (1,0) [-3000|3000] "deg/s" EON
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" EON
BO_ 399 STEER_STATUS: 7 EPS
SG_ STEER_TORQUE_SENSOR : 7|16@0- (1,0) [-31000|31000] "tbd" EON
SG_ STEER_TORQUE_MOTOR : 23|16@0- (1,0) [-31000|31000] "tbd" EON
SG_ STEER_STATUS : 39|4@0+ (1,0) [0|15] "" EON
SG_ STEER_CONTROL_ACTIVE : 35|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 53|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 419 GEARBOX: 8 PCM
SG_ GEAR : 7|8@0+ (1,0) [0|256] "" EON
SG_ GEAR_SHIFTER : 35|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 422 SCM_BUTTONS: 8 SCM
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" EON
SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" EON
SG_ MAIN_ON : 47|1@0+ (1,0) [0|1] "" EON
SG_ CRUISE_SETTING : 43|2@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 487 BRAKE_PRESSURE: 4 VSA
SG_ BRAKE_PRESSURE1 : 7|10@0+ (0.015625,-103) [0|1000] "" EON
SG_ BRAKE_PRESSURE2 : 9|10@0+ (0.015625,-103) [0|1000] "" EON
SG_ CHECKSUM : 27|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 29|2@0+ (1,0) [0|3] "" EON
BO_ 545 ECON_STATUS: 5 XXX
SG_ ECON_ON : 23|1@0+ (1,0) [0|1] "" EON
SG_ CHECKSUM : 35|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 37|2@0+ (1,0) [0|3] "" EON
BO_ 660 SCM_FEEDBACK: 8 SCM
SG_ RIGHT_BLINKER : 6|1@0+ (1,0) [0|1] "" EON
SG_ LEFT_BLINKER : 5|1@0+ (1,0) [0|1] "" EON
SG_ WIPERS_SPEED : 4|2@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 862 HIGHBEAM_CONTROL: 8 ADAS
SG_ ZEROS_BOH : 7|50@0+ (1,0) [0|127] "" BDY
SG_ ZEROS_BOH_2 : 48|4@1+ (1,0) [0|15] "" XXX
SG_ HIGHBEAMS_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ AUTO_HIGHBEAMS_ACTIVE : 53|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 884 STALK_STATUS: 8 XXX
SG_ AUTO_HEADLIGHTS : 46|1@0+ (1,0) [0|1] "" EON
SG_ HIGH_BEAM_HOLD : 47|1@0+ (1,0) [0|1] "" EON
SG_ HIGH_BEAM_FLASH : 45|1@0+ (1,0) [0|1] "" EON
SG_ HEADLIGHTS_ON : 54|1@0+ (1,0) [0|1] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 891 WIPERS: 8 XXX
SG_ WIPERS : 17|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 927 RADAR_HUD: 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 : 31|8@0+ (1,0) [0|127] "" BDY
SG_ RESUME_INSTRUCTION : 21|1@0+ (1,0) [0|15] "" BDY
SG_ ACC_ALERTS : 20|5@0+ (1,0) [0|15] "" 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
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" BDY
CM_ SG_ 419 GEAR "10 = reverse, 11 = transition";
CM_ SG_ 420 BRAKE_HOLD_RELATED "On when Brake Hold engaged";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 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" ;
CM_ "CHFFR_METRIC 342 STEER_ANGLE STEER_ANGLE 0.36 180; CHFFR_METRIC 380 ENGINE_RPM ENGINE_RPM 1 0; CHFFR_METRIC 804 ENGINE_TEMPERATURE ENGINE_TEMPERATURE 1 0";
+33 -12
View File
@@ -37,6 +37,12 @@ NS_ :
BU_: EBCM EON CAM RADAR PCM EPS VSA SCM BDY XXX EPB
BO_ 148 KINEMATICS: 8 XXX
SG_ LAT_ACCEL : 7|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 25|10@0+ (-0.035,17.92) [-20|20] "m/s2" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 228 STEERING_CONTROL: 5 EON
SG_ STEER_TORQUE_REQUEST : 23|1@0+ (1,0) [0|1] "" EPS
SG_ SET_ME_X00 : 22|7@0+ (1,0) [0|127] "" EPS
@@ -118,15 +124,26 @@ BO_ 464 WHEEL_SPEEDS: 8 VSA
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 479 ACC_CONTROL: 8 EON
SG_ SET_TO_1 : 20|5@0+ (1,0) [0|1] "" PCM
SG_ SET_TO_0 : 20|5@0+ (1,0) [0|1] "" XXX
SG_ CONTROL_ON : 23|3@0+ (1,0) [0|5] "" XXX
SG_ RELATED_TO_GAS : 7|7@0+ (1,0) [0|69] "" XXX
SG_ GAS_COMMAND : 0|9@0+ (1,0) [0|1] "" PCM
SG_ GAS_BRAKE : 31|14@0- (1,0) [0|1] "" XXX
SG_ ZEROS_BOH : 33|18@0+ (1,0) [100|100] "" XXX
SG_ GAS_COMMAND : 7|16@0- (1,0) [0|0] "" XXX
SG_ ACCEL_COMMAND : 31|11@0- (1,0) [0|0] "" XXX
SG_ BRAKE_LIGHTS : 62|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_REQUEST : 34|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_RELEASE : 36|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_STATUS : 33|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_BRAKING : 47|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_PREPARE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 490 VEHICLE_DYNAMICS: 8 VSA
SG_ LAT_ACCEL : 7|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ LONG_ACCEL : 23|16@0- (0.0015,0) [-20|20] "m/s2" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 495 ACC_CONTROL_ON: 8 XXX
SG_ SET_TO_75 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ SET_TO_30 : 39|8@0+ (1,0) [0|255] "" XXX
@@ -173,16 +190,16 @@ BO_ 773 SEATBELT_STATUS: 7 BDY
SG_ CHECKSUM : 51|4@0+ (1,0) [0|3] "" EON
BO_ 777 CAR_SPEED: 8 PCM
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "" XXX
SG_ CAR_SPEED : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (1,0) [0|65535] "" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ ROUGH_CAR_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
SG_ CAR_SPEED : 7|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_3 : 39|16@0+ (0.01,0) [0|65535] "kph" XXX
SG_ ROUGH_CAR_SPEED_2 : 31|8@0+ (1,0) [0|255] "mph" XXX
SG_ LOCK_STATUS : 55|2@0+ (1,0) [0|255] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
BO_ 780 ACC_HUD: 8 ADAS
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "" BDY
SG_ CRUISE_SPEED : 31|8@0+ (1,0) [0|255] "kph" BDY
SG_ DTC_MODE : 39|1@0+ (1,0) [0|1] "" BDY
SG_ BOH : 38|1@0+ (1,0) [0|1] "" BDY
SG_ FCM_PROBLEM : 34|1@0+ (1,0) [0|1] "" BDY
@@ -200,8 +217,8 @@ BO_ 780 ACC_HUD: 8 ADAS
SG_ ACC_PROBLEM : 37|1@0+ (1,0) [0|1] "" BDY
SG_ ACC_ON : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BOH_6 : 51|4@0+ (1,0) [0|15] "" XXX
SG_ IMPERIAL_UNIT : 55|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 56|1@0+ (1,0) [0|1] "" XXX
SG_ SET_TO_X1 : 55|1@0+ (1,0) [0|1] "" XXX
SG_ IMPERIAL_UNIT : 54|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" XXX
@@ -265,6 +282,10 @@ BO_ 891 STALK_STATUS_2: 8 XXX
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
VAL_ 399 STEER_STATUS 6 "tmp_fault" 5 "fault_1" 4 "no_torque_alert_2" 3 "low_speed_lockout" 2 "no_torque_alert_1" 0 "normal" ;
CM_ "honda_insight_ex_2019_can.dbc starts here"
+4 -1
View File
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
@@ -1,48 +1,67 @@
CM_ "AUTOGENERATED FILE, DO NOT EDIT"
CM_ "Imported file _comma.dbc starts here"
BO_ 512 GAS_COMMAND: 6 EON
SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-83.3) [0|1] "" INTERCEPTOR
SG_ GAS_COMMAND2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" INTERCEPTOR
SG_ ENABLE : 39|1@0+ (1,0) [0|1] "" INTERCEPTOR
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" INTERCEPTOR
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" INTERCEPTOR
BO_ 513 GAS_SENSOR: 6 INTERCEPTOR
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-83.3) [0|1] "" EON
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" EON
SG_ STATE : 39|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" EON
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" EON
VAL_ 513 STATE 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ;
CM_ "Imported file _honda_2017.dbc starts here"
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 ADAS PCM EPS VSA SCM BDY XXX EPB EON INTERCEPTOR
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_
BU_: EBCM ADAS PCM EPS VSA SCM BDY XXX EPB EON
BO_ 344 ENGINE_DATA: 8 PCM
SG_ XMISSION_SPEED : 7|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ENGINE_RPM : 23|16@0+ (1,0) [0|15000] "rpm" EON
SG_ XMISSION_SPEED2 : 39|16@0+ (0.01,0) [0|250] "kph" EON
SG_ ODOMETER : 55|8@0+ (10,0) [0|2550] "m" XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
SG_ ZEROS : 23|16@0+ (1,0) [0|15000] "" EON
BO_ 380 POWERTRAIN_DATA: 8 PCM
SG_ PEDAL_GAS : 7|8@0+ (1,0) [0|255] "" EON
@@ -57,6 +76,16 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_ENABLED : 45|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 432 STANDSTILL: 7 VSA
SG_ CONTROLLED_STANDSTILL : 0|1@0+ (1,0) [0|1] "" EON
SG_ WHEELS_MOVING : 12|1@0+ (1,0) [0|1] "" EON
@@ -79,38 +108,27 @@ BO_ 490 VEHICLE_DYNAMICS: 8 VSA
BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ COMPUTER_BRAKE : 7|10@0+ (1,0) [0|1] "" EBCM
SG_ ZEROS_BOH : 13|5@0+ (1,0) [0|1] "" EBCM
SG_ SET_ME_X00 : 13|5@0+ (1,0) [0|1] "" EBCM
SG_ BRAKE_PUMP_REQUEST : 8|1@0+ (1,0) [0|1] "" EBCM
SG_ CRUISE_BOH2 : 23|3@0+ (1,0) [0|1] "" EBCM
SG_ SET_ME_X00_2 : 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_ SET_ME_X00_3 : 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 : 16|1@0+ (1,0) [0|1] "" EBCM
SG_ SET_ME_0X80 : 31|8@0+ (1,0) [0|1] "" EBCM
SG_ SET_ME_1 : 31|1@0+ (1,0) [0|1] "" EBCM
SG_ AEB_REQ_1 : 29|1@0+ (1,0) [0|1] "" XXX
SG_ AEB_REQ_2 : 26|3@0+ (1,0) [0|7] "" XXX
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_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ ZEROS_BOH4 : 55|8@0+ (1,0) [0|0] "" EBCM
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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_ 512 GAS_COMMAND: 6 EON
SG_ GAS_COMMAND : 7|16@0+ (0.253984064,-83.3) [0|1] "" INTERCEPTOR
SG_ GAS_COMMAND2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" INTERCEPTOR
SG_ ENABLE : 39|1@0+ (1,0) [0|1] "" INTERCEPTOR
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" INTERCEPTOR
SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" INTERCEPTOR
BO_ 513 GAS_SENSOR: 6 INTERCEPTOR
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.253984064,-83.3) [0|1] "" EON
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.126992032,-83.3) [0|1] "" EON
SG_ STATE : 39|8@0+ (1,0) [0|255] "" EON
SG_ COUNTER : 45|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 43|4@0+ (1,0) [0|3] "" EON
BO_ 597 ROUGH_WHEEL_SPEED: 8 VSA
SG_ WHEEL_SPEED_FL : 7|8@0+ (1,0) [0|255] "mph" EON
SG_ WHEEL_SPEED_FR : 15|8@0+ (1,0) [0|255] "mph" EON
@@ -184,7 +202,7 @@ BO_ 829 LKAS_HUD: 5 ADAS
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_ BOH2 : 23|2@0+ (1,0) [0|4] "" 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
@@ -199,6 +217,35 @@ BO_ 892 CRUISE_PARAMS: 8 PCM
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
BO_ 1029 DOORS_STATUS: 8 BDY
SG_ DOOR_OPEN_FL : 37|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_FR : 38|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RL : 39|1@0+ (1,0) [0|1] "" EON
SG_ DOOR_OPEN_RR : 40|1@0+ (1,0) [0|1] "" EON
SG_ TRUNK_OPEN : 41|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
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_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
CM_ "honda_odyssey_extreme_edition_2018_china_can.dbc starts here"
BO_ 316 GAS_PEDAL: 8 PCM
SG_ CAR_GAS : 39|8@0+ (1,0) [0|255] "" EON
@@ -229,15 +276,6 @@ BO_ 404 STEERING_CONTROL: 4 EON
SG_ CHECKSUM : 27|4@0+ (1,0) [0|3] "" EPS
SG_ STEER_TORQUE : 7|16@0- (-1,0) [-32767|32767] "" EPS
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_ENABLED : 45|1@0+ (1,0) [0|1] "" EON
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|15] "" EON
BO_ 422 SCM_BUTTONS: 8 SCM
SG_ CRUISE_BUTTONS : 7|3@0+ (1,0) [0|7] "" EON
SG_ LIGHTS_SETTING : 1|2@0+ (1,0) [0|3] "" EON
@@ -274,23 +312,7 @@ BO_ 1302 ODOMETER: 8 XXX
SG_ COUNTER : 61|2@0+ (1,0) [0|3] "" EON
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ "CHFFR_METRIC 342 STEER_ANGLE STEER_ANGLE 0.36 180; CHFFR_METRIC 380 ENGINE_RPM ENGINE_RPM 1 0; CHFFR_METRIC 804 ENGINE_TEMPERATURE ENGINE_TEMPERATURE 1 0";
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
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...";
CM_ SG_ 401 GEAR "10 = reverse, 11 = transition";
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_ 513 STATE 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
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_ 401 GEAR 7 "L" 10 "S" 4 "D" 3 "N" 2 "R" 1 "P" ;
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
@@ -78,6 +78,7 @@ BO_ 380 POWERTRAIN_DATA: 8 PCM
BO_ 420 VSA_STATUS: 8 VSA
SG_ USER_BRAKE : 7|16@0+ (0.015625,-1.609375) [0|1000] "" EON
SG_ COMPUTER_BRAKING : 23|1@0+ (1,0) [0|1] "" EON
SG_ ESP_DISABLED : 28|1@0+ (1,0) [0|1] "" EON
SG_ BRAKE_HOLD_RELATED : 52|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_HOLD_ACTIVE : 46|1@0+ (1,0) [0|1] "" EON
@@ -123,7 +124,7 @@ BO_ 506 BRAKE_COMMAND: 8 ADAS
SG_ CHIME : 47|3@0+ (1,0) [0|7] "" EBCM
SG_ SET_ME_X00_4 : 44|1@0+ (1,0) [0|1] "" EBCM
SG_ FCW : 43|2@0+ (1,0) [0|3] "" EBCM
SG_ AEB : 41|2@0+ (1,0) [0|3] "" XXX
SG_ AEB_STATUS : 41|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X00_5 : 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
@@ -226,6 +227,7 @@ BO_ 1029 DOORS_STATUS: 8 BDY
SG_ CHECKSUM : 59|4@0+ (1,0) [0|3] "" EON
CM_ SG_ 490 LONG_ACCEL "wheel speed derivative, noisy and zero snapping";
CM_ SG_ 506 AEB_REQ_1 "set for duration of suspected AEB event";
CM_ SG_ 773 PASS_AIRBAG_ON "Might just be indicator light";
CM_ SG_ 773 PASS_AIRBAG_OFF "Might just be indicator light";
CM_ SG_ 780 CRUISE_SPEED "255 = no speed";
@@ -235,6 +237,7 @@ CM_ SG_ 829 BEEP "beeps are pleasant, chimes are for warnngs etc...";
VAL_ 506 FCW 3 "fcw" 2 "fcw" 1 "fcw" 0 "no_fcw" ;
VAL_ 506 CHIME 4 "double_chime" 3 "single_chime" 2 "continuous_chime" 1 "repeating_chime" 0 "no_chime" ;
VAL_ 506 AEB_STATUS 3 "aeb_prepare" 2 "aeb_ready" 1 "aeb_braking" 0 "no_aeb" ;
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_ 829 BEEP 3 "single_beep" 2 "triple_beep" 1 "repeated_beep" 0 "no_beep" ;
+23
View File
@@ -1421,3 +1421,26 @@ BO_ 512 EMS20: 6 EMS
SG_ FCO : 0|16@1+ (0.128,0.0) [0.0|8388.48] "ul" CLU,CUBIS,FPCM,IBOX
SG_ CF_Ems_PumpTPres : 16|8@1+ (3.137254902,0.0) [0.0|800.0] "kPa" FPCM,IBOX
SG_ Split_Stat : 32|1@1+ (1.0,0.0) [0.0|1.0] "" FPCM
BO_ 909 FCA11: 8 FCA
SG_ CF_VSM_Prefill : 0|1@1+ (1,0) [0|1] "" ESC
SG_ CF_VSM_HBACmd : 1|2@1+ (1,0) [0|3] "" ESC
SG_ CF_VSM_Warn : 3|2@1+ (1,0) [0|3] "" ACU,CLU,ESC
SG_ CF_VSM_BeltCmd : 5|3@1+ (1,0) [0|7] "" ESC
SG_ CR_VSM_DecCmd : 8|8@1+ (0.01,0) [0|2.55] "g" ESC
SG_ FCA_Status : 18|2@1+ (1,0) [0|3] "" ACU,CLU,ESC
SG_ FCA_CmdAct : 20|1@1+ (1,0) [0|1] "" ESC
SG_ FCA_StopReq : 21|1@1+ (1,0) [0|1] "" CLU,ESC
SG_ FCA_DrvSetStatus : 22|3@1+ (1,0) [0|7] "" CLU,ESC
SG_ CF_VSM_DecCmdAct : 31|1@1+ (1,0) [0|1] "" ESC
SG_ FCA_Failinfo : 32|3@1+ (1,0) [0|7] "" ACU,CLU,ESC
SG_ CR_FCA_Alive : 56|4@1+ (1,0) [0|15] "" ESC
SG_ CR_FCA_ChkSum : 60|4@1+ (1,0) [0|15] "" ESC
BO_ 905 SCC14: 8 SCC
SG_ ComfortBandUpper : 0|6@1+ (0.02,0) [0|1.26] "m/s^2" ESC
SG_ ComfortBandLower : 6|6@1+ (0.02,0) [0|1.26] "m/s^2" ESC
SG_ JerkUpperLimit : 12|7@1+ (0.1,0) [0|12.7] "m/s^3" ESC
SG_ JerkLowerLimit : 19|7@1+ (0.1,0) [0|12.7] "m/s^3" ESC
SG_ SCCMode : 32|3@1+ (1,0) [0|7] "" ESC
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+4 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -377,6 +377,9 @@ BO_ 1009 PCM_CRUISE_ALT: 8 XXX
SG_ CRUISE_STATE : 10|1@0+ (1,0) [0|1] "" XXX
SG_ SET_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
BO_ 1599 LIGHT_STALK_ISH: 8 SCM
SG_ AUTO_HIGH_BEAM : 19|1@0+ (1,0) [0|1] "" XXX
CM_ SG_ 550 BRAKE_PRESSURE "seems prop to pedal force";
CM_ SG_ 550 BRAKE_POSITION "seems proportional to pedal displacement, unclear the max value of 0x1c8";
CM_ SG_ 610 TYPE "seems 1 on Corolla, 0 on all others";
@@ -1,388 +0,0 @@
CM_ "AUTOGENERATED FILE, DO NOT EDIT"
CM_ "Imported file _comma.dbc starts here"
BO_ 359 STEERING_IPAS_COMMA: 8 IPAS
SG_ STATE : 7|4@0+ (1,0) [0|15] "" XXX
SG_ ANGLE : 3|12@0- (1.5,0) [-510|510] "deg" XXX
SG_ SET_ME_X10 : 23|8@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X00 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ DIRECTION_CMD : 38|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X40 : 47|8@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X00 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
CM BO_ STEERING_IPAS_COMMA "Copy of msg 614 so we can do angle control while the Park Assist ECU is connected (Panda spoofs 614 with 359 on connector J70). Note that addresses 0x266 and 0x167 are checksum-invariant";
BO_ 512 GAS_COMMAND: 6 EON
SG_ GAS_COMMAND : 7|16@0+ (0.159375,-75.555) [0|1] "" INTERCEPTOR
SG_ GAS_COMMAND2 : 23|16@0+ (0.159375,-151.111) [0|1] "" INTERCEPTOR
SG_ ENABLE : 39|1@0+ (1,0) [0|1] "" INTERCEPTOR
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" INTERCEPTOR
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" INTERCEPTOR
BO_ 513 GAS_SENSOR: 6 INTERCEPTOR
SG_ INTERCEPTOR_GAS : 7|16@0+ (0.159375,-75.555) [0|1] "" EON
SG_ INTERCEPTOR_GAS2 : 23|16@0+ (0.159375,-151.111) [0|1] "" EON
SG_ STATE : 39|4@0+ (1,0) [0|15] "" EON
SG_ COUNTER_PEDAL : 35|4@0+ (1,0) [0|15] "" EON
SG_ CHECKSUM_PEDAL : 47|8@0+ (1,0) [0|255] "" EON
VAL_ 513 STATE 5 "FAULT_TIMEOUT" 4 "FAULT_STARTUP" 3 "FAULT_SCE" 2 "FAULT_SEND" 1 "FAULT_BAD_CHECKSUM" 0 "NO_FAULT" ;
CM_ "Imported file _toyota_2017.dbc starts here"
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_: XXX DSU HCU EPS IPAS CGW
BO_ 36 KINEMATICS: 8 XXX
SG_ ACCEL_Y : 33|10@0+ (1,-512) [0|65535] "" XXX
SG_ YAW_RATE : 1|10@0+ (1,-512) [0|65535] "" XXX
SG_ STEERING_TORQUE : 17|10@0+ (1,-512) [0|65535] "" XXX
BO_ 37 STEER_ANGLE_SENSOR: 8 XXX
SG_ STEER_ANGLE : 3|12@0- (1.5,0) [-500|500] "deg" XXX
SG_ STEER_FRACTION : 39|4@0- (0.1,0) [-0.7|0.7] "deg" XXX
SG_ STEER_RATE : 35|12@0- (1,0) [-2000|2000] "deg/s" XXX
BO_ 166 BRAKE: 8 XXX
SG_ BRAKE_AMOUNT : 7|8@0+ (1,0) [0|255] "" XXX
SG_ BRAKE_PEDAL : 23|8@0+ (1,0) [0|255] "" XXX
BO_ 170 WHEEL_SPEEDS: 8 XXX
SG_ WHEEL_SPEED_FR : 7|16@0+ (0.01,-67.67) [0|250] "kph" XXX
SG_ WHEEL_SPEED_FL : 23|16@0+ (0.01,-67.67) [0|250] "kph" XXX
SG_ WHEEL_SPEED_RR : 39|16@0+ (0.01,-67.67) [0|250] "kph" XXX
SG_ WHEEL_SPEED_RL : 55|16@0+ (0.01,-67.67) [0|250] "kph" XXX
BO_ 180 SPEED: 8 XXX
SG_ ENCODER : 39|8@0+ (1,0) [0|255] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
SG_ SPEED : 47|16@0+ (0.01,0) [0|250] "kph" XXX
BO_ 353 DSU_SPEED: 8 XXX
SG_ FORWARD_SPEED : 15|16@0- (0.00390625,-30) [0|255] "kph" XXX
BO_ 466 PCM_CRUISE: 8 XXX
SG_ GAS_RELEASED : 4|1@0+ (1,0) [0|1] "" XXX
SG_ CRUISE_ACTIVE : 5|1@0+ (1,0) [0|1] "" XXX
SG_ STANDSTILL_ON : 12|1@0+ (1,0) [0|1] "" XXX
SG_ ACCEL_NET : 23|16@0- (0.001,0) [-20|20] "m/s2" XXX
SG_ CRUISE_STATE : 55|4@0+ (1,0) [0|15] "" XXX
SG_ CANCEL_REQ : 49|1@1+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 467 PCM_CRUISE_2: 8 XXX
SG_ MAIN_ON : 15|1@0+ (1,0) [0|1] "" XXX
SG_ LOW_SPEED_LOCKOUT : 14|2@0+ (1,0) [0|3] "kph" XXX
SG_ SET_SPEED : 23|8@0+ (1,0) [0|255] "kph" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 552 ACCELEROMETER: 8 XXX
SG_ ACCEL_Z : 22|15@0- (1,0) [0|32767] "" XXX
SG_ ACCEL_X : 6|15@0- (0.001,0) [-20|20] "m/s2" XXX
BO_ 560 BRAKE_MODULE2: 7 XXX
SG_ BRAKE_PRESSED : 26|1@0+ (1,0) [0|1] "" XXX
BO_ 614 STEERING_IPAS: 8 IPAS
SG_ STATE : 7|4@0+ (1,0) [0|15] "" XXX
SG_ ANGLE : 3|12@0- (1.5,0) [-510|510] "deg" XXX
SG_ SET_ME_X10 : 23|8@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X00 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ DIRECTION_CMD : 38|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X40 : 47|8@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X00_1 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 643 PRE_COLLISION: 7 DSU
SG_ COUNTER : 7|8@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X00 : 15|8@0+ (1,0) [0|255] "" XXX
SG_ FORCE : 23|16@0- (2,0) [0|255] "N" XXX
SG_ SET_ME_X002 : 33|8@0+ (1,0) [0|3] "" XXX
SG_ BRAKE_STATUS : 39|3@0+ (1,0) [0|255] "" XXX
SG_ STATE : 36|3@0+ (1,0) [0|255] "" XXX
SG_ SET_ME_X003 : 40|1@0+ (1,0) [0|1] "" XXX
SG_ PRECOLLISION_ACTIVE : 41|1@0+ (1,0) [0|255] "" XXX
SG_ CHECKSUM : 55|8@0+ (1,0) [0|255] "" XXX
BO_ 740 STEERING_LKA: 5 XXX
SG_ LKA_STATE : 31|8@0+ (1,0) [0|255] "" XXX
SG_ STEER_REQUEST : 0|1@0+ (1,0) [0|1] "" XXX
SG_ COUNTER : 6|6@0+ (1,0) [0|63] "" XXX
SG_ SET_ME_1 : 7|1@0+ (1,0) [0|1] "" XXX
SG_ STEER_TORQUE_CMD : 15|16@0- (1,0) [0|65535] "" XXX
SG_ CHECKSUM : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 742 LEAD_INFO: 8 DSU
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" HCU
SG_ LEAD_REL_SPEED : 23|12@0- (0.025,0) [-100|100] "m/s" HCU
SG_ LEAD_LONG_DIST : 7|13@0+ (0.05,0) [0|300] "m" HCU
BO_ 835 ACC_CONTROL: 8 DSU
SG_ ACCEL_CMD : 7|16@0- (0.001,0) [-20|20] "m/s2" HCU
SG_ SET_ME_X01 : 23|2@0+ (1,0) [0|3] "" HCU
SG_ DISTANCE : 20|1@0+ (1,0) [0|1] "" XXX
SG_ MINI_CAR : 21|1@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X3 : 19|4@0+ (1,0) [0|15] "" XXX
SG_ SET_ME_1 : 30|1@0+ (1,0) [0|1] "" HCU
SG_ RELEASE_STANDSTILL : 31|1@0+ (1,0) [0|1] "" HCU
SG_ CANCEL_REQ : 24|1@0+ (1,0) [0|1] "" HCU
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 836 PRE_COLLISION_2: 8 DSU
SG_ CHECKSUM : 63|8@0+ (1,0) [0|0] "" XXX
BO_ 869 DSU_CRUISE : 7 DSU
SG_ RES_BTN : 3|1@0+ (1,0) [0|0] "" XXX
SG_ SET_BTN : 2|1@0+ (1,0) [0|0] "" XXX
SG_ CANCEL_BTN : 1|1@0+ (1,0) [0|0] "" XXX
SG_ MAIN_ON : 0|1@0+ (1,0) [0|0] "" XXX
SG_ SET_SPEED : 15|8@0+ (1,0) [0|0] "km/h" XXX
SG_ CRUISE_REQUEST : 31|8@0+ (100,-12800) [0|0] "N" XXX
SG_ LEAD_DISTANCE : 39|8@0+ (1,0) [0|0] "m" XXX
BO_ 921 PCM_CRUISE_SM: 8 XXX
SG_ MAIN_ON : 4|1@0+ (1,0) [0|1] "" XXX
SG_ CRUISE_CONTROL_STATE : 11|4@0+ (1,0) [0|15] "" XXX
SG_ DISTANCE_LINES : 14|2@0+ (1,0) [0|3] "" XXX
SG_ UI_SET_SPEED : 31|8@0+ (1,0) [0|255] "" XXX
BO_ 951 ESP_CONTROL: 8 ESP
SG_ TC_DISABLED : 13|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_LIGHTS_ACC : 18|1@0+ (1,0) [0|1] "" XXX
BO_ 1041 ACC_HUD: 8 DSU
SG_ FCW : 4|1@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X20 : 15|8@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X10 : 39|8@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X80 : 55|8@0+ (1,0) [0|1] "" XXX
BO_ 1042 LKAS_HUD: 8 XXX
SG_ BARRIERS : 1|2@0+ (1,0) [0|3] "" XXX
SG_ RIGHT_LINE : 3|2@0+ (1,0) [0|3] "" XXX
SG_ LEFT_LINE : 5|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X01 : 7|2@0+ (1,0) [0|3] "" XXX
SG_ SET_ME_X01_2 : 11|2@0+ (1,0) [0|3] "" XXX
SG_ LDA_ALERT : 9|2@0+ (1,0) [0|3] "" XXX
SG_ TWO_BEEPS : 12|1@0+ (1,0) [0|1] "" XXX
SG_ ADJUSTING_CAMERA : 13|1@0+ (1,0) [0|1] "" XXX
SG_ LDA_MALFUNCTION : 15|1@0+ (1,0) [0|1] "" XXX
SG_ REPEATED_BEEPS : 32|1@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X0C : 23|8@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X2C : 47|8@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X38 : 55|8@0+ (1,0) [0|1] "" XXX
SG_ SET_ME_X02 : 63|8@0+ (1,0) [0|1] "" XXX
BO_ 1408 VIN_PART_1: 8 CGW
SG_ VIN_1 : 7|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_2 : 15|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_3 : 23|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_4 : 31|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_5 : 39|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_6 : 47|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_7 : 55|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_8 : 63|8@0+ (1,0) [0|0] "" XXX
BO_ 1409 VIN_PART_2: 8 CGW
SG_ VIN_9 : 7|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_10 : 15|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_11 : 23|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_12 : 31|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_13 : 39|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_14 : 47|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_15 : 55|8@0+ (1,0) [0|0] "" XXX
SG_ VIN_16 : 63|8@0+ (1,0) [0|0] "" XXX
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
SG_ TURN_SIGNALS : 29|2@0+ (1,0) [0|3] "" XXX
BO_ 1568 SEATS_DOORS: 8 XXX
SG_ SEATBELT_DRIVER_UNLATCHED : 62|1@0+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_FL : 45|1@0+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_RL : 42|1@0+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_RR : 43|1@0+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_FR : 44|1@0+ (1,0) [0|1] "" XXX
BO_ 1570 LIGHT_STALK: 8 SCM
SG_ AUTO_HIGH_BEAM : 37|1@0+ (1,0) [0|1] "" XXX
BO_ 1161 RSA1: 8 FCM
SG_ TSGN1 : 7|8@0+ (1,0) [0|0] "" XXX
SG_ TSGNGRY1 : 12|3@0+ (1,0) [0|0] "" XXX
SG_ TSGNHLT1 : 9|2@0+ (1,0) [0|0] "" XXX
SG_ SPDVAL1 : 23|8@0+ (1,0) [0|0] "kph" XXX
SG_ SPLSGN1 : 31|4@0+ (1,0) [0|0] "" XXX
SG_ SPLSGN2 : 27|4@0+ (1,0) [0|0] "" XXX
SG_ TSGN2 : 39|8@0+ (1,0) [0|0] "" XXX
SG_ TSGNGRY2 : 44|3@0+ (1,0) [0|0] "" XXX
SG_ TSGNHLT2 : 41|2@0+ (1,0) [0|0] "" XXX
SG_ SPDVAL2 : 55|8@0+ (1,0) [0|0] "" XXX
SG_ BZRRQ_P : 63|2@0+ (1,0) [0|0] "" XXX
SG_ BZRRQ_A : 61|2@0+ (1,0) [0|0] "" XXX
SG_ SYNCID1 : 59|4@0+ (1,0) [0|0] "" XXX
BO_ 1162 RSA2: 8 FCM
SG_ TSGN3 : 7|8@0+ (1,0) [0|0] "" XXX
SG_ TSGNGRY3 : 12|3@0+ (1,0) [0|0] "" XXX
SG_ TSGNHLT3 : 9|2@0+ (1,0) [0|0] "" XXX
SG_ SPLSGN3 : 31|4@0+ (1,0) [0|0] "" XXX
SG_ SPLSGN4 : 27|4@0+ (1,0) [0|0] "" XXX
SG_ TSGN4 : 39|8@0+ (1,0) [0|0] "" XXX
SG_ TSGNGRY4 : 44|3@0+ (1,0) [0|0] "" XXX
SG_ TSGNHLT4 : 41|2@0+ (1,0) [0|0] "" XXX
SG_ DPSGNREQ : 54|1@0+ (1,0) [0|0] "" XXX
SG_ SGNNUMP : 53|3@0+ (1,0) [0|0] "" XXX
SG_ SGNNUMA : 50|3@0+ (1,0) [0|0] "" XXX
SG_ SPDUNT : 63|2@0+ (1,0) [0|0] "" XXX
SG_ TSRWMSG : 61|2@0+ (1,0) [0|0] "" XXX
SG_ SYNCID2 : 59|4@0+ (1,0) [0|0] "" XXX
BO_ 1163 RSA3: 8 FCM
SG_ TSREQPD : 7|1@0+ (1,0) [0|0] "" XXX
SG_ TSRMSW : 6|1@0+ (1,0) [0|0] "" XXX
SG_ OTSGNNTM : 5|2@0+ (1,0) [0|0] "" XXX
SG_ NTLVLSPD : 3|2@0+ (1,0) [0|0] "" XXX
SG_ OVSPNTM : 1|2@0+ (1,0) [0|0] "" XXX
SG_ OVSPVALL : 11|4@0+ (1,-5) [0|0] "" XXX
SG_ OVSPVALM : 19|4@0+ (1,-5) [0|0] "" XXX
SG_ OVSPVALH : 27|4@0+ (1,-5) [0|0] "" XXX
SG_ TSRSPU : 33|2@0+ (1,0) [0|0] "" XXX
CM_ SG_ 36 ACCEL_Y "unit is tbd";
CM_ SG_ 36 YAW_RATE "verify";
CM_ SG_ 36 STEERING_TORQUE "does not seem the steer torque, tbd";
CM_ SG_ 37 STEER_FRACTION "1/15th of the signal STEER_ANGLE, which is 1.5 deg; note that 0x8 is never set";
CM_ SG_ 37 STEER_RATE "factor is tbd";
CM_ SG_ 466 ACCEL_NET "net acceleration produced by the system, given ACCEL_CMD, road grade and other factors";
CM_ SG_ 467 SET_SPEED "43 kph are shown as 28mph, so conversion isnt perfect";
CM_ SG_ 467 LOW_SPEED_LOCKOUT "in low speed lockout, system would always disengage below 28mph";
CM_ SG_ 560 BRAKE_PRESSED "another brake pressed?";
CM_ SG_ 608 STEER_TORQUE_DRIVER "driver torque";
CM_ SG_ 608 STEER_OVERRIDE "set when driver torque exceeds a certain value";
CM_ SG_ 614 ANGLE "set to measured angle when ipas control isn't active";
CM_ SG_ 643 COUNTER "only used on cars that use this msg for cruise control";
CM_ SG_ 643 BRAKE_STATUS "only used on cars that use this msg for cruise control";
CM_ SG_ 643 PRECOLLISION_ACTIVE "set 0.5s before any braking";
CM_ SG_ 921 UI_SET_SPEED "set speed shown in UI with user set unit";
CM_ SG_ 951 BRAKE_LIGHTS_ACC "brake lights when ACC commands decel";
CM_ SG_ 1042 SET_ME_1 "unclear what this is, but it's always 1 in drive traces";
CM_ SG_ 1042 REPEATED_BEEPS "recommended for fcw and other important alerts";
CM_ SG_ 1161 SPDVAL1 "Numbers 0-199 is displayed, 200-254 displays circle without number and 255 is for no limit.";
CM_ SG_ 1161 SYNCID1 "counter from 1 to f at 1 Hz";
CM_ SG_ 1161 SPDVAL2 "conditional speed value 70"
CM_ SG_ 1162 SGNNUMP "1 if SPDVAL1 is set, otherwise 0";
CM_ SG_ 1162 SYNCID2 "counter from 1 to f at 1 Hz";
CM_ SG_ 1163 TSREQPD "always 1";
CM_ SG_ 1163 TSRMSW "always 1";
CM_ SG_ 1163 OTSGNNTM "always 3";
CM_ SG_ 1163 NTLVLSPD "always 3";
CM_ SG_ 1163 OVSPNTM "always 3";
CM_ SG_ 1163 OVSPVALL "-5 at start then 2 after 2 seconds";
CM_ SG_ 1163 OVSPVALM "-5 at start then 5 after 2 seconds";
CM_ SG_ 1163 OVSPVALH "-5 at start then 10 after 2 seconds";
CM_ SG_ 1163 TSRSPU "always 1";
VAL_ 466 CRUISE_STATE 8 "active" 7 "standstill" 1 "off";
VAL_ 467 LOW_SPEED_LOCKOUT 2 "low speed locked" 1 "ok";
VAL_ 614 STATE 3 "enabled" 1 "disabled";
VAL_ 614 DIRECTION_CMD 3 "right" 2 "center" 1 "left";
VAL_ 643 STATE 0 "normal" 1 "adaptive_cruise_control" 3 "emergency_braking";
VAL_ 921 CRUISE_CONTROL_STATE 2 "disabled" 11 "hold" 10 "hold_waiting_user_cmd" 6 "enabled" 5 "faulted";
VAL_ 1042 LDA_ALERT 3 "hold with continuous beep" 2 "LDA unavailable" 1 "hold" 0 "none";
VAL_ 1042 BARRIERS 3 "both" 2 "right" 1 "left" 0 "none";
VAL_ 1042 RIGHT_LINE 3 "orange" 2 "faded" 1 "solid" 0 "none";
VAL_ 1042 LEFT_LINE 3 "orange" 2 "faded" 1 "solid" 0 "none";
VAL_ 1553 UNITS 1 "km" 2 "miles";
VAL_ 1556 TURN_SIGNALS 3 "none" 2 "right" 1 "left";
VAL_ 1161 TSGN1 1 "speed sign" 0 "none";
VAL_ 1161 TSGN2 1 "speed sign" 0 "none";
VAL_ 1161 SPLSGN2 15 "conditional blank" 4 "wet road" 5 "rain" 0 "none";
VAL_ 1162 TSGN3 0 "none" 1 "speed sign" 2 "0 unlimited" 7 "unlimited" 16 "highway" 17 "no highway" 18 "motorway" 19 "no motorway" 20 "in city" 21 "outside city" 22 "pedestrian area" 23 "no pedestrian area" 65 "no overtaking left" 66 "no overtaking right" 67 "overtaking allowed again" 129 "no entry";
VAL_ 1162 SPLSGN3 15 "conditional blank" 4 "wet road" 5 "rain" 0 "none";
CM_ "CHFFR_METRIC 37 STEER_ANGLE STEER_ANGLE 0.36 180";
CM_ "lexus_is_hybrid_2017_pt.dbc starts here"
BO_ 581 GAS_PEDAL: 5 XXX
SG_ GAS_PEDAL : 23|8@0+ (0.005,0) [0|1] "" XXX
BO_ 550 BRAKE_MODULE: 8 XXX
SG_ BRAKE_PRESSURE : 0|9@0+ (1,0) [0|511] "" XXX
SG_ BRAKE_POSITION : 16|9@0+ (1,0) [0|511] "" XXX
SG_ BRAKE_PRESSED : 37|1@0+ (1,0) [0|1] "" XXX
BO_ 608 STEER_TORQUE_SENSOR: 8 XXX
SG_ STEER_TORQUE_EPS : 47|16@0- (1.0,0) [-20000|20000] "" XXX
SG_ STEER_TORQUE_DRIVER : 15|16@0- (1,0) [-32768|32767] "" XXX
SG_ STEER_OVERRIDE : 0|1@0+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 610 EPS_STATUS: 5 EPS
SG_ IPAS_STATE : 3|4@0+ (1,0) [0|15] "" XXX
SG_ LKA_STATE : 31|7@0+ (1,0) [0|127] "" XXX
SG_ TYPE : 24|1@0+ (1,0) [0|1] "" XXX
SG_ CHECKSUM : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 956 GEAR_PACKET: 8 XXX
SG_ GEAR : 13|6@0+ (1,0) [0|63] "" XXX
BO_ 1009 PCM_CRUISE_ISH: 8 XXX
SG_ MAIN_ON : 13|1@0+ (1,0) [0|3] "" XXX
SG_ CRUISE_STATE : 10|1@0+ (1,0) [0|1] "" XXX
SG_ SET_SPEED : 23|8@0+ (1,0) [0|255] "mph" XXX
BO_ 1599 LIGHT_STALK_ISH: 8 SCM
SG_ AUTO_HIGH_BEAM : 19|1@0+ (1,0) [0|1] "" XXX
CM_ SG_ 550 BRAKE_PRESSURE "seems prop to pedal force";
CM_ SG_ 550 BRAKE_POSITION "seems proportional to pedal displacement, unclear the max value of 0x1c8";
CM_ SG_ 610 TYPE "seems 1 on Corolla, 0 on all others";
CM_ SG_ 1009 SET_SPEED "units seem to be whatever the car is set to";
VAL_ 956 GEAR 0 "D" 1 "S" 8 "N" 16 "R" 32 "P";
VAL_ 610 IPAS_STATE 5 "override" 3 "enabled" 1 "disabled";
VAL_ 610 LKA_STATE 25 "temporary_fault" 9 "temporary_fault2" 5 "active" 1 "standby";
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+117 -51
View File
@@ -40,21 +40,21 @@ BO_ 117 STEER_RELATED: 8 XXX
SG_ CTR : 7|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 48|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_2 : 49|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_3 : 55|1@0+ (1,0) [0|63] "" XXX
SG_ NEW_SIGNAL_4 : 54|4@0+ (1,0) [0|31] "" XXX
SG_ NEW_SIGNAL_5 : 50|1@0+ (1,0) [0|1] "" XXX
SG_ STEER_TORQUE : 19|12@0+ (1,0) [0|255] "" XXX
SG_ STEER_ANGLE_2 : 39|16@0+ (1,0) [0|131071] "" XXX
SG_ NEW_SIGNAL_4 : 54|4@0+ (1,0) [0|31] "" XXX
SG_ NEW_SIGNAL_3 : 55|1@0+ (1,0) [0|63] "" XXX
SG_ STEER_ANGLE_2 : 39|16@0+ (0.1,-1800) [0|131071] "" XXX
SG_ STEER_TORQUE : 19|12@0+ (1,-2000) [0|255] "" XXX
BO_ 118 RPM_RELATED: 8 XXX
SG_ CTR : 7|8@0+ (1,0) [0|127] "" XXX
SG_ NEW_SIGNAL_2 : 19|12@0+ (1,0) [0|4095] "" XXX
BO_ 514 ENGINE_DATA: 8 XXX
SG_ RPM : 7|16@0+ (1,0) [0|65535] "" XXX
SG_ CHKSUM : 56|8@1+ (1,0) [0|127] "" XXX
SG_ SPEED : 23|16@0+ (0.01,0) [0|32767] "KPH" XXX
SG_ PEDAL_GAS : 39|12@0+ (1,0) [0|255] "" XXX
SG_ PEDAL_GAS : 39|12@0+ (0.002778,0) [0|255] "%" XXX
SG_ CHKSUM : 63|8@0+ (1,0) [0|127] "" XXX
SG_ RPM : 7|16@0+ (0.25,0) [0|8500] "rpm" XXX
SG_ SPEED : 23|16@0+ (0.01,0) [0|32767] "kph" XXX
BO_ 357 PEDALS: 8 XXX
SG_ NEW_SIGNAL_6 : 31|4@0+ (1,0) [0|1] "" XXX
@@ -71,28 +71,30 @@ BO_ 357 PEDALS: 8 XXX
SG_ NO_BRAKE_2 : 15|1@0+ (1,0) [0|7] "" XXX
BO_ 533 WHEEL_SPEEDS: 8 XXX
SG_ FL : 7|16@0+ (0.01,-100) [0|16383] "" XXX
SG_ RL : 39|16@0+ (0.01,-100) [0|15] "" XXX
SG_ RR : 55|16@0+ (0.01,-100) [0|65535] "" XXX
SG_ FR : 23|16@0+ (0.01,-100) [0|65535] "" XXX
SG_ FL : 7|16@0+ (0.01,-100) [0|16383] "kph" XXX
SG_ FR : 23|16@0+ (0.01,-100) [0|65535] "kph" XXX
SG_ RL : 39|16@0+ (0.01,-100) [0|15] "kph" XXX
SG_ RR : 55|16@0+ (0.01,-100) [0|65535] "kph" XXX
BO_ 134 STEER2: 8 XXX
SG_ NEW_SIGNAL_2 : 48|3@1+ (1,0) [0|7] "" XXX
SG_ CTR : 22|4@0+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_4 : 23|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_5 : 18|3@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_7 : 24|3@1+ (1,0) [0|7] "" XXX
SG_ CTR_2 : 28|3@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_1 : 63|2@0+ (1,0) [0|255] "" XXX
SG_ STEER_ANGLE_ROUGH : 26|11@0+ (1,-1000) [0|15] "" XXX
SG_ NEW_SIGNAL_5 : 18|3@0+ (1,0) [0|1] "" XXX
SG_ STEER_ANGLE : 7|16@0+ (0.1,-1600) [-500|500] "deg" XXX
SG_ STEER_ANGLE_ROUGH : 39|8@0- (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_1 : 63|2@0+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_3 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 47|8@0+ (1,0) [0|7] "" XXX
BO_ 576 STEER_TORQUE: 8 XXX
SG_ NEW_SIGNAL_2 : 39|8@0+ (1,0) [0|127] "" XXX
SG_ NEW_SIGNAL_1 : 20|4@1+ (1,0) [0|255] "" XXX
SG_ STEER_TORQUE_SENSOR : 7|16@0+ (0.5,-15000) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 23|4@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 47|1@0+ (1,0) [0|1] "" XXX
SG_ STEER_TORQUE_MOTOR : 46|20@0- (0.01,0) [-3000|3000] "deg/s" XXX
SG_ SENSOR1 : 39|8@0+ (1,-128) [0|127] "" XXX
SG_ STEER_TORQUE_MOTOR : 46|15@0- (0.1,0) [-3000|3000] "tbd" XXX
SG_ NEW_SIGNAL_2 : 62|4@0+ (1,0) [0|31] "" XXX
SG_ NEW_SIGNAL_4 : 15|8@0+ (1,0) [0|127] "" XXX
SG_ STEER_TORQUE_SENSOR : 7|8@0+ (1,-127) [-85|85] "" XXX
BO_ 577 STEER_RATE: 8 XXX
SG_ STEER_ANGLE_RATE : 23|16@0+ (0.25,-8192) [0|1] "deg/s" XXX
@@ -119,6 +121,7 @@ BO_ 605 CAM_PEDESTRIAN: 8 XXX
SG_ PED_BRAKE : 3|3@0+ (1,0) [0|7] "" XXX
SG_ RST_CTR : 23|6@0+ (1,0) [0|63] "" XXX
SG_ S1 : 29|4@0+ (1,0) [0|31] "" XXX
SG_ BRAKE_WARNING : 25|1@0+ (1,0) [0|1] "" XXX
BO_ 578 CAM_LANETRACK: 8 XXX
SG_ CHKSUM : 63|8@0+ (1,0) [0|255] "" XXX
@@ -132,14 +135,15 @@ BO_ 578 CAM_LANETRACK: 8 XXX
SG_ LINE1 : 3|10@0+ (1,-686) [0|1] "" XXX
BO_ 579 CAM_LKAS: 8 XXX
SG_ LKAS_REQUEST : 3|12@0+ (1,-2048) [0|2048] "" XXX
SG_ CTR : 7|4@0+ (1,0) [0|15] "" XXX
SG_ ERR_BIT_1 : 16|1@0+ (1,0) [0|1] "" XXX
SG_ CHKSUM : 63|8@0+ (1,0) [0|15] "" XXX
SG_ LINE_NOT_VISIBLE : 19|1@0+ (1,0) [0|1] "" XXX
SG_ BIT_1 : 29|1@0+ (1,0) [0|1] "" XXX
SG_ BIT_2 : 33|1@0+ (1,0) [0|1] "" XXX
SG_ ERR_BIT_2 : 30|1@0+ (1,0) [0|1] "" XXX
SG_ BIT_1 : 29|1@0+ (1,0) [0|1] "" XXX
SG_ LDW : 23|1@0+ (1,0) [0|1] "" XXX
SG_ LKAS_REQUEST : 3|12@0+ (1,-2048) [0|2048] "" XXX
BO_ 580 CAM_DISTANCE: 8 XXX
SG_ S1 : 0|8@1+ (1,0) [0|127] "" XXX
@@ -170,7 +174,17 @@ BO_ 863 CAM_STATUS: 8 XXX
SG_ NEW_SIGNAL_6 : 0|3@1+ (1,0) [0|7] "" XXX
SG_ FORWARD_COLLISION : 40|8@1+ (1,0) [0|7] "" XXX
BO_ 1157 CAM_Empty2: 8 XXX
BO_ 1157 CAM_SETTINGS: 8 XXX
SG_ NEW_SIGNAL_2 : 14|1@0+ (1,0) [0|1] "" XXX
SG_ SBS_WARNING_DISTANCE : 25|2@0+ (1,0) [0|127] "" XXX
SG_ SBS_SCBC : 28|2@0+ (1,0) [0|7] "" XXX
SG_ LKAS_ASSIT_TIMING : 13|1@0+ (1,0) [0|1] "" XXX
SG_ LKAS_SENSETIVITY : 10|1@0+ (1,0) [0|1] "" XXX
SG_ ILKAS_NTERVENTION_ON2 : 17|1@0+ (1,0) [0|255] "" XXX
SG_ LANEE_DEPARTURE_ALERT : 16|2@0+ (1,0) [0|1] "" XXX
SG_ LKAS_INERVENTION_ON1 : 15|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_1 : 12|1@0+ (1,0) [0|7] "" XXX
SG_ WARNING : 11|1@0+ (1,0) [0|1] "" XXX
BO_ 1160 CAM_Empty3: 8 XXX
SG_ NEW_SIGNAL_1 : 47|24@0+ (1,0) [0|16777215] "" XXX
@@ -189,6 +203,8 @@ BO_ 1088 CAM_LANEINFO: 8 XXX
SG_ BIT1 : 6|1@0+ (1,0) [0|65535] "" XXX
SG_ LINE_NOT_VISIBLE : 1|1@0+ (1,0) [0|1] "" XXX
SG_ LINE_VISIBLE : 0|1@0+ (1,0) [0|3] "" XXX
SG_ LDW_WARN_RL : 58|1@0+ (1,0) [0|1] "" XXX
SG_ LDW_WARN_LL : 57|1@0+ (1,0) [0|1] "" XXX
BO_ 1479 NEW_MSG_470: 8 XXX
@@ -199,7 +215,6 @@ BO_ 1446 NEW_MSG_a600: 8 XXX
BO_ 1416 MSG_18: 8 XXX
BO_ 1086 DOORS: 8 XXX
SG_ DOOR_OPEN : 30|1@0+ (1,0) [0|255] "" XXX
SG_ LEFTGATE : 32|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_3 : 53|1@0+ (1,0) [0|255] "" XXX
SG_ KEYFOB_HORN : 2|1@0+ (1,0) [0|1] "" XXX
@@ -211,6 +226,7 @@ BO_ 1086 DOORS: 8 XXX
SG_ BL : 35|1@0+ (1,0) [0|1] "" XXX
SG_ FR : 36|1@0+ (1,0) [0|1] "" XXX
SG_ FL : 37|1@0+ (1,0) [0|255] "" XXX
SG_ DOORS_UNLOCKED : 30|1@0+ (1,0) [0|255] "" XXX
BO_ 977 TWO_STATES: 8 XXX
SG_ NEW_SIGNAL_1 : 50|1@1+ (1,0) [0|7] "" XXX
@@ -232,6 +248,7 @@ BO_ 1085 MSG_12: 8 XXX
BO_ 159 MSG_11: 8 XXX
SG_ NEW_SIGNAL_1 : 50|4@1+ (1,0) [0|15] "" XXX
SG_ INCREASEING : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 1278 NEW_MSG_3: 8 XXX
SG_ NEW_SIGNAL_2 : 23|8@0+ (1,0) [0|255] "" XXX
@@ -247,7 +264,7 @@ BO_ 1277 NEW_MSG_10: 8 XXX
SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX
SG_ counter : 7|8@0+ (1,0) [0|255] "" XXX
BO_ 1275 MSG_2017_5: 8 XXX
BO_ 1275 2017_5: 8 XXX
SG_ counter : 4|5@0+ (1,0) [0|255] "" XXX
BO_ 1274 NEW_MSG_12: 8 XXX
@@ -266,15 +283,18 @@ BO_ 1078 HVAC: 8 XXX
SG_ NEW_SIGNAL_3 : 23|1@0+ (1,0) [0|65535] "" XXX
SG_ NEW_SIGNAL_4 : 56|5@0+ (1,0) [0|255] "" XXX
BO_ 1056 NEW_MSG_13: 8 XXX
SG_ BIG_COUNTER_MAYBE : 55|16@0+ (1,0) [0|255] "" XXX
BO_ 1056 CHECK_AND_TEMP: 8 XXX
SG_ NEW_SIGNAL_1 : 29|6@0+ (1,0) [0|255] "" XXX
SG_ counter_or_GEAR : 15|8@0+ (1,0) [0|255] "" XXX
SG_ INCREASING : 7|8@0+ (1,0) [0|255] "" XXX
SG_ CTR : 23|8@0+ (1,0) [0|255] "" XXX
SG_ STANDSTILL : 32|1@0+ (1,0) [0|255] "" XXX
SG_ COOLANT_TEMP : 7|8@0+ (1,0) [0|255] "" XXX
SG_ LOW_ENGINE_OIL_PRESSURE : 43|1@0+ (1,0) [0|1] "" XXX
SG_ CHECK_FUEL_CAP : 40|1@0+ (1,0) [0|1] "" XXX
SG_ CHARGING_SYSTEM_MALFUNCTION : 38|1@0+ (1,0) [0|1] "" XXX
SG_ OUTDOOR_TEMP : 63|8@0+ (0.25,-63) [0|255] "cel" XXX
BO_ 1045 MOVING: 8 XXX
BO_ 1045 TRACTION: 8 XXX
SG_ NEW_SIGNAL_2 : 20|1@0+ (1,0) [0|3] "" XXX
SG_ CTR2 : 19|4@0+ (1,0) [0|31] "" XXX
SG_ CTR3 : 8|4@1+ (1,0) [0|15] "" XXX
@@ -282,6 +302,12 @@ BO_ 1045 MOVING: 8 XXX
SG_ CTR1 : 53|6@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 54|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE : 55|1@0+ (1,0) [0|1] "" XXX
SG_ BRAKE_WARNING : 2|1@0+ (1,0) [0|1] "" XXX
SG_ ABS_MALFUNCTION : 1|2@0+ (1,0) [0|3] "" XXX
SG_ DSC_OFF : 3|1@0+ (1,0) [0|1] "" XXX
SG_ TCS_DCS_MALFUNCTION : 6|2@0+ (1,0) [0|3] "" XXX
SG_ LOUD_BEEP : 28|1@0+ (1,0) [0|1] "" XXX
SG_ TPMS_WARNING_DOUBLE_BLINK : 31|1@0+ (1,0) [0|1] "" XXX
BO_ 1034 MSG_07: 8 XXX
SG_ NEW_SIGNAL_1 : 6|3@0+ (1,0) [0|3] "" XXX
@@ -315,17 +341,17 @@ BO_ 867 NEW_MSG_17: 8 XXX
BO_ 130 STEER: 8 XXX
SG_ NEW_SIGNAL_5 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_6 : 63|8@0+ (1,0) [0|255] "" XXX
SG_ CTR : 47|8@0+ (1,0) [0|255] "" XXX
SG_ CTR_2 : 35|4@0+ (1,0) [0|255] "" XXX
SG_ CTR : 47|4@0+ (1,0) [0|255] "" XXX
SG_ STEER_ANGLE : 23|16@0+ (0.05,-1600) [500|-500] "deg" XXX
SG_ CHKSUM_MAYBE : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 120 NEW_MSG_18: 8 XXX
BO_ 120 BRAKE: 8 XXX
SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 23|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 31|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_5 : 39|8@0+ (1,0) [0|255] "" XXX
SG_ CTR : 55|8@0+ (1,0) [0|255] "" XXX
SG_ BRAKE_PRESSURE : 39|8@0+ (1,0) [0|255] "" XXX
BO_ 304 GEAR_RELATED: 8 XXX
SG_ NEW_SIGNAL_1 : 55|8@0+ (1,0) [0|255] "" XXX
@@ -397,22 +423,24 @@ BO_ 154 BLINK_INFO: 8 XXX
SG_ REAR_WIPER_ON : 0|1@0+ (1,0) [0|1] "" XXX
SG_ WIPER_LO : 33|1@1+ (1,0) [0|31] "" XXX
SG_ WIPER_HI : 34|1@0+ (1,0) [0|1] "" XXX
SG_ LOW_BEAMS : 5|2@0+ (1,0) [0|3] "" XXX
SG_ HIGH_BEAMS : 7|2@0+ (1,0) [0|3] "" XXX
SG_ LBEAM1 : 17|1@0+ (1,0) [0|1] "" XXX
SG_ LBEAM2 : 50|1@0+ (1,0) [0|1] "" XXX
SG_ LBEAM3 : 60|1@0+ (1,0) [0|1] "" XXX
BO_ 145 TURN_SWITCH: 8 XXX
SG_ NEW_SIGNAL_1 : 37|1@0+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_2 : 36|1@0+ (1,0) [0|3] "" XXX
SG_ TURN : 38|1@0+ (1,0) [0|3] "" XXX
SG_ TURN_LEFT_SWITCH : 13|1@0+ (1,0) [0|255] "" XXX
SG_ TURN_RIGHT_SWITCH : 12|1@1+ (1,0) [0|3] "" XXX
SG_ HAZARD : 10|1@0+ (1,0) [0|1] "" XXX
SG_ TURN_RIGHT_SWITCH : 12|1@0+ (1,0) [0|3] "" XXX
SG_ TURN_LEFT_SWITCH : 13|1@0+ (1,0) [0|255] "" XXX
SG_ CTR : 27|4@0+ (1,0) [0|255] "" XXX
SG_ CHKSUM : 39|8@0+ (1,0) [0|15] "" XXX
BO_ 80 MSG_04: 8 XXX
SG_ NEW_SIGNAL_1 : 25|1@0+ (1,0) [0|1] "" XXX
SG_ SIGNAL : 24|1@0+ (1,0) [0|1] "" XXX
BO_ 978 MSG_03: 8 XXX
SG_ NEW_SIGNAL_1 : 7|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 15|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 23|8@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_4 : 31|8@0+ (1,0) [0|255] "" XXX
@@ -420,6 +448,7 @@ BO_ 978 MSG_03: 8 XXX
SG_ NEW_SIGNAL_6 : 47|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_7 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_8 : 63|8@0+ (1,0) [0|255] "" XXX
SG_ CTR : 1|2@0+ (1,0) [0|255] "" XXX
BO_ 607 NEW_MSG_25: 8 XXX
@@ -539,6 +568,8 @@ BO_ 540 CRZ_CTRL: 8 XXX
SG_ ACC_GAS_MAYBE : 23|1@0+ (1,0) [0|31] "" XXX
SG_ ACC_GAS_MAYBE2 : 29|1@0+ (1,0) [0|1] "" XXX
SG_ CRZ_ACTIVE : 3|1@0+ (1,0) [0|1] "" XXX
SG_ HANDS_OFF_STEERING : 48|1@0+ (1,0) [0|1] "" XXX
SG_ HANDS_ON_STEER_WARN : 59|4@0+ (1,0) [0|255] "" XXX
BO_ 539 CRZ_INFO: 8 XXX
SG_ NEW_SIGNAL_1 : 17|1@0+ (1,0) [0|255] "" XXX
@@ -546,10 +577,10 @@ BO_ 539 CRZ_INFO: 8 XXX
SG_ NEW_SIGNAL_5 : 34|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_7 : 47|1@0+ (1,0) [0|255] "" XXX
SG_ CTR1 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ CTR2 : 63|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 37|1@0+ (1,0) [0|255] "" XXX
SG_ ACC_ACTIVE : 33|1@0+ (1,0) [0|1] "" XXX
SG_ ACCEL_CMD : 31|10@0- (1,0) [0|1] "" XXX
SG_ CHKSUM : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 121 EPB: 8 XXX
SG_ NEW_SIGNAL_1 : 4|4@0+ (1,0) [0|255] "" XXX
@@ -565,30 +596,30 @@ BO_ 121 EPB: 8 XXX
SG_ NEW_SIGNAL_11 : 45|1@0+ (1,0) [0|1] "" XXX
SG_ EPB_ACTIVE : 29|1@0+ (1,0) [0|15] "" XXX
BO_ 1070 MSG_2017_1: 8 XXX
BO_ 1070 2017_1: 8 XXX
BO_ 1183 MSG_2017_2: 8 XXX
BO_ 1183 2017_2: 8 XXX
BO_ 1243 MSG_2017_3: 8 XXX
BO_ 1243 2017_3: 8 XXX
SG_ NEW_SIGNAL_1 : 7|64@0+ (1,0) [0|18446744073709552000] "" XXX
BO_ 1269 MSG_2017_4: 8 XXX
SG_ NEW_SIGNAL_1 : 55|16@0+ (1,0) [0|18446744073709552000] "" XXX
BO_ 1178 MSG_2017_6: 8 XXX
BO_ 1178 2017_6: 8 XXX
SG_ NEW_SIGNAL_1 : 7|64@0+ (1,0) [0|18446744073709552000] "" XXX
BO_ 1179 MSG_2017_7: 8 XXX
BO_ 1179 2017_7: 8 XXX
SG_ NEW_SIGNAL_1 : 7|64@0+ (1,0) [0|18446744073709552000] "" XXX
BO_ 1435 MSG_2017_8: 8 XXX
BO_ 1435 2017_8: 8 XXX
BO_ 253 NEW_MSG_7: 8 XXX
SG_ NEW_SIGNAL_1 : 16|1@0+ (1,0) [0|65535] "" XXX
SG_ NEW_SIGNAL_2 : 41|1@0+ (1,0) [0|255] "" XXX
SG_ CTR : 23|4@0+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_2 : 41|1@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 55|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 61|1@0+ (1,0) [0|255] "" XXX
SG_ CRZ_NOT_ACTIVE : 61|1@0+ (1,0) [0|255] "" XXX
BO_ 359 NEW_MSG_11: 8 XXX
SG_ NEW_SIGNAL_1 : 15|1@0+ (1,0) [0|255] "" XXX
@@ -614,8 +645,10 @@ BO_ 512 NEW_MSG_30: 8 XXX
SG_ NEW_SIGNAL_11 : 63|8@0+ (1,0) [0|255] "" XXX
BO_ 515 MSG_01: 8 XXX
SG_ CTR : 39|8@0+ (1,0) [0|65535] "" XXX
SG_ CTR_2 : 47|8@0+ (1,0) [0|255] "" XXX
SG_ CTR : 39|4@0+ (1,0) [0|65535] "" XXX
SG_ CHKSUM : 47|8@0+ (1,0) [0|255] "" XXX
SG_ START1 : 6|1@0+ (1,0) [0|1] "" XXX
SG_ START2 : 28|5@0+ (1,0) [0|255] "" XXX
BO_ 529 NEW_MSG_36: 8 XXX
SG_ NEW_SIGNAL_1 : 22|5@0+ (1,0) [0|65535] "" XXX
@@ -684,11 +717,44 @@ BO_ 1272 MSG_17: 8 XXX
BO_ 1425 MSG_19: 8 XXX
BO_ 70 MOB1: 8 XXX
SG_ NEW_SIGNAL_1 : 1|3@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_2 : 14|6@0+ (1,0) [0|127] "" XXX
SG_ NEW_SIGNAL_3 : 23|8@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 30|6@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_5 : 38|6@0+ (1,0) [0|7] "" XXX
BO_ 64 MOB2: 8 XXX
SG_ NEW_SIGNAL_1 : 7|2@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 10|3@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 16|1@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 24|1@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_5 : 35|4@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_6 : 0|3@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_7 : 13|3@0+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_8 : 15|2@0+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_9 : 19|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_10 : 31|6@0+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_11 : 37|1@0+ (1,0) [0|1] "" XXX
BO_ 1171 MOB3: 8 XXX
BO_ 1248 MOB4: 8 XXX
CM_ SG_ 605 PED_BRAKE "3: no brake, 4: brake";
CM_ SG_ 605 BRAKE_WARNING "Flashing brake warning and audible alert for potential forward collision";
CM_ SG_ 1157 SBS_WARNING_DISTANCE "1 far, 2 mid, 3 near";
CM_ SG_ 1157 SBS_SCBC "1 off, 2 on";
CM_ SG_ 1157 LKAS_ASSIT_TIMING "1 at, 0 before";
CM_ SG_ 1157 LKAS_SENSETIVITY "0 low, 1 high";
CM_ SG_ 1157 LANEE_DEPARTURE_ALERT "1 off, 2 on";
CM_ SG_ 1157 WARNING "1 Rare, 0 often";
CM_ SG_ 1088 LANE_LINES "0 LKAS disabled, 1 no lines, 2 two lines, 3 left line, 4 right line";
CM_ SG_ 1045 ABS_MALFUNCTION "off: 0, solid: 1, slow blink: 2, fast blink: 3";
CM_ SG_ 157 CAN_OFF "Disengage Cruise if enabled, if already disabled TURN it OFF ";
CM_ SG_ 552 GEAR "0 P/N, 12 R, 2 D M1, 4 M2, 14 Shift";
CM_ SG_ 552 MORE_GEAR "";
CM_ SG_ 540 HANDS_ON_STEER_WARN "0 no warning, b warning";
+369
View File
@@ -0,0 +1,369 @@
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_: XXX X
BO_ 2 Steering: 8 XXX
SG_ Counter : 25|3@1+ (1,0) [0|7] "" XXX
SG_ Checksum : 32|8@1+ (1,0) [0|255] "" XXX
SG_ Steering_Angle : 7|16@0- (0.1,0) [0|65535] "" XXX
BO_ 64 Throttle: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Off_Accel : 60|4@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_3 : 56|4@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Cruise : 40|8@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Combo : 55|8@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Pedal : 32|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 48|7@1+ (1,0) [0|1] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|255] "" XXX
SG_ Engine_RPM : 16|12@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 12|4@1+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_4 : 28|5@1+ (1,0) [0|1] "" XXX
BO_ 65 NEW_MSG_1: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_4 : 32|12@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 16|12@1+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_5 : 31|1@0+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_6 : 48|8@1+ (1,0) [0|63] "" XXX
SG_ NEW_SIGNAL_7 : 59|2@0+ (1,0) [0|255] "" XXX
BO_ 72 NEW_MSG_2: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 40|16@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 38|3@0+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_5 : 16|8@1+ (1,0) [0|255] "" XXX
BO_ 316 NEW_MSG_3: 8 XXX
BO_ 326 Cruise_Buttons: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Signal1 : 12|30@1+ (1,0) [0|1073741823] "" XXX
SG_ Main : 42|1@1+ (1,0) [0|1] "" XXX
SG_ set : 43|1@1+ (1,0) [0|1] "" XXX
SG_ Resume : 44|1@1+ (1,0) [0|1] "" XXX
SG_ Signal2 : 45|19@1+ (1,0) [0|524287] "" XXX
BO_ 315 G_Sensor: 8 XXX
SG_ longitudinal : 63|8@0- (1,0) [0|255] "" XXX
SG_ Latitudinal : 48|8@1- (1,0) [0|255] "" XXX
BO_ 314 Wheel_Speeds: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ FR : 12|13@1+ (0.057,0) [0|255] "kph" XXX
SG_ RR : 25|13@1+ (0.057,0) [0|255] "kph" XXX
SG_ FL : 51|13@1+ (0.057,0) [0|255] "kph" XXX
SG_ RL : 38|13@1+ (0.057,0) [0|255] "kph" XXX
BO_ 73 NEW_MSG_5: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 32|8@1+ (1,0) [0|4095] "" XXX
SG_ NEW_SIGNAL_2 : 24|8@1+ (1,0) [0|127] "" XXX
BO_ 280 NEW_MSG_6: 8 XXX
SG_ NEW_SIGNAL_1 : 12|12@1- (1,0) [0|4095] "" XXX
SG_ NEW_SIGNAL_2 : 48|8@1- (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 61|1@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_4 : 40|4@1+ (1,0) [0|255] "" XXX
BO_ 281 Steering_Torque: 8 XXX
SG_ checksum : 0|8@1+ (1,0) [0|3] "" XXX
SG_ counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Steer_Torque_Sensor : 16|11@1- (-1,0) [0|3] "" XXX
SG_ Steering_Angle : 32|16@1- (-0.0217,0) [0|255] "" X
SG_ Steer_Torque_Output : 48|11@1- (-1,0) [0|31] "" XXX
BO_ 312 Brake_Pressure_L_R: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|31] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|3] "" XXX
SG_ Brake_2 : 56|8@1+ (1,0) [0|255] "" XXX
SG_ Brake_1 : 48|8@1+ (1,0) [0|255] "" XXX
BO_ 313 Brake_Pedal: 8 XXX
SG_ Brake_Pedal_On : 34|1@1+ (1,0) [0|7] "" XXX
SG_ Brake_Pedal : 36|12@1+ (1,0) [0|65535] "" XXX
BO_ 290 ES_LKAS: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ LKAS_Output : 16|13@1- (-1,0) [0|3] "" XXX
SG_ LKAS_Request : 29|1@0+ (1,0) [0|3] "" XXX
SG_ SET_1 : 12|1@0+ (1,0) [0|3] "" XXX
BO_ 722 NEW_MSG_10: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_1 : 27|3@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 56|2@1+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_5 : 45|2@0+ (1,0) [0|3] "" XXX
BO_ 544 ES_Brake: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Brake_Pressure : 16|16@1+ (1,0) [0|255] "" XXX
SG_ __Status : 36|4@1+ (1,0) [0|63] "" XXX
BO_ 545 ES_Distance: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Signal1 : 12|20@1+ (1,0) [0|15] "" XXX
SG_ Signal2 : 32|24@1+ (1,0) [0|15] "" XXX
SG_ ACC_Cancel : 56|1@1+ (1,0) [0|1] "" XXX
SG_ ACC_Set : 57|1@1+ (1,0) [0|1] "" XXX
SG_ ACC_Resume : 58|1@1+ (1,0) [0|1] "" XXX
SG_ Signal3 : 59|5@1+ (1,0) [0|1] "" XXX
BO_ 546 ES_Status: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ RPM : 16|12@1+ (1,0) [0|255] "" XXX
SG_ Cruise_Activated : 29|1@0+ (1,0) [0|3] "" XXX
SG_ Cruise_Brake : 30|1@1+ (1,0) [0|3] "" XXX
BO_ 554 ES_Blank: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ SET_65535 : 39|16@1+ (1,0) [0|16777215] "" XXX
SG_ SET_1 : 13|1@1+ (1,0) [0|7] "" XXX
BO_ 557 NEW_MSG_14: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 576 CruiseControl: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_5 : 42|1@1+ (1,0) [0|3] "" XXX
SG_ Cruise_On : 40|1@1+ (1,0) [0|3] "" XXX
SG_ Cruise_Activated : 41|1@1+ (1,0) [0|3] "" XXX
BO_ 577 NEW_MSG_16: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_1 : 16|12@1+ (1,0) [0|255] "" XXX
BO_ 552 NEW_MSG_17: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_1 : 48|1@1+ (1,0) [0|3] "" XXX
BO_ 912 Dashlights: 8 XXX
SG_ NEW_SIGNAL_1 : 32|1@1+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_2 : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ RIGHT_BLINKER : 51|1@1+ (1,0) [0|1] "" XXX
SG_ LEFT_BLINKER : 50|1@1+ (1,0) [0|3] "" XXX
SG_ SEATBELT_FL : 48|1@1+ (1,0) [0|1] "" XXX
BO_ 940 BodyInfo: 8 XXX
SG_ DASH_BTN_LIGHTS : 56|1@0+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_FL : 32|1@1+ (1,0) [0|255] "" XXX
SG_ DOOR_OPEN_FR : 33|1@1+ (1,0) [0|3] "" XXX
SG_ DOOR_OPEN_RL : 34|1@1+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_RR : 35|1@1+ (1,0) [0|1] "" XXX
SG_ DOOR_OPEN_TRUNK : 36|1@0+ (1,0) [0|1] "" XXX
SG_ FOG_LIGHTS2 : 60|1@1+ (1,0) [0|1] "" XXX
SG_ Highbeam : 58|1@1+ (1,0) [0|1] "" XXX
SG_ Lowbeam : 57|1@1+ (1,0) [0|3] "" XXX
BO_ 801 ES_DashStatus: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_10 : 49|2@1+ (1,0) [0|3] "" XXX
SG_ Brake_Pedal : 51|1@1+ (1,0) [0|3] "" XXX
SG_ Cruise_Set_Speed : 40|8@1+ (1,0) [0|255] "" XXX
SG_ Cruise_Activated : 36|1@1+ (1,0) [0|3] "" XXX
SG_ Cruise_Disengaged : 35|1@1+ (1,0) [0|3] "" XXX
SG_ Far_Distance : 56|4@1+ (1,0) [0|15] "" XXX
SG_ Car_Follow : 52|1@1+ (1,0) [0|3] "" XXX
SG_ ACC_Distance : 28|3@1+ (1,0) [0|3] "" XXX
SG_ ACC_Hold : 60|4@1+ (1,0) [0|15] "" XXX
BO_ 802 ES_LKAS_State: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ Keep_Hands_On_Wheel : 12|1@1+ (1,0) [0|1] "" XXX
SG_ Empty_Box : 13|1@1+ (1,0) [0|1] "" XXX
SG_ Signal1 : 14|3@1+ (1,0) [0|7] "" XXX
SG_ LKAS_ACTIVE : 17|1@1+ (1,0) [0|3] "" XXX
SG_ Signal2 : 18|5@1+ (1,0) [0|7] "" XXX
SG_ Backward_Speed_Limit_Menu : 23|1@1+ (1,0) [0|1] "" XXX
SG_ LKAS_ENABLE_3 : 24|1@1+ (1,0) [0|1] "" XXX
SG_ Signal3 : 25|1@1+ (1,0) [0|1] "" XXX
SG_ LKAS_ENABLE_2 : 26|1@1+ (1,0) [0|1] "" XXX
SG_ Signal4 : 27|1@1+ (1,0) [0|1] "" XXX
SG_ LKAS_Left_Line_Visible : 28|1@1+ (1,0) [0|1] "" XXX
SG_ Signal6 : 29|1@1+ (1,0) [0|1] "" XXX
SG_ LKAS_Right_Line_Visible : 30|1@1+ (1,0) [0|1] "" XXX
SG_ Signal7 : 31|1@1+ (1,0) [0|1] "" XXX
SG_ FCW_Cont_Beep : 32|1@1+ (1,0) [0|1] "" XXX
SG_ FCW_Repeated_Beep : 33|1@1+ (1,0) [0|1] "" XXX
SG_ Throttle_Management_Activated : 34|1@1+ (1,0) [0|1] "" XXX
SG_ Right_Depart : 36|1@1+ (1,0) [0|3] "" XXX
SG_ Signal5 : 37|27@1+ (1,0) [0|1] "" XXX
SG_ Vehicle_In_Front_Has_Moved : 35|1@1+ (1,0) [0|1] "" XXX
BO_ 805 ES_NEW_MSG_22: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 22|2@1+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_1 : 14|1@1+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_4 : 15|1@1+ (1,0) [0|3] "" XXX
BO_ 808 NEW_MSG_23: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 837 NEW_MSG_24: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 40|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 32|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_5 : 24|8@1+ (1,0) [0|255] "" XXX
BO_ 838 NEW_MSG_25: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 16|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 40|1@1+ (1,0) [0|3] "" XXX
BO_ 842 NEW_MSG_26: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 32|8@1+ (1,0) [0|255] "" XXX
BO_ 915 NEW_MSG_27: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 16|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 32|9@1+ (1,0) [0|255] "" XXX
BO_ 1788 NEW_MSG_28: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 40|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_4 : 48|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_5 : 16|8@1+ (1,0) [0|255] "" XXX
BO_ 816 NEW_MSG_29: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 826 NEW_MSG_30: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 839 NEW_MSG_31: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 2015 NEW_MSG_32: 8 XXX
SG_ NEW_SIGNAL_2 : 16|8@1+ (1,0) [0|255] "" XXX
BO_ 2024 NEW_MSG_33: 8 XXX
SG_ NEW_SIGNAL_1 : 24|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 0|3@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 16|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_4 : 32|8@1+ (1,0) [0|255] "" XXX
BO_ 1614 NEW_MSG_34: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 1617 NEW_MSG_35: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 1632 NEW_MSG_36: 8 XXX
SG_ NEW_SIGNAL_1 : 55|16@0+ (1,0) [0|255] "" XXX
BO_ 1650 NEW_MSG_37: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 1657 NEW_MSG_38: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 1658 NEW_MSG_39: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 33|1@1+ (1,0) [0|3] "" XXX
SG_ NEW_SIGNAL_4 : 31|1@0+ (1,0) [0|3] "" XXX
BO_ 1677 Dash_State: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_3 : 16|4@1+ (1,0) [0|15] "" XXX
SG_ Units : 29|3@1+ (1,0) [0|7] "" XXX
BO_ 1743 NEW_MSG_41: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|15] "" XXX
BO_ 1785 NEW_MSG_42: 8 XXX
SG_ NEW_SIGNAL_1 : 0|4@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 21|1@1+ (1,0) [0|31] "" XXX
SG_ NEW_SIGNAL_3 : 17|1@1+ (1,0) [0|7] "" XXX
BO_ 1759 NEW_MSG_43: 8 XXX
SG_ NEW_SIGNAL_1 : 17|1@1+ (1,0) [0|3] "" XXX
BO_ 1786 NEW_MSG_44: 8 XXX
SG_ NEW_SIGNAL_1 : 0|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_2 : 16|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 8|8@1+ (1,0) [0|15] "" XXX
BO_ 1787 NEW_MSG_45: 8 XXX
SG_ NEW_SIGNAL_1 : 0|4@1+ (1,0) [0|15] "" XXX
SG_ NEW_SIGNAL_2 : 8|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_3 : 16|8@1+ (1,0) [0|255] "" XXX
CM_ SG_ 940 FOG_LIGHTS2 "yellow fog light in the dash";
CM_ SG_ 940 Highbeam "01 = low beam, 11 = high beam";
CM_ SG_ 801 ACC_Hold "0 = No Hold, 3 = Hold";
CM_ SG_ 802 Vehicle_In_Front_Has_Moved "Crosstrek 2018 = car in front has moved";
CM_ SG_ 805 NEW_SIGNAL_3 "always 3";
CM_ SG_ 805 NEW_SIGNAL_4 "always 1";
CM_ SG_ 1677 Units "1 = imperial, 6 = metric";
+6 -3
View File
@@ -43,14 +43,16 @@ BO_ 2 Steering: 8 XXX
BO_ 64 Throttle: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|255] "" XXX
SG_ Off_Accel : 60|4@1+ (1,0) [0|7] "" XXX
SG_ NEW_SIGNAL_3 : 56|4@1+ (1,0) [0|255] "" XXX
SG_ Engine_RPM : 16|12@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Cruise : 40|8@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Combo : 55|8@1+ (1,0) [0|255] "" XXX
SG_ Throttle_Pedal : 32|8@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_2 : 48|7@1+ (1,0) [0|1] "" XXX
SG_ Counter : 8|4@1+ (1,0) [0|255] "" XXX
SG_ Engine_RPM : 16|12@1+ (1,0) [0|255] "" XXX
SG_ NEW_SIGNAL_1 : 12|4@1+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_4 : 28|5@1+ (1,0) [0|1] "" XXX
BO_ 65 NEW_MSG_1: 8 XXX
SG_ Checksum : 0|8@1+ (1,0) [0|255] "" XXX
@@ -358,6 +360,7 @@ BO_ 1787 NEW_MSG_45: 8 XXX
CM_ SG_ 940 FOG_LIGHTS2 "yellow fog light in the dash";
CM_ SG_ 940 Highbeam "01 = low beam, 11 = high beam";
CM_ SG_ 802 Traffic_light_Ahead "Crosstrek 2018 = car in front has moved";
CM_ SG_ 805 NEW_SIGNAL_3 "always 3";
CM_ SG_ 805 NEW_SIGNAL_4 "always 1";
CM_ SG_ 1677 Units "1 = imperial, 6 = metric";
+330 -5
View File
@@ -384,11 +384,187 @@ BO_ 1043 AVN1S31: 8 CGW
SG_ GMTDIF_M : 50|6@0+ (1,0) [0|0] "minute" Vector__XXX
SG_ SUMMERTM : 60|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075054137 BDB1F01_14: 8 CGW
SG_ BDBF01ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDBF01IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ SALR : 23|6@0+ (1,0) [0|0] "" Vector__XXX
SG_ HDCY_BDB : 17|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ AARE_B : 31|4@0+ (1,0) [0|0] "" Vector__XXX
SG_ I_SEN_B : 27|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ INTSET_B : 26|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ INCSET_B : 25|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ ISSD_BDB : 39|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ SEID : 37|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ WS_ID : 44|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ WS_SWON : 41|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ WS_DATA : 55|16@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075185211 BDB1F03_16: 8 CGW
SG_ BDBF03ID : 7|8@0+ (1,0) [0|0] "" DS1,FCM,MAV
SG_ BDBF03IF : 15|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ TRIP_CNT : 23|16@0+ (1,0) [0|0] "trip" AFS,BSR,CSR,DS1,FCM,MAV
SG_ TIME_CNT : 39|32@0+ (100,0) [0|0] "ms" AFS,BSR,CSR,DS1,FCM,MAV
BO_ 1074791968 BDB1S01_10: 8 CGW
SG_ BDB01_ID : 7|8@0+ (1,0) [0|0] "" FCM,MAV
SG_ BDB01_IF : 15|8@0+ (1,0) [0|0] "" FCM
SG_ LX : 23|16@0+ (0.2,0) [0|0] "ms" FCM
SG_ ADIM : 39|2@0+ (1,0) [0|0] "" AFS,BSR,CSR
SG_ IG_BDB : 37|1@0+ (1,0) [0|0] "" AFS,MAV
SG_ ACC_BDB : 36|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SKSW : 46|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ DCTY : 45|1@0+ (1,0) [0|0] "" FCM,MAV,SCS
SG_ PCTY : 44|1@0+ (1,0) [0|0] "" MAV,SCS
SG_ RRCY : 43|1@0+ (1,0) [0|0] "" MAV,SCS
SG_ RLCY : 42|1@0+ (1,0) [0|0] "" MAV,SCS
SG_ BCTY : 41|1@0+ (1,0) [0|0] "" MAV,SCS
SG_ PSW : 51|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ SRBZ : 49|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ DBKL : 63|2@0+ (1,0) [0|0] "" FCM
SG_ PKB_BDB : 60|1@0+ (1,0) [0|0] "" CSR
SG_ SREXIST : 59|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SRPOS : 58|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1074857505 BDB1S02_11: 8 CGW
SG_ BDB02_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB02_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ LUD : 23|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ TRNKOPN : 45|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1074923042 BDB1S03_12: 8 CGW
SG_ BDB03_ID : 7|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ BDB03_IF : 15|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ LTS : 23|4@0+ (1,0) [0|0] "" Vector__XXX
SG_ PANL : 19|1@0+ (1,0) [0|0] "" BSR,CSR
SG_ UDRL : 31|1@0+ (1,0) [0|0] "" AFS
SG_ HEDH : 30|1@0+ (1,0) [0|0] "" AFS,DS1,FCM
SG_ HEDL : 29|1@0+ (1,0) [0|0] "" AFS,DS1
SG_ TAIL : 28|1@0+ (1,0) [0|0] "" AFS,BSR,CSR,DS1
SG_ FFOG : 27|1@0+ (1,0) [0|0] "" DS1
SG_ RFOG : 26|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SB_IND : 39|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ SB_OK : 37|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ RTRRQ : 35|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SRWARN : 51|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ PWWARN : 50|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ WEL_REQ : 48|1@0+ (1,0) [0|0] "" AFS
SG_ DRPBZ_R : 62|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075381795 BDB1S04_19: 8 CGW
SG_ BDB04_ID : 7|8@0+ (1,0) [0|0] "" MAV
SG_ BDB04_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MRMV_R : 23|2@0+ (1,0) [0|0] "" MAV
SG_ RSEL : 21|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSEL : 20|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MHR : 19|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MHL : 18|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MVU : 17|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MVD : 16|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ GHSW : 31|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ GCTY : 30|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ GHOPN : 42|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ ABIF : 55|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ FLSHRQ : 63|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ SB_ADV : 60|2@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1074988600 BDB1S05_13: 8 CGW
SG_ BDB05_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB05_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ PARK : 23|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ TSWB : 21|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSWD : 20|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSWP : 19|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSWR : 18|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSWL : 17|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LSWB : 16|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ DRVKS_R : 31|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ PWDRD : 39|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ PWDRP : 37|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ PWDRR : 35|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ PWDRL : 33|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ DKLS : 43|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ BKLS : 54|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ KIDSCN_R : 51|7@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075250736 BDB1S06_17: 8 CGW
SG_ BDB06_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB06_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ TBSW : 25|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ WBZF : 39|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ WVOL : 42|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075316273 BDB1S07_18: 8 CGW
SG_ BDB07_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB07_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ WCD : 23|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ W1D : 31|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ W2D : 39|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ W3D : 47|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB7SUM1 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB7SUM2 : 63|8@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075447332 BDB1S08_1A: 8 CGW
SG_ BDB08_ID : 7|8@0+ (1,0) [0|0] "" DS1,FCM,MAV
SG_ BDB08_IF : 15|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ DEST_BDB : 23|8@0+ (1,0) [0|0] "" AFS,BSR,CSR,DS1,FCM,MAV
SG_ DS_PACK1 : 31|8@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM,MAV
SG_ DS_PACK2 : 39|8@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM,MAV
SG_ STRG_WHL : 47|2@0+ (1,0) [0|0] "" AFS,CSR,DS1,FCM,MAV
SG_ DEICER : 40|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ KEYPLATE : 55|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ DBLLCK : 62|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ U2OP_CST : 61|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ U2OP_DFT : 60|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075643943 BDB1S11_1D: 8 CGW
SG_ BDB11_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB11_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDBREQ11 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDBREQ12 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1083704892 BDB1S17_98: 8 CGW
SG_ BDB17_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB17_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ CHABASE1 : 23|8@0+ (1,0) [0|0] "" AFS
SG_ CHABASE2 : 31|8@0+ (1,0) [0|0] "" AFS
SG_ CHABASE3 : 39|8@0+ (1,0) [0|0] "" AFS
SG_ CHA_NO1 : 47|4@0+ (1,0) [0|0] "" AFS
SG_ CHA_NO2 : 43|4@0+ (1,0) [0|0] "" AFS
SG_ CHA_NO3 : 55|4@0+ (1,0) [0|0] "" AFS
SG_ SP_BODY : 63|5@0+ (1,0) [0|0] "" AFS
BO_ 1083770429 BDB1S18_99: 8 CGW
SG_ BDB18_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB18_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ POP_NAME : 23|8@0+ (1,0) [0|0] "" AFS
SG_ BODY : 31|8@0+ (1,0) [0|0] "" AFS
SG_ GEAR : 39|8@0+ (1,0) [0|0] "" AFS
SG_ GRADE : 47|8@0+ (1,0) [0|0] "" AFS
SG_ ENGINE : 55|8@0+ (1,0) [0|0] "" AFS
BO_ 1020 BDB1S19: 8 CGW
SG_ SOLAR_R : 23|9@0+ (100,0) [0|0] "" Vector__XXX
SG_ SOLAR_L : 39|9@0+ (100,0) [0|0] "" Vector__XXX
SG_ N_LX : 55|13@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1083835966 BDB1S20_9A: 8 CGW
SG_ BDB20_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB20_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ RNBDYC : 31|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ RNBDYD : 39|32@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1083901503 BDB1S21_9B: 8 CGW
SG_ BDB21_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ BDB21_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ RFOG_SW : 22|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ FFOG_SW : 21|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ HF_SW : 20|1@0+ (1,0) [0|0] "" AFS
SG_ HU_SW : 19|1@0+ (1,0) [0|0] "" AFS
SG_ AUTO_SW : 18|1@0+ (1,0) [0|0] "" AFS
SG_ HEAD_SW : 17|1@0+ (1,0) [0|0] "" AFS
SG_ TAIL_SW : 16|1@0+ (1,0) [0|0] "" AFS
SG_ DRL_OFF : 24|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1005 BGM1S01: 2 CGW
SG_ WCAA : 7|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ R_DISP : 1|1@0+ (1,0) [0|0] "" Vector__XXX
@@ -438,6 +614,9 @@ BO_ 918 CSR1S01: 7 CSR
SG_ MUTE : 49|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ BZ_OFF : 48|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1087768273 DMS1S02_D6: 8 CGW
SG_ SS_MODE : 25|2@0+ (1,0) [0|0] "" Vector__XXX
BO_ 869 DS11D70: 7 DS1
SG_ D_TRGJDG : 7|4@0+ (1,0) [0|0] "" Vector__XXX
SG_ D_RESSW : 3|1@0+ (1,0) [0|0] "" Vector__XXX
@@ -1066,6 +1245,102 @@ BO_ 1263 MAV1N01: 8 MAV
SG_ MAVSNG : 15|1@0+ (1,0) [0|0] "" CGW
SG_ MAVSPF : 23|16@0+ (1,0) [0|0] "" CGW
BO_ 1075840528 MET1S01_20: 8 CGW
SG_ MET01_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET01_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET_SPD : 23|8@0+ (1,0) [0|0] "km/h" CSR
SG_ RHEOSTAT : 30|7@0+ (1,0) [0|0] "%" Vector__XXX
SG_ TAIL_CN : 39|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ ILL_OF : 37|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ UNIT_TMP : 33|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ IN_FC : 47|16@0+ (0.1,0) [0|0] "Note" Vector__XXX
SG_ UNIT_0 : 63|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ SP_TL : 60|4@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET_TC : 56|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075906065 MET1S02_21: 8 CGW
SG_ MET02_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET02_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET_DEST : 23|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ ODO_UNIT : 29|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ OMRS : 27|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ UNIT_CH : 26|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ ODO : 39|32@0+ (1,0) [0|0] "km/mile" Vector__XXX
BO_ 1076037145 MET1S04_23: 8 CGW
SG_ MET04_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET04_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ AF_FC : 23|16@0+ (0.1,0) [0|0] "Note" Vector__XXX
SG_ UNIT_3 : 39|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ RANGE : 47|16@0+ (1,0) [0|0] "Note" Vector__XXX
SG_ UNIT_4 : 63|2@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1076102682 MET1S05_24: 8 CGW
SG_ MET05_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET05_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ TO_SP : 23|16@0+ (0.1,0) [0|0] "km/h,MPH" Vector__XXX
SG_ UNIT_5 : 39|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ TO_FC : 47|16@0+ (0.1,0) [0|0] "MPGEkm/lEl/100kmEkm/gallon" Vector__XXX
SG_ UNIT_6 : 63|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1076299282 MET1S08_27: 8 CGW
SG_ MET08_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET08_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ TO_DT : 23|16@0+ (1,0) [0|0] "km,mile" Vector__XXX
SG_ UNIT_10 : 39|2@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1076364819 MET1S09_28: 8 CGW
SG_ MET09_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET09_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ WASH : 21|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ BLVW : 20|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ C_CW : 31|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ ENGW : 29|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ ABSW : 28|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ VSCW : 27|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ OPW : 37|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ OLW : 36|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LW : 35|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ FSRS : 33|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ HALW : 46|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ BRW : 43|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ TIRW : 42|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ FWW : 40|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SUSW : 53|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LKAW : 61|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET_PCSW : 59|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ WTPW : 57|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1076430356 MET1S10_29: 8 CGW
SG_ MET10_ID : 7|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ MET10_IF : 15|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ OM_MLG : 23|7@0+ (100,0) [0|0] "miles" Vector__XXX
SG_ PR_OM_FL : 16|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ TNS : 29|2@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM
SG_ HZS : 27|1@0+ (1,0) [0|0] "" AFS,FCM
BO_ 1076495893 MET1S11_2A: 8 CGW
SG_ MET11_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET11_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ UNIT_CH2 : 23|2@0+ (1,0) [0|0] "" FCM
SG_ TOLER_A : 21|6@0+ (0.002,0.94) [0|0] "" FCM
SG_ CDISP_EX : 31|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ TOLER_B : 29|6@0- (0.2,0) [0|0] "km/h" FCM
SG_ TRIP_B : 39|32@0+ (0.1,0) [0|0] "km/MILE" Vector__XXX
BO_ 1076561430 MET1S12_2B: 8 CGW
SG_ MET12_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ MET12_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ ESLW : 19|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ CSOW : 24|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LHLW : 37|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ SMBW : 33|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ KDSW : 32|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ OMRW : 46|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ BSDW : 54|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ MTSW : 48|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ ATSW : 63|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 992 MET1S18: 8 CGW
SG_ M_LANG : 7|6@0+ (1,0) [0|0] "" Vector__XXX
SG_ M_LNG_ST : 1|2@0+ (1,0) [0|0] "" Vector__XXX
@@ -1077,6 +1352,35 @@ BO_ 992 MET1S18: 8 CGW
SG_ M_LNGDB6 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ M_LNGDB7 : 63|7@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1075840755 MET1S22_20: 8 CGW
SG_ ID6F320 : 7|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ IF6F320 : 15|8@0+ (1,0) [0|0] "" DS1,FCM
SG_ TSR_OSM : 22|2@0+ (1,0) [0|0] "" FCM
SG_ TSR_OSL : 20|2@0+ (1,0) [0|0] "" FCM
SG_ TSR_SNM : 18|2@0+ (1,0) [0|0] "" FCM
SG_ TSR_MAIN : 16|1@0+ (1,0) [0|0] "" FCM
SG_ LDAMCUS : 31|2@0+ (1,0) [0|0] "" FCM
SG_ LDAMSW : 29|2@0+ (1,0) [0|0] "" FCM
SG_ FCMUSER : 27|1@0+ (1,0) [0|0] "" FCM
SG_ FCMMCUS : 26|2@0+ (1,0) [0|0] "" FCM
SG_ FCMMSW : 24|1@0+ (1,0) [0|0] "" FCM
SG_ BSMMSW : 37|1@0+ (1,0) [0|0] "" BSR
SG_ CSRMSW : 34|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ PCSMCUS : 41|1@0+ (1,0) [0|0] "" DS1
SG_ PCSMSW : 40|1@0+ (1,0) [0|0] "" DS1
SG_ LKACTCSW : 51|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ LDA_SFB : 50|3@0+ (1,0) [0|0] "" FCM
BO_ 1088685760 PMN1F03_E4: 8 CGW
SG_ PMNF03ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ PMNF03IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ PSSW_PMN : 17|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ PSW_PMN : 31|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ KCC_PMN : 29|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ PMOD_PMN : 27|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ MOD_EIG : 39|3@0+ (1,0) [0|0] "" Vector__XXX
SG_ SWBZ_EIG : 36|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1193 SCS1D50: 8 SCS
SG_ DRSCS01 : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ DRSCS02 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
@@ -1111,7 +1415,7 @@ BO_ 917 SCS1S90: 4 SCS
SG_ LAR_HS : 18|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ AVSNI : 16|1@0+ (1,0) [0|0] "" Vector__XXX
BO_ 37 Steering_Angle_sensor: 8 CGW
BO_ 37 STR1S01: 8 CGW
SG_ STS3 : 7|1@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM,MAV
SG_ STS2 : 6|1@0+ (1,0) [0|0] "" AFS,DS1,FCM,KSS,MAV,SCS
SG_ STS1 : 5|1@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM,KSS,MAV,SCS
@@ -1129,7 +1433,7 @@ BO_ 1059 STR1S02: 1 CGW
SG_ SFR : 5|1@0+ (1,0) [0|0] "" MAV
SG_ STRWVG : 4|1@0+ (1,0) [0|0] "" AFS,BSR,DS1,FCM
BO_ 170 Wheel_speeds: 8 CGW
BO_ 170 VSC1F01: 8 CGW
SG_ VXFREF : 7|1@0+ (1,0) [0|0] "" AFS,FCM,MAV
SG_ VXFR : 6|15@0+ (0.01,-67.67) [0|0] "km/h" AFS,BSR,DS1,FCM,KSS,MAV,SCS
SG_ VXFLEF : 23|1@0+ (1,0) [0|0] "" AFS,FCM,MAV
@@ -1154,7 +1458,7 @@ BO_ 426 VSC1F02: 6 CGW
SG_ VXRLHDS : 22|1@0+ (1,0) [0|0] "" FCM,KSS,MAV,SCS
SG_ VSCF02SM : 47|8@0+ (1,0) [0|0] "" AFS,DS1,FCM,MAV
BO_ 550 Brake_module: 8 CGW
BO_ 550 VSC1F06: 8 CGW
SG_ VSCF01FG : 7|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ AHCURQ : 4|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ PMCF : 3|1@0+ (1,0) [0|0] "" DS1
@@ -1172,7 +1476,7 @@ BO_ 550 Brake_module: 8 CGW
SG_ FSTP : 60|1@0+ (1,0) [0|0] "" DS1
SG_ ABSACT : 59|1@0+ (1,0) [0|0] "" DS1,FCM,MAV
BO_ 180 Speed : 8 CGW
BO_ 180 VSC1S03: 8 CGW
SG_ SP1P : 39|6@0+ (1,0) [0|0] "" DS1,FCM
SG_ SP1S : 33|1@0+ (1,0) [0|0] "" BSR,DS1,FCM,MAV
SG_ SP1 : 47|16@0- (0.01,0) [0|0] "km/h" BSR,DS1,FCM,MAV
@@ -1292,7 +1596,7 @@ BO_ 544 VSC2F07: 4 CGW
SG_ DAC_CND : 9|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ VSC2F07S : 31|8@0+ (1,0) [0|0] "" DS1,FCM
BO_ 36 Kinematics: 8 CGW
BO_ 36 YGS1S03: 8 CGW
SG_ YRS11S : 7|1@0+ (1,0) [0|0] "" DS1,FCM,MAV
SG_ YRS14S : 6|1@0+ (1,0) [0|0] "" DS1,FCM,MAV
SG_ YRS21S : 5|1@0+ (1,0) [0|0] "" DS1,FCM,MAV
@@ -1311,3 +1615,24 @@ BO_ 36 Kinematics: 8 CGW
SG_ YR_DIF : 55|8@0+ (0.244,-31) [0|0] "deg/sec" DS1,FCM,MAV
SG_ YGS03SUM : 63|8@0+ (1,0) [0|0] "" DS1,FCM,MAV
BO_ 1073743490 YGW1S01_0: 8 CGW
SG_ YGW01_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YGW01_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_STSW : 22|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_EGST : 20|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_DRLK : 18|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_KLEG : 16|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_HZRD : 26|3@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1073743491 YGW1S02_0: 8 CGW
SG_ YGW02_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YGW02_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_DEFOG : 19|2@0+ (1,0) [0|0] "" Vector__XXX
SG_ YR_ARCON : 17|2@0+ (1,0) [0|0] "" Vector__XXX
BO_ 1073743494 YGW1S05_0: 8 CGW
SG_ YGW05_ID : 7|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YGW05_IF : 15|8@0+ (1,0) [0|0] "" Vector__XXX
SG_ YI_IMO_E : 23|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YI_UREQ : 16|1@0+ (1,0) [0|0] "" Vector__XXX
SG_ YI_RE : 47|16@0+ (1,0) [0|0] "" Vector__XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+1 -1
View File
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
@@ -231,7 +231,7 @@ BO_ 1409 VIN_PART_2: 8 CGW
BO_ 1410 VIN_PART_3: 8 CGW
SG_ VIN_17 : 7|8@0+ (1,0) [0|0] "" XXX
BO_ 1553 UI_SEETING: 8 XXX
BO_ 1553 UI_SETTING: 8 XXX
SG_ UNITS : 26|2@0+ (1,0) [0|3] "" XXX
BO_ 1556 STEERING_LEVERS: 8 XXX
+2
View File
@@ -4,6 +4,7 @@
*.o
*.so
*.d
*.dump
a.out
*~
.#*
@@ -12,4 +13,5 @@ pandacan.egg-info/
board/obj/
examples/output.csv
.DS_Store
.vscode
nosetests.xml
+1 -1
View File
@@ -1 +1 @@
v1.4.3
v1.4.7
+7 -3
View File
@@ -48,8 +48,12 @@ void detect_configuration(void) {
has_external_debug_serial = detect_with_pull(GPIOA, 3, PULL_DOWN);
#ifdef PANDA
// check if the ESP is trying to put me in boot mode
is_entering_bootmode = !detect_with_pull(GPIOB, 0, PULL_UP);
if(hw_type == HW_TYPE_WHITE_PANDA) {
// check if the ESP is trying to put me in boot mode
is_entering_bootmode = !detect_with_pull(GPIOB, 0, PULL_UP);
} else {
is_entering_bootmode = 0;
}
#else
is_entering_bootmode = 0;
#endif
@@ -58,4 +62,4 @@ void detect_configuration(void) {
// ///// Board functions ///// //
bool board_has_gps(void) {
return ((hw_type == HW_TYPE_GREY_PANDA) || (hw_type == HW_TYPE_BLACK_PANDA));
}
}
+2 -2
View File
@@ -24,7 +24,7 @@ struct board {
};
// ******************* Definitions ********************
// These should match the enum in cereal/log.capnp
// These should match the enums in cereal/log.capnp and __init__.py
#define HW_TYPE_UNKNOWN 0U
#define HW_TYPE_WHITE_PANDA 1U
#define HW_TYPE_GREY_PANDA 2U
@@ -54,4 +54,4 @@ struct board {
#define CAN_MODE_OBD_CAN2 3U
// ********************* Globals **********************
uint8_t usb_power_mode = USB_POWER_NONE;
uint8_t usb_power_mode = USB_POWER_NONE;
+26 -8
View File
@@ -23,8 +23,9 @@ void black_enable_can_transciever(uint8_t transciever, bool enabled) {
}
void black_enable_can_transcievers(bool enabled) {
for(uint8_t i=1; i<=4U; i++)
for(uint8_t i=1U; i<=4U; i++){
black_enable_can_transciever(i, enabled);
}
}
void black_set_led(uint8_t color, bool enabled) {
@@ -43,26 +44,41 @@ void black_set_led(uint8_t color, bool enabled) {
}
}
void black_set_usb_power_mode(uint8_t mode){
void black_set_gps_load_switch(bool enabled) {
set_gpio_output(GPIOC, 12, enabled);
}
void black_set_usb_load_switch(bool enabled) {
set_gpio_output(GPIOB, 1, !enabled);
}
void black_set_usb_power_mode(uint8_t mode) {
usb_power_mode = mode;
puts("Trying to set USB power mode on black panda. This is not supported.\n");
if (mode == USB_POWER_NONE) {
black_set_usb_load_switch(false);
} else {
black_set_usb_load_switch(true);
}
}
void black_set_esp_gps_mode(uint8_t mode) {
switch (mode) {
case ESP_GPS_DISABLED:
// ESP OFF
// GPS OFF
set_gpio_output(GPIOC, 14, 0);
set_gpio_output(GPIOC, 5, 0);
black_set_gps_load_switch(false);
break;
case ESP_GPS_ENABLED:
// ESP ON
// GPS ON
set_gpio_output(GPIOC, 14, 1);
set_gpio_output(GPIOC, 5, 1);
black_set_gps_load_switch(true);
break;
case ESP_GPS_BOOTMODE:
set_gpio_output(GPIOC, 14, 1);
set_gpio_output(GPIOC, 5, 0);
black_set_gps_load_switch(true);
break;
default:
puts("Invalid ESP/GPS mode\n");
@@ -132,9 +148,11 @@ void black_init(void) {
// C8: FAN aka TIM3_CH3
set_gpio_alternate(GPIOC, 8, GPIO_AF2_TIM3);
// C12: GPS load switch. Turn on permanently for now
set_gpio_output(GPIOC, 12, true);
//set_gpio_output(GPIOC, 12, false); //TODO: stupid inverted switch on prototype
// Turn on GPS load switch.
black_set_gps_load_switch(true);
// Turn on USB load switch.
black_set_usb_load_switch(true);
// Initialize harness
harness_init();
+7
View File
@@ -285,6 +285,13 @@ void white_init(void) {
// Set normal CAN mode
white_set_can_mode(CAN_MODE_NORMAL);
// Setup ignition interrupts
SYSCFG->EXTICR[1] = SYSCFG_EXTICR1_EXTI1_PA;
EXTI->IMR |= (1U << 1);
EXTI->RTSR |= (1U << 1);
EXTI->FTSR |= (1U << 1);
NVIC_EnableIRQ(EXTI1_IRQn);
}
const harness_configuration white_harness_config = {
+1 -1
View File
@@ -63,7 +63,7 @@ extern void *_app_start[];
// BOUNTY: $200 coupon on shop.comma.ai or $100 check.
int main(void) {
__disable_irq();
disable_interrupts();
clock_init();
detect_configuration();
detect_board_type();
+13 -12
View File
@@ -62,7 +62,7 @@ int can_overflow_cnt = 0;
bool can_pop(can_ring *q, CAN_FIFOMailBox_TypeDef *elem) {
bool ret = 0;
enter_critical_section();
ENTER_CRITICAL();
if (q->w_ptr != q->r_ptr) {
*elem = q->elems[q->r_ptr];
if ((q->r_ptr + 1U) == q->fifo_size) {
@@ -72,7 +72,7 @@ bool can_pop(can_ring *q, CAN_FIFOMailBox_TypeDef *elem) {
}
ret = 1;
}
exit_critical_section();
EXIT_CRITICAL();
return ret;
}
@@ -81,7 +81,7 @@ bool can_push(can_ring *q, CAN_FIFOMailBox_TypeDef *elem) {
bool ret = false;
uint32_t next_w_ptr;
enter_critical_section();
ENTER_CRITICAL();
if ((q->w_ptr + 1U) == q->fifo_size) {
next_w_ptr = 0;
} else {
@@ -92,7 +92,7 @@ bool can_push(can_ring *q, CAN_FIFOMailBox_TypeDef *elem) {
q->w_ptr = next_w_ptr;
ret = true;
}
exit_critical_section();
EXIT_CRITICAL();
if (!ret) {
can_overflow_cnt++;
#ifdef DEBUG
@@ -103,10 +103,10 @@ bool can_push(can_ring *q, CAN_FIFOMailBox_TypeDef *elem) {
}
void can_clear(can_ring *q) {
enter_critical_section();
ENTER_CRITICAL();
q->w_ptr = 0;
q->r_ptr = 0;
exit_critical_section();
EXIT_CRITICAL();
}
// assign CAN numbering
@@ -124,7 +124,7 @@ uint8_t bus_lookup[] = {0,1,2};
uint8_t can_num_lookup[] = {0,1,2,-1};
int8_t can_forwarding[] = {-1,-1,-1,-1};
uint32_t can_speed[] = {5000, 5000, 5000, 333};
#define CAN_MAX 3
#define CAN_MAX 3U
#define CANIF_FROM_CAN_NUM(num) (cans[num])
#define CAN_NUM_FROM_CANIF(CAN) ((CAN)==CAN1 ? 0 : ((CAN) == CAN2 ? 1 : 2))
@@ -158,9 +158,10 @@ void can_init(uint8_t can_number) {
}
void can_init_all(void) {
for (int i=0; i < CAN_MAX; i++) {
for (uint8_t i=0U; i < CAN_MAX; i++) {
can_init(i);
}
current_board->enable_can_transcievers(true);
}
void can_flip_buses(uint8_t bus1, uint8_t bus2){
@@ -248,7 +249,7 @@ void can_set_obd(uint8_t harness_orientation, bool obd){
// CAN error
void can_sce(CAN_TypeDef *CAN) {
enter_critical_section();
ENTER_CRITICAL();
#ifdef DEBUG
if (CAN==CAN1) puts("CAN1: ");
@@ -271,7 +272,7 @@ void can_sce(CAN_TypeDef *CAN) {
can_err_cnt += 1;
llcan_clear_send(CAN);
exit_critical_section();
EXIT_CRITICAL();
}
// ***************************** CAN *****************************
@@ -279,7 +280,7 @@ void can_sce(CAN_TypeDef *CAN) {
void process_can(uint8_t can_number) {
if (can_number != 0xffU) {
enter_critical_section();
ENTER_CRITICAL();
CAN_TypeDef *CAN = CANIF_FROM_CAN_NUM(can_number);
uint8_t bus_number = BUS_NUM_FROM_CAN_NUM(can_number);
@@ -327,7 +328,7 @@ void process_can(uint8_t can_number) {
}
}
exit_critical_section();
EXIT_CRITICAL();
}
}
+10
View File
@@ -11,42 +11,52 @@
#define OUTPUT_TYPE_OPEN_DRAIN 1U
void set_gpio_mode(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
ENTER_CRITICAL();
uint32_t tmp = GPIO->MODER;
tmp &= ~(3U << (pin * 2U));
tmp |= (mode << (pin * 2U));
GPIO->MODER = tmp;
EXIT_CRITICAL();
}
void set_gpio_output(GPIO_TypeDef *GPIO, unsigned int pin, bool enabled) {
ENTER_CRITICAL();
if (enabled) {
GPIO->ODR |= (1U << pin);
} else {
GPIO->ODR &= ~(1U << pin);
}
set_gpio_mode(GPIO, pin, MODE_OUTPUT);
EXIT_CRITICAL();
}
void set_gpio_output_type(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int output_type){
ENTER_CRITICAL();
if(output_type == OUTPUT_TYPE_OPEN_DRAIN) {
GPIO->OTYPER |= (1U << pin);
} else {
GPIO->OTYPER &= ~(1U << pin);
}
EXIT_CRITICAL();
}
void set_gpio_alternate(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
ENTER_CRITICAL();
uint32_t tmp = GPIO->AFR[pin >> 3U];
tmp &= ~(0xFU << ((pin & 7U) * 4U));
tmp |= mode << ((pin & 7U) * 4U);
GPIO->AFR[pin >> 3] = tmp;
set_gpio_mode(GPIO, pin, MODE_ALTERNATE);
EXIT_CRITICAL();
}
void set_gpio_pullup(GPIO_TypeDef *GPIO, unsigned int pin, unsigned int mode) {
ENTER_CRITICAL();
uint32_t tmp = GPIO->PUPDR;
tmp &= ~(3U << (pin * 2U));
tmp |= (mode << (pin * 2U));
GPIO->PUPDR = tmp;
EXIT_CRITICAL();
}
int get_gpio_input(GPIO_TypeDef *GPIO, unsigned int pin) {
+12 -12
View File
@@ -74,7 +74,7 @@ uart_ring *get_ring_by_number(int a) {
// ***************************** serial port *****************************
void uart_ring_process(uart_ring *q) {
enter_critical_section();
ENTER_CRITICAL();
// TODO: check if external serial is connected
int sr = q->uart->SR;
@@ -108,7 +108,7 @@ void uart_ring_process(uart_ring *q) {
// set dropped packet flag?
}
exit_critical_section();
EXIT_CRITICAL();
}
// interrupt boilerplate
@@ -121,13 +121,13 @@ void UART5_IRQHandler(void) { uart_ring_process(&lin1_ring); }
bool getc(uart_ring *q, char *elem) {
bool ret = false;
enter_critical_section();
ENTER_CRITICAL();
if (q->w_ptr_rx != q->r_ptr_rx) {
if (elem != NULL) *elem = q->elems_rx[q->r_ptr_rx];
q->r_ptr_rx = (q->r_ptr_rx + 1U) % FIFO_SIZE;
ret = true;
}
exit_critical_section();
EXIT_CRITICAL();
return ret;
}
@@ -136,14 +136,14 @@ bool injectc(uart_ring *q, char elem) {
int ret = false;
uint16_t next_w_ptr;
enter_critical_section();
ENTER_CRITICAL();
next_w_ptr = (q->w_ptr_rx + 1U) % FIFO_SIZE;
if (next_w_ptr != q->r_ptr_rx) {
q->elems_rx[q->w_ptr_rx] = elem;
q->w_ptr_rx = next_w_ptr;
ret = true;
}
exit_critical_section();
EXIT_CRITICAL();
return ret;
}
@@ -152,14 +152,14 @@ bool putc(uart_ring *q, char elem) {
bool ret = false;
uint16_t next_w_ptr;
enter_critical_section();
ENTER_CRITICAL();
next_w_ptr = (q->w_ptr_tx + 1U) % FIFO_SIZE;
if (next_w_ptr != q->r_ptr_tx) {
q->elems_tx[q->w_ptr_tx] = elem;
q->w_ptr_tx = next_w_ptr;
ret = true;
}
exit_critical_section();
EXIT_CRITICAL();
uart_ring_process(q);
@@ -185,12 +185,12 @@ void uart_send_break(uart_ring *u) {
}
void clear_uart_buff(uart_ring *q) {
enter_critical_section();
ENTER_CRITICAL();
q->w_ptr_tx = 0;
q->r_ptr_tx = 0;
q->w_ptr_rx = 0;
q->r_ptr_rx = 0;
exit_critical_section();
EXIT_CRITICAL();
}
// ***************************** start UART code *****************************
@@ -215,7 +215,7 @@ char usart1_dma[USART1_DMA_LEN];
void uart_dma_drain(void) {
uart_ring *q = &esp_ring;
enter_critical_section();
ENTER_CRITICAL();
if ((DMA2->HISR & DMA_HISR_TCIF5) || (DMA2->HISR & DMA_HISR_HTIF5) || (DMA2_Stream5->NDTR != USART1_DMA_LEN)) {
// disable DMA
@@ -245,7 +245,7 @@ void uart_dma_drain(void) {
q->uart->CR3 |= USART_CR3_DMAR;
}
exit_critical_section();
EXIT_CRITICAL();
}
void DMA2_Stream5_IRQHandler(void) {
+6
View File
@@ -20,6 +20,12 @@ void jump_to_bootloader(void) {
}
void early(void) {
// Reset global critical depth
global_critical_depth = 0;
// neccesary for DFU flashing on a non-power cycled white panda
enable_interrupts();
// after it's been in the bootloader, things are initted differently, so we reset
if ((enter_bootloader_mode != BOOT_NORMAL) &&
(enter_bootloader_mode != ENTER_BOOTLOADER_MAGIC) &&
+14 -12
View File
@@ -42,24 +42,26 @@ int memcmp(const void * ptr1, const void * ptr2, unsigned int num) {
// ********************* IRQ helpers *********************
int interrupts_enabled = 0;
volatile bool interrupts_enabled = false;
void enable_interrupts(void) {
interrupts_enabled = 1;
interrupts_enabled = true;
__enable_irq();
}
int critical_depth = 0;
void enter_critical_section(void) {
void disable_interrupts(void) {
interrupts_enabled = false;
__disable_irq();
// this is safe because interrupts are disabled
critical_depth += 1;
}
void exit_critical_section(void) {
// this is safe because interrupts are disabled
critical_depth -= 1;
if ((critical_depth == 0) && interrupts_enabled) {
__enable_irq();
uint8_t global_critical_depth = 0U;
#define ENTER_CRITICAL() \
__disable_irq(); \
global_critical_depth += 1U;
#define EXIT_CRITICAL() \
global_critical_depth -= 1U; \
if ((global_critical_depth == 0U) && interrupts_enabled) { \
__enable_irq(); \
}
}
+27 -34
View File
@@ -78,9 +78,11 @@ void started_interrupt_handler(uint8_t interrupt_line) {
// jenky debounce
delay(100000);
// set power savings mode here
int power_save_state = current_board->check_ignition() ? POWER_SAVE_STATUS_DISABLED : POWER_SAVE_STATUS_ENABLED;
set_power_save_state(power_save_state);
// set power savings mode here if on EON build
#ifdef EON
int power_save_state = current_board->check_ignition() ? POWER_SAVE_STATUS_DISABLED : POWER_SAVE_STATUS_ENABLED;
set_power_save_state(power_save_state);
#endif
}
EXTI->PR = (1U << interrupt_line);
}
@@ -100,14 +102,6 @@ void EXTI3_IRQHandler(void) {
started_interrupt_handler(3);
}
void started_interrupt_init(void) {
SYSCFG->EXTICR[1] = SYSCFG_EXTICR1_EXTI1_PA;
EXTI->IMR |= (1U << 1);
EXTI->RTSR |= (1U << 1);
EXTI->FTSR |= (1U << 1);
NVIC_EnableIRQ(EXTI1_IRQn);
}
// ****************************** safety mode ******************************
// this is the only way to leave silent mode
@@ -116,30 +110,29 @@ void set_safety_mode(uint16_t mode, int16_t param) {
if (err == -1) {
puts("Error: safety set mode failed\n");
} else {
if (mode == SAFETY_NOOUTPUT) {
can_silent = ALL_CAN_SILENT;
} else {
can_silent = ALL_CAN_LIVE;
}
switch (mode) {
case SAFETY_NOOUTPUT:
set_intercept_relay(false);
if(hw_type == HW_TYPE_BLACK_PANDA){
current_board->set_can_mode(CAN_MODE_NORMAL);
}
can_silent = ALL_CAN_SILENT;
break;
case SAFETY_ELM327:
set_intercept_relay(false);
heartbeat_counter = 0U;
if(hw_type == HW_TYPE_BLACK_PANDA){
current_board->set_can_mode(CAN_MODE_OBD_CAN2);
}
can_silent = ALL_CAN_LIVE;
break;
default:
set_intercept_relay(true);
heartbeat_counter = 0U;
if(hw_type == HW_TYPE_BLACK_PANDA){
current_board->set_can_mode(CAN_MODE_NORMAL);
}
can_silent = ALL_CAN_LIVE;
break;
}
if (safety_ignition_hook() != -1) {
@@ -289,11 +282,14 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp, bool hardwired)
// so it's blocked over wifi
switch (setup->b.wValue.w) {
case 0:
if (hardwired) {
puts("-> entering bootloader\n");
enter_bootloader_mode = ENTER_BOOTLOADER_MAGIC;
NVIC_SystemReset();
}
// only allow bootloader entry on debug builds
#ifdef ALLOW_DEBUG
if (hardwired) {
puts("-> entering bootloader\n");
enter_bootloader_mode = ENTER_BOOTLOADER_MAGIC;
NVIC_SystemReset();
}
#endif
break;
case 1:
puts("-> entering softloader\n");
@@ -464,7 +460,10 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp, bool hardwired)
break;
// **** 0xe6: set USB power
case 0xe6:
if (setup->b.wValue.w == 1U) {
if (setup->b.wValue.w == 0U) {
puts("user setting NONE mode\n");
current_board->set_usb_power_mode(USB_POWER_NONE);
} else if (setup->b.wValue.w == 1U) {
puts("user setting CDP mode\n");
current_board->set_usb_power_mode(USB_POWER_CDP);
} else if (setup->b.wValue.w == 2U) {
@@ -610,11 +609,10 @@ void TIM3_IRQHandler(void) {
pending_can_live = 0;
}
#ifdef DEBUG
//TODO: re-enable
//puts("** blink ");
//puth(can_rx_q.r_ptr); puts(" "); puth(can_rx_q.w_ptr); puts(" ");
//puth(can_tx1_q.r_ptr); puts(" "); puth(can_tx1_q.w_ptr); puts(" ");
//puth(can_tx2_q.r_ptr); puts(" "); puth(can_tx2_q.w_ptr); puts("\n");
puts("** blink ");
puth(can_rx_q.r_ptr); puts(" "); puth(can_rx_q.w_ptr); puts(" ");
puth(can_tx1_q.r_ptr); puts(" "); puth(can_tx1_q.w_ptr); puts(" ");
puth(can_tx2_q.r_ptr); puts(" "); puth(can_tx2_q.w_ptr); puts("\n");
#endif
// set green LED to be controls allowed
@@ -645,7 +643,7 @@ void TIM3_IRQHandler(void) {
int main(void) {
// shouldn't have interrupts here, but just in case
__disable_irq();
disable_interrupts();
// init early devices
clock_init();
@@ -730,11 +728,6 @@ int main(void) {
/*if (current_board->check_ignition()) {
set_power_save_state(POWER_SAVE_STATUS_ENABLED);
}*/
if (hw_type != HW_TYPE_BLACK_PANDA) {
// interrupt on started line
started_interrupt_init();
}
#endif
// 48mhz / 65536 ~= 732 / 732 = 1
Binary file not shown.
+8 -5
View File
@@ -55,18 +55,18 @@ void debug_ring_callback(uart_ring *ring) {
}
}
int usb_cb_ep1_in(uint8_t *usbdata, int len, bool hardwired) {
int usb_cb_ep1_in(void *usbdata, int len, bool hardwired) {
UNUSED(usbdata);
UNUSED(len);
UNUSED(hardwired);
return 0;
}
void usb_cb_ep2_out(uint8_t *usbdata, int len, bool hardwired) {
void usb_cb_ep2_out(void *usbdata, int len, bool hardwired) {
UNUSED(usbdata);
UNUSED(len);
UNUSED(hardwired);
}
void usb_cb_ep3_out(uint8_t *usbdata, int len, bool hardwired) {
void usb_cb_ep3_out(void *usbdata, int len, bool hardwired) {
UNUSED(usbdata);
UNUSED(len);
UNUSED(hardwired);
@@ -299,7 +299,7 @@ void pedal(void) {
}
int main(void) {
__disable_irq();
disable_interrupts();
// init devices
clock_init();
@@ -307,6 +307,9 @@ int main(void) {
detect_configuration();
detect_board_type();
// init board
current_board->init();
#ifdef PEDAL_USB
// enable USB
usb_init();
@@ -331,7 +334,7 @@ int main(void) {
watchdog_init();
puts("**** INTERRUPTS ON ****\n");
__enable_irq();
enable_interrupts();
// main pedal loop
while (1) {
+7
View File
@@ -28,6 +28,13 @@ void set_power_save_state(int state) {
// Switch CAN transcievers
current_board->enable_can_transcievers(enable);
// Switch EPS/GPS
if (enable) {
current_board->set_esp_gps_mode(ESP_GPS_ENABLED);
} else {
current_board->set_esp_gps_mode(ESP_GPS_DISABLED);
}
if(hw_type != HW_TYPE_BLACK_PANDA){
// turn on GMLAN
set_gpio_output(GPIOB, 14, enable);
+5
View File
@@ -13,6 +13,7 @@
#include "safety/safety_hyundai.h"
#include "safety/safety_chrysler.h"
#include "safety/safety_subaru.h"
#include "safety/safety_mazda.h"
#include "safety/safety_elm327.h"
const safety_hooks *current_hooks = &nooutput_hooks;
@@ -55,6 +56,8 @@ typedef struct {
#define SAFETY_TESLA 8U
#define SAFETY_CHRYSLER 9U
#define SAFETY_SUBARU 10U
#define SAFETY_GM_PASSIVE 11U
#define SAFETY_MAZDA 12U
#define SAFETY_GM_ASCM 0x1334U
#define SAFETY_TOYOTA_IPAS 0x1335U
#define SAFETY_ALLOUTPUT 0x1337U
@@ -71,7 +74,9 @@ const safety_hook_config safety_hook_registry[] = {
{SAFETY_HYUNDAI, &hyundai_hooks},
{SAFETY_CHRYSLER, &chrysler_hooks},
{SAFETY_SUBARU, &subaru_hooks},
{SAFETY_MAZDA, &mazda_hooks},
{SAFETY_TOYOTA_IPAS, &toyota_ipas_hooks},
{SAFETY_GM_PASSIVE, &gm_passive_hooks},
{SAFETY_GM_ASCM, &gm_ascm_hooks},
{SAFETY_TESLA, &tesla_hooks},
{SAFETY_ALLOUTPUT, &alloutput_hooks},
+23
View File
@@ -231,6 +231,20 @@ static int gm_ign_hook(void) {
return gm_ignition_started;
}
// All sending is disallowed.
// The only difference from "no output" model
// is using GM ignition hook.
static void gm_passive_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
int bus_number = GET_BUS(to_push);
int addr = GET_ADDR(to_push);
if ((addr == 0x1F1) && (bus_number == 0)) {
bool ign = (GET_BYTE(to_push, 0) & 0x20) != 0;
gm_ignition_started = ign;
}
}
const safety_hooks gm_hooks = {
.init = gm_init,
.rx = gm_rx_hook,
@@ -239,3 +253,12 @@ const safety_hooks gm_hooks = {
.ignition = gm_ign_hook,
.fwd = default_fwd_hook,
};
const safety_hooks gm_passive_hooks = {
.init = gm_init,
.rx = gm_passive_rx_hook,
.tx = nooutput_tx_hook,
.tx_lin = nooutput_tx_lin_hook,
.ignition = gm_ign_hook,
.fwd = default_fwd_hook,
};
+35 -12
View File
@@ -8,16 +8,19 @@
// brake > 0mph
const int HONDA_GAS_INTERCEPTOR_THRESHOLD = 328; // ratio between offset and gain from dbc file
int honda_brake_prev = 0;
int honda_brake = 0;
int honda_gas_prev = 0;
bool honda_brake_pressed_prev = false;
bool honda_moving = false;
bool honda_bosch_hardware = false;
bool honda_alt_brake_msg = false;
bool honda_fwd_brake = false;
static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
int addr = GET_ADDR(to_push);
int len = GET_LEN(to_push);
int bus = GET_BUS(to_push);
// sample speed
if (addr == 0x158) {
@@ -51,11 +54,11 @@ static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
// exit controls on rising edge of brake press or on brake press when speed > 0
bool is_user_brake_msg = honda_alt_brake_msg ? ((addr) == 0x1BE) : ((addr) == 0x17C);
if (is_user_brake_msg) {
int brake = honda_alt_brake_msg ? (GET_BYTE((to_push), 0) & 0x10) : (GET_BYTE((to_push), 6) & 0x20);
if (brake && (!(honda_brake_prev) || honda_moving)) {
bool brake_pressed = honda_alt_brake_msg ? (GET_BYTE((to_push), 0) & 0x10) : (GET_BYTE((to_push), 6) & 0x20);
if (brake_pressed && (!(honda_brake_pressed_prev) || honda_moving)) {
controls_allowed = 0;
}
honda_brake_prev = brake;
honda_brake_pressed_prev = brake_pressed;
}
// exit controls on rising edge of gas press if interceptor (0x201 w/ len = 6)
@@ -81,6 +84,20 @@ static void honda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
honda_gas_prev = gas;
}
}
if ((bus == 2) && (addr == 0x1FA)) {
bool honda_stock_aeb = GET_BYTE(to_push, 3) & 0x20;
int honda_stock_brake = (GET_BYTE(to_push, 0) << 2) + ((GET_BYTE(to_push, 1) >> 6) & 0x3);
// Forward AEB when stock braking is higher than openpilot braking
// only stop forwarding when AEB event is over
if (!honda_stock_aeb) {
honda_fwd_brake = false;
} else if (honda_stock_brake >= honda_brake) {
honda_fwd_brake = true;
} else {
// Leave honda forward brake as is
}
}
}
// all commands: gas, brake and steering
@@ -98,18 +115,21 @@ static int honda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
// disallow actuator commands if gas or brake (with vehicle moving) are pressed
// and the the latching controls_allowed flag is True
int pedal_pressed = honda_gas_prev || (gas_interceptor_prev > HONDA_GAS_INTERCEPTOR_THRESHOLD) ||
(honda_brake_prev && honda_moving);
(honda_brake_pressed_prev && honda_moving);
bool current_controls_allowed = controls_allowed && !(pedal_pressed);
// BRAKE: safety check
if (addr == 0x1FA) {
int brake = (GET_BYTE(to_send, 0) << 2) + (GET_BYTE(to_send, 1) & 0x3);
if ((addr == 0x1FA) && (bus == 0)) {
honda_brake = (GET_BYTE(to_send, 0) << 2) + ((GET_BYTE(to_send, 1) >> 6) & 0x3);
if (!current_controls_allowed || !long_controls_allowed) {
if (brake != 0) {
if (honda_brake != 0) {
tx = 0;
}
}
if (brake > 255) {
if (honda_brake > 255) {
tx = 0;
}
if (honda_fwd_brake) {
tx = 0;
}
}
@@ -175,9 +195,12 @@ static int honda_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
if (bus_num == 2) {
// block stock lkas messages and stock acc messages (if OP is doing ACC)
int addr = GET_ADDR(to_fwd);
int is_lkas_msg = (addr == 0xE4) || (addr == 0x194) || (addr == 0x33D);
int is_acc_msg = (addr == 0x1FA) || (addr == 0x30C) || (addr == 0x39F);
int block_fwd = is_lkas_msg || (is_acc_msg && long_controls_allowed);
bool is_lkas_msg = (addr == 0xE4) || (addr == 0x194) || (addr == 0x33D);
bool is_acc_hud_msg = (addr == 0x30C) || (addr == 0x39F);
bool is_brake_msg = addr == 0x1FA;
bool block_fwd = is_lkas_msg ||
(is_acc_hud_msg && long_controls_allowed) ||
(is_brake_msg && long_controls_allowed && !honda_fwd_brake);
if (!block_fwd) {
bus_fwd = 0;
}
+169
View File
@@ -0,0 +1,169 @@
// CAN msgs we care about
#define MAZDA_LKAS 0x243
#define MAZDA_LANEINFO 0x440
#define MAZDA_CRZ_CTRL 0x21c
#define MAZDA_WHEEL_SPEED 0x215
#define MAZDA_STEER_TORQUE 0x240
// CAN bus numbers
#define MAZDA_MAIN 0
#define MAZDA_AUX 1
#define MAZDA_CAM 2
#define MAZDA_MAX_STEER 2048
// max delta torque allowed for real time checks
#define MAZDA_MAX_RT_DELTA 940
// 250ms between real time checks
#define MAZDA_RT_INTERVAL 250000
#define MAZDA_MAX_RATE_UP 10
#define MAZDA_MAX_RATE_DOWN 25
#define MAZDA_DRIVER_TORQUE_ALLOWANCE 15
#define MAZDA_DRIVER_TORQUE_FACTOR 1
int mazda_cruise_engaged_last = 0;
int mazda_rt_torque_last = 0;
int mazda_desired_torque_last = 0;
uint32_t mazda_ts_last = 0;
struct sample_t mazda_torque_driver; // last few driver torques measured
// track msgs coming from OP so that we know what CAM msgs to drop and what to forward
int mazda_op_lkas_detected = 0;
int mazda_op_laneinfo_detected = 0;
int mazda_forward_cam = 0;
int mazda_giraffe_switch_2_on = 0;
void mazda_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
int bus = GET_BUS(to_push);
int addr = GET_ADDR(to_push);
if ((addr == MAZDA_STEER_TORQUE) && (bus == MAZDA_MAIN)) {
int torque_driver_new = GET_BYTE(to_push, 0) - 127;
// update array of samples
update_sample(&mazda_torque_driver, torque_driver_new);
}
// enter controls on rising edge of ACC, exit controls on ACC off
if ((addr == MAZDA_CRZ_CTRL) && (bus == MAZDA_MAIN)) {
int cruise_engaged = GET_BYTE(to_push, 0) & 8;
if (cruise_engaged != 0) {
if (!mazda_cruise_engaged_last) {
controls_allowed = 1;
}
}
else {
controls_allowed = 0;
}
mazda_cruise_engaged_last = cruise_engaged;
}
// we have msgs on bus MAZDA_CAM
if (bus == MAZDA_CAM) {
// the stock CAM is connected
if (addr == MAZDA_LKAS) {
mazda_forward_cam = 1;
}
// if we see wheel speed msgs on MAZDA_CAM bus then giraffe switch 2 is high
// (hardware passthru)
if (addr == MAZDA_WHEEL_SPEED) {
mazda_giraffe_switch_2_on = 1;
}
}
}
static int mazda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
int tx = 1;
int addr = GET_ADDR(to_send);
int bus = GET_BUS(to_send);
// Check if msg is sent on the main BUS
if (bus == MAZDA_MAIN) {
if ((addr == MAZDA_LKAS) && !mazda_op_lkas_detected){
mazda_op_lkas_detected = 1;
}
if ((addr == MAZDA_LANEINFO) && !mazda_op_laneinfo_detected){
mazda_op_laneinfo_detected = 1;
}
// steer cmd checks
if (addr == MAZDA_LKAS) {
int desired_torque = (((GET_BYTE(to_send, 0) & 0x0f) << 8) | GET_BYTE(to_send, 1)) - MAZDA_MAX_STEER;
bool violation = 0;
uint32_t ts = TIM2->CNT;
if (controls_allowed) {
// *** global torque limit check ***
violation |= max_limit_check(desired_torque, MAZDA_MAX_STEER, -MAZDA_MAX_STEER);
// *** torque rate limit check ***
int desired_torque_last = mazda_desired_torque_last;
violation |= driver_limit_check(desired_torque, desired_torque_last, &mazda_torque_driver,
MAZDA_MAX_STEER, MAZDA_MAX_RATE_UP, MAZDA_MAX_RATE_DOWN,
MAZDA_DRIVER_TORQUE_ALLOWANCE, MAZDA_DRIVER_TORQUE_FACTOR);
// used next time
mazda_desired_torque_last = desired_torque;
// *** torque real time rate limit check ***
violation |= rt_rate_limit_check(desired_torque, mazda_rt_torque_last, MAZDA_MAX_RT_DELTA);
// every RT_INTERVAL set the new limits
uint32_t ts_elapsed = get_ts_elapsed(ts, mazda_ts_last);
if (ts_elapsed > ((uint32_t) MAZDA_RT_INTERVAL)) {
mazda_rt_torque_last = desired_torque;
mazda_ts_last = ts;
}
}
// no torque if controls is not allowed
if (!controls_allowed && (desired_torque != 0)) {
violation = 1;
}
// reset to 0 if either controls is not allowed or there's a violation
if (violation || !controls_allowed) {
mazda_desired_torque_last = 0;
mazda_rt_torque_last = 0;
mazda_ts_last = ts;
}
if (violation) {
tx = 0;
}
}
}
return tx;
}
static int mazda_fwd_hook(int bus, CAN_FIFOMailBox_TypeDef *to_fwd) {
int bus_fwd = -1;
if (mazda_forward_cam && !mazda_giraffe_switch_2_on) {
int addr = GET_ADDR(to_fwd);
if (bus == MAZDA_MAIN) {
bus_fwd = MAZDA_CAM;
}
else if (bus == MAZDA_CAM) {
// drop stock CAM_LKAS and CAM_LANEINFI if OP is sending them
if (!((addr == MAZDA_LKAS) && mazda_op_lkas_detected) &&
!((addr == MAZDA_LANEINFO) && mazda_op_laneinfo_detected)) {
bus_fwd = MAZDA_MAIN;
}
}
else {
bus_fwd = -1;
}
}
return bus_fwd;
}
const safety_hooks mazda_hooks = {
.init = nooutput_init,
.rx = mazda_rx_hook,
.tx = mazda_tx_hook,
.tx_lin = nooutput_tx_lin_hook,
.ignition = default_ign_hook,
.fwd = mazda_fwd_hook,
};
+10 -8
View File
@@ -14,21 +14,22 @@ int subaru_desired_torque_last = 0;
uint32_t subaru_ts_last = 0;
struct sample_t subaru_torque_driver; // last few driver torques measured
static void subaru_rx_hook(CAN_FIFOMailBox_TypeDef *to_push) {
int bus = GET_BUS(to_push);
int addr = GET_ADDR(to_push);
if ((addr == 0x119) && (bus == 0)){
int torque_driver_new = ((GET_BYTES_04(to_push) >> 16) & 0x7FF);
if (((addr == 0x119) || (addr == 0x371)) && (bus == 0)){
int bit_shift = (addr == 0x119) ? 16 : 29;
int torque_driver_new = ((GET_BYTES_04(to_push) >> bit_shift) & 0x7FF);
torque_driver_new = to_signed(torque_driver_new, 11);
// update array of samples
update_sample(&subaru_torque_driver, torque_driver_new);
}
// enter controls on rising edge of ACC, exit controls on ACC off
if ((addr == 0x240) && (bus == 0)) {
int cruise_engaged = GET_BYTE(to_push, 5) & 2;
if (((addr == 0x240) || (addr == 0x144)) && (bus == 0)) {
int bit_shift = (addr == 0x240) ? 9 : 17;
int cruise_engaged = ((GET_BYTES_48(to_push) >> bit_shift) & 1);
if (cruise_engaged && !subaru_cruise_engaged_last) {
controls_allowed = 1;
}
@@ -44,8 +45,9 @@ static int subaru_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
int addr = GET_ADDR(to_send);
// steer cmd checks
if (addr == 0x122) {
int desired_torque = ((GET_BYTES_04(to_send) >> 16) & 0x1FFF);
if ((addr == 0x122) || (addr == 0x164)) {
int bit_shift = (addr == 0x122) ? 16 : 8;
int desired_torque = ((GET_BYTES_04(to_send) >> bit_shift) & 0x1FFF);
bool violation = 0;
uint32_t ts = TIM2->CNT;
desired_torque = to_signed(desired_torque, 13);
@@ -102,8 +104,8 @@ static int subaru_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
bus_fwd = 2; // Camera CAN
}
if (bus_num == 2) {
// 290 is LKAS for Global Platform
// 356 is LKAS for outback 2015
// 356 is LKAS for Global Platform
// 545 is ES_Distance
// 802 is ES_LKAS
int addr = GET_ADDR(to_fwd);
+2 -2
View File
@@ -183,7 +183,7 @@ void CAN1_RX0_IRQHandler(void) {
if ((CAN->sFIFOMailBox[0].RIR>>21) == CAN_BL_INPUT) {
uint8_t dat[8];
for (int i = 0; i < 8; i++) {
dat[0] = GET_BYTE(&CAN->sFIFOMailBox[0], i);
dat[i] = GET_BYTE(&CAN->sFIFOMailBox[0], i);
}
uint8_t odat[8];
uint8_t type = dat[0] & 0xF0;
@@ -307,7 +307,7 @@ void soft_flasher_start(void) {
// green LED on for flashing
current_board->set_led(LED_GREEN, 1);
__enable_irq();
enable_interrupts();
uint64_t cnt = 0;
+12 -2
View File
@@ -135,6 +135,12 @@ class Panda(object):
REQUEST_IN = usb1.ENDPOINT_IN | usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE
REQUEST_OUT = usb1.ENDPOINT_OUT | usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE
HW_TYPE_UNKNOWN = '\x00'
HW_TYPE_WHITE_PANDA = '\x01'
HW_TYPE_GREY_PANDA = '\x02'
HW_TYPE_BLACK_PANDA = '\x03'
HW_TYPE_PEDAL = '\x04'
def __init__(self, serial=None, claim=True):
self._serial = serial
self._handle = None
@@ -363,11 +369,14 @@ class Panda(object):
def get_type(self):
return self._handle.controlRead(Panda.REQUEST_IN, 0xc1, 0, 0, 0x40)
def is_white(self):
return self.get_type() == Panda.HW_TYPE_WHITE_PANDA
def is_grey(self):
return self.get_type() == "\x02"
return self.get_type() == Panda.HW_TYPE_GREY_PANDA
def is_black(self):
return self.get_type() == "\x03"
return self.get_type() == Panda.HW_TYPE_BLACK_PANDA
def get_serial(self):
dat = self._handle.controlRead(Panda.REQUEST_IN, 0xd0, 0, 0, 0x20)
@@ -470,6 +479,7 @@ class Panda(object):
break
except (usb1.USBErrorIO, usb1.USBErrorOverflow):
print("CAN: BAD RECV, RETRYING")
time.sleep(0.1)
return parse_can_buffer(dat)
def can_clear(self, bus):
+7 -9
View File
@@ -1,15 +1,13 @@
import os
from panda import Panda
from helpers import panda_color_to_serial, test_white_and_grey
from helpers import panda_type_to_serial, test_white_and_grey, test_all_pandas, panda_connect_and_init
@test_white_and_grey
@panda_color_to_serial
def test_recover(serial=None):
p = Panda(serial=serial)
@test_all_pandas
@panda_connect_and_init
def test_recover(p):
assert p.recover(timeout=30)
@test_white_and_grey
@panda_color_to_serial
def test_flash(serial=None):
p = Panda(serial=serial)
@test_all_pandas
@panda_connect_and_init
def test_flash(p):
p.flash()
+22 -69
View File
@@ -4,16 +4,11 @@ import sys
import time
from panda import Panda
from nose.tools import assert_equal, assert_less, assert_greater
from helpers import time_many_sends, connect_wo_esp, test_white_and_grey, panda_color_to_serial
SPEED_NORMAL = 500
SPEED_GMLAN = 33.3
@test_white_and_grey
@panda_color_to_serial
def test_can_loopback(serial=None):
p = connect_wo_esp(serial)
from helpers import SPEED_NORMAL, SPEED_GMLAN, time_many_sends, test_white_and_grey, panda_type_to_serial, test_all_pandas, panda_connect_and_init
@test_all_pandas
@panda_connect_and_init
def test_can_loopback(p):
# enable output mode
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
@@ -26,9 +21,6 @@ def test_can_loopback(serial=None):
busses = [0,1,2]
for bus in busses:
# send heartbeat
p.send_heartbeat()
# set bus 0 speed to 250
p.set_can_speed_kbps(bus, 250)
@@ -47,17 +39,12 @@ def test_can_loopback(serial=None):
assert 0x1aa == sr[0][0] == lb[0][0]
assert "message" == sr[0][2] == lb[0][2]
@test_white_and_grey
@panda_color_to_serial
def test_safety_nooutput(serial=None):
p = connect_wo_esp(serial)
@test_all_pandas
@panda_connect_and_init
def test_safety_nooutput(p):
# enable output mode
p.set_safety_mode(Panda.SAFETY_NOOUTPUT)
# send heartbeat
p.send_heartbeat()
# enable CAN loopback mode
p.set_can_loopback(True)
@@ -69,11 +56,9 @@ def test_safety_nooutput(serial=None):
r = p.can_recv()
assert len(r) == 0
@test_white_and_grey
@panda_color_to_serial
def test_reliability(serial=None):
p = connect_wo_esp(serial)
@test_all_pandas
@panda_connect_and_init
def test_reliability(p):
LOOP_COUNT = 100
MSG_COUNT = 100
@@ -82,17 +67,11 @@ def test_reliability(serial=None):
p.set_can_loopback(True)
p.set_can_speed_kbps(0, 1000)
# send heartbeat
p.send_heartbeat()
addrs = range(100, 100+MSG_COUNT)
ts = [(j, 0, "\xaa"*8, 0) for j in addrs]
# 100 loops
for i in range(LOOP_COUNT):
# send heartbeat
p.send_heartbeat()
st = time.time()
p.can_send_many(ts)
@@ -115,17 +94,12 @@ def test_reliability(serial=None):
sys.stdout.write("P")
sys.stdout.flush()
@test_white_and_grey
@panda_color_to_serial
def test_throughput(serial=None):
p = connect_wo_esp(serial)
@test_all_pandas
@panda_connect_and_init
def test_throughput(p):
# enable output mode
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# send heartbeat
p.send_heartbeat()
# enable CAN loopback mode
p.set_can_loopback(True)
@@ -134,9 +108,6 @@ def test_throughput(serial=None):
p.set_can_speed_kbps(0, speed)
time.sleep(0.05)
# send heartbeat
p.send_heartbeat()
comp_kbps = time_many_sends(p, 0)
# bit count from https://en.wikipedia.org/wiki/CAN_bus
@@ -147,19 +118,15 @@ def test_throughput(serial=None):
print("loopback 100 messages at speed %d, comp speed is %.2f, percent %.2f" % (speed, comp_kbps, saturation_pct))
@test_white_and_grey
@panda_color_to_serial
def test_gmlan(serial=None):
p = connect_wo_esp(serial)
@panda_type_to_serial
@panda_connect_and_init
def test_gmlan(p):
if p.legacy:
return
# enable output mode
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# send heartbeat
p.send_heartbeat()
# enable CAN loopback mode
p.set_can_loopback(True)
@@ -169,9 +136,6 @@ def test_gmlan(serial=None):
# set gmlan on CAN2
for bus in [Panda.GMLAN_CAN2, Panda.GMLAN_CAN3, Panda.GMLAN_CAN2, Panda.GMLAN_CAN3]:
# send heartbeat
p.send_heartbeat()
p.set_gmlan(bus)
comp_kbps_gmlan = time_many_sends(p, 3)
assert_greater(comp_kbps_gmlan, 0.8 * SPEED_GMLAN)
@@ -185,27 +149,20 @@ def test_gmlan(serial=None):
print("%d: %.2f kbps vs %.2f kbps" % (bus, comp_kbps_gmlan, comp_kbps_normal))
@test_white_and_grey
@panda_color_to_serial
def test_gmlan_bad_toggle(serial=None):
p = connect_wo_esp(serial)
@panda_type_to_serial
@panda_connect_and_init
def test_gmlan_bad_toggle(p):
if p.legacy:
return
# enable output mode
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# send heartbeat
p.send_heartbeat()
# enable CAN loopback mode
p.set_can_loopback(True)
# GMLAN_CAN2
for bus in [Panda.GMLAN_CAN2, Panda.GMLAN_CAN3]:
# send heartbeat
p.send_heartbeat()
p.set_gmlan(bus)
comp_kbps_gmlan = time_many_sends(p, 3)
assert_greater(comp_kbps_gmlan, 0.6 * SPEED_GMLAN)
@@ -213,9 +170,6 @@ def test_gmlan_bad_toggle(serial=None):
# normal
for bus in [Panda.GMLAN_CAN2, Panda.GMLAN_CAN3]:
# send heartbeat
p.send_heartbeat()
p.set_gmlan(None)
comp_kbps_normal = time_many_sends(p, bus)
assert_greater(comp_kbps_normal, 0.6 * SPEED_NORMAL)
@@ -223,10 +177,9 @@ def test_gmlan_bad_toggle(serial=None):
# this will fail if you have hardware serial connected
@test_white_and_grey
@panda_color_to_serial
def test_serial_debug(serial=None):
p = connect_wo_esp(serial)
@test_all_pandas
@panda_connect_and_init
def test_serial_debug(p):
junk = p.serial_read(Panda.SERIAL_DEBUG)
p.call_control_api(0xc0)
assert(p.serial_read(Panda.SERIAL_DEBUG).startswith("can "))
+21 -23
View File
@@ -2,46 +2,44 @@ from __future__ import print_function
import os
import time
from panda import Panda
from helpers import connect_wifi, test_white, test_white_and_grey, panda_color_to_serial
from helpers import connect_wifi, test_white, test_all_pandas, panda_type_to_serial, panda_connect_and_init
import requests
@test_white_and_grey
@panda_color_to_serial
def test_get_serial(serial=None):
p = Panda(serial)
@test_all_pandas
@panda_connect_and_init
def test_get_serial(p):
print(p.get_serial())
@test_white_and_grey
@panda_color_to_serial
def test_get_serial_in_flash_mode(serial=None):
p = Panda(serial)
@test_all_pandas
@panda_connect_and_init
def test_get_serial_in_flash_mode(p):
p.reset(enter_bootstub=True)
assert(p.bootstub)
print(p.get_serial())
p.reset()
@test_white
@panda_color_to_serial
def test_connect_wifi(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_connect_wifi(serials=None):
connect_wifi(serials[0])
@test_white
@panda_color_to_serial
def test_flash_wifi(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_flash_wifi(serials=None):
connect_wifi(serials[0])
assert Panda.flash_ota_wifi(release=False), "OTA Wifi Flash Failed"
connect_wifi(serial)
connect_wifi(serials[0])
@test_white
@panda_color_to_serial
def test_wifi_flash_st(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_wifi_flash_st(serials=None):
connect_wifi(serials[0])
assert Panda.flash_ota_st(), "OTA ST Flash Failed"
connected = False
st = time.time()
while not connected and (time.time() - st) < 20:
try:
p = Panda(serial=serial)
p = Panda(serial=serials[0])
p.get_serial()
connected = True
except:
@@ -51,9 +49,9 @@ def test_wifi_flash_st(serial=None):
assert False, "Panda failed to connect on USB after flashing"
@test_white
@panda_color_to_serial
def test_webpage_fetch(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_webpage_fetch(serials=None):
connect_wifi(serials[0])
r = requests.get("http://192.168.0.10/")
print(r.text)
+12 -24
View File
@@ -1,38 +1,32 @@
from __future__ import print_function
import time
from panda import Panda
from helpers import time_many_sends, connect_wifi, test_white, panda_color_to_serial
from helpers import time_many_sends, connect_wifi, test_white, panda_type_to_serial
from nose.tools import timed, assert_equal, assert_less, assert_greater
@test_white
@panda_color_to_serial
def test_get_serial_wifi(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_get_serial_wifi(serials=None):
connect_wifi(serials[0])
p = Panda("WIFI")
print(p.get_serial())
@test_white
@panda_color_to_serial
def test_throughput(serial=None):
connect_wifi(serial)
p = Panda(serial)
@panda_type_to_serial
def test_throughput(serials=None):
connect_wifi(serials[0])
p = Panda(serials[0])
# enable output mode
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# send heartbeat
p.send_heartbeat()
# enable CAN loopback mode
p.set_can_loopback(True)
p = Panda("WIFI")
for speed in [100,250,500,750,1000]:
# send heartbeat
p.send_heartbeat()
# set bus 0 speed to speed
p.set_can_speed_kbps(0, speed)
time.sleep(0.1)
@@ -47,23 +41,17 @@ def test_throughput(serial=None):
print("WIFI loopback 100 messages at speed %d, comp speed is %.2f, percent %.2f" % (speed, comp_kbps, saturation_pct))
@test_white
@panda_color_to_serial
def test_recv_only(serial=None):
connect_wifi(serial)
p = Panda(serial)
@panda_type_to_serial
def test_recv_only(serials=None):
connect_wifi(serials[0])
p = Panda(serials[0])
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# send heartbeat
p.send_heartbeat()
p.set_can_loopback(True)
pwifi = Panda("WIFI")
# TODO: msg_count=1000 drops packets, is this fixable?
for msg_count in [10,100,200]:
# send heartbeat
p.send_heartbeat()
speed = 500
p.set_can_speed_kbps(0, speed)
comp_kbps = time_many_sends(p, 0, pwifi, msg_count)
+5 -5
View File
@@ -1,16 +1,16 @@
from __future__ import print_function
import sys
import time
from helpers import time_many_sends, connect_wifi, test_white, panda_color_to_serial
from helpers import time_many_sends, connect_wifi, test_white, panda_type_to_serial
from panda import Panda, PandaWifiStreaming
from nose.tools import timed, assert_equal, assert_less, assert_greater
@test_white
@panda_color_to_serial
def test_udp_doesnt_drop(serial=None):
connect_wifi(serial)
@panda_type_to_serial
def test_udp_doesnt_drop(serials=None):
connect_wifi(serials[0])
p = Panda(serial)
p = Panda(serials[0])
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
p.set_can_loopback(True)
+94 -38
View File
@@ -1,21 +1,18 @@
from __future__ import print_function
import os
import time
import random
from panda import Panda
from nose.tools import assert_equal, assert_less, assert_greater
from helpers import time_many_sends, test_two_panda, panda_color_to_serial
from helpers import time_many_sends, test_two_panda, test_two_black_panda, panda_type_to_serial, clear_can_buffers, panda_connect_and_init
@test_two_panda
@panda_color_to_serial
def test_send_recv(serial_sender=None, serial_reciever=None):
p_send = Panda(serial_sender)
p_recv = Panda(serial_reciever)
@panda_type_to_serial
@panda_connect_and_init
def test_send_recv(p_send, p_recv):
p_send.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
p_recv.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
p_send.set_can_loopback(False)
# send heartbeat
p_send.send_heartbeat()
p_recv.set_can_loopback(False)
assert not p_send.legacy
@@ -30,9 +27,6 @@ def test_send_recv(serial_sender=None, serial_reciever=None):
for bus in busses:
for speed in [100, 250, 500, 750, 1000]:
# send heartbeat
p_send.send_heartbeat()
p_send.set_can_speed_kbps(bus, speed)
p_recv.set_can_speed_kbps(bus, speed)
time.sleep(0.05)
@@ -46,18 +40,12 @@ def test_send_recv(serial_sender=None, serial_reciever=None):
print("two pandas bus {}, 100 messages at speed {:4d}, comp speed is {:7.2f}, percent {:6.2f}".format(bus, speed, comp_kbps, saturation_pct))
@test_two_panda
@panda_color_to_serial
def test_latency(serial_sender=None, serial_reciever=None):
p_send = Panda(serial_sender)
p_recv = Panda(serial_reciever)
# send heartbeat
p_send.send_heartbeat()
p_recv.send_heartbeat()
@panda_type_to_serial
@panda_connect_and_init
def test_latency(p_send, p_recv):
p_send.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
p_recv.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
p_send.set_can_loopback(False)
p_recv.set_can_loopback(False)
assert not p_send.legacy
@@ -72,29 +60,17 @@ def test_latency(serial_sender=None, serial_reciever=None):
p_recv.can_recv()
p_send.can_recv()
# send heartbeat
p_send.send_heartbeat()
p_recv.send_heartbeat()
busses = [0,1,2]
for bus in busses:
for speed in [100, 250, 500, 750, 1000]:
# send heartbeat
p_send.send_heartbeat()
p_recv.send_heartbeat()
p_send.set_can_speed_kbps(bus, speed)
p_recv.set_can_speed_kbps(bus, speed)
time.sleep(0.1)
#clear can buffers
r = [1]
while len(r) > 0:
r = p_send.can_recv()
r = [1]
while len(r) > 0:
r = p_recv.can_recv()
time.sleep(0.05)
clear_can_buffers(p_send)
clear_can_buffers(p_recv)
latencies = []
comp_kbps_list = []
@@ -137,3 +113,83 @@ def test_latency(serial_sender=None, serial_reciever=None):
print("two pandas bus {}, {} message average at speed {:4d}, latency is {:5.3f}ms, comp speed is {:7.2f}, percent {:6.2f}"\
.format(bus, num_messages, speed, average_latency, average_comp_kbps, average_saturation_pct))
@test_two_black_panda
@panda_type_to_serial
@panda_connect_and_init
def test_black_loopback(panda0, panda1):
# disable safety modes
panda0.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
panda1.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# disable loopback
panda0.set_can_loopback(False)
panda1.set_can_loopback(False)
# clear stuff
panda0.can_send_many([(0x1ba, 0, "testmsg", 0)]*10)
time.sleep(0.05)
panda0.can_recv()
panda1.can_recv()
# test array (send bus, sender obd, reciever obd, expected busses)
test_array = [
(0, False, False, [0]),
(1, False, False, [1]),
(2, False, False, [2]),
(0, False, True, [0, 1]),
(1, False, True, []),
(2, False, True, [2]),
(0, True, False, [0]),
(1, True, False, [0]),
(2, True, False, [2]),
(0, True, True, [0, 1]),
(1, True, True, [0, 1]),
(2, True, True, [2])
]
# test functions
def get_test_string():
return b"test"+os.urandom(10)
def _test_buses(send_panda, recv_panda, _test_array):
for send_bus, send_obd, recv_obd, recv_buses in _test_array:
print("\nSend bus:", send_bus, " Send OBD:", send_obd, " Recv OBD:", recv_obd)
# set OBD on pandas
send_panda.set_gmlan(True if send_obd else None)
recv_panda.set_gmlan(True if recv_obd else None)
# clear buffers
clear_can_buffers(send_panda)
clear_can_buffers(recv_panda)
# send the characters
at = random.randint(1, 2000)
st = get_test_string()[0:8]
send_panda.can_send(at, st, send_bus)
time.sleep(0.1)
# check for receive
cans_echo = send_panda.can_recv()
cans_loop = recv_panda.can_recv()
loop_buses = []
for loop in cans_loop:
print(" Loop on bus", str(loop[3]))
loop_buses.append(loop[3])
if len(cans_loop) == 0:
print(" No loop")
# test loop buses
recv_buses.sort()
loop_buses.sort()
assert recv_buses == loop_buses
print(" TEST PASSED")
print("\n")
# test both orientations
print("***************** TESTING (0 --> 1) *****************")
_test_buses(panda0, panda1, test_array)
print("***************** TESTING (1 --> 0) *****************")
_test_buses(panda1, panda0, test_array)
+117 -49
View File
@@ -4,43 +4,41 @@ import time
import random
import subprocess
import requests
import thread
from functools import wraps
from panda import Panda
from nose.tools import timed, assert_equal, assert_less, assert_greater
from parameterized import parameterized, param
test_white_and_grey = parameterized([param(panda_color="White"),
param(panda_color="Grey")])
test_white = parameterized([param(panda_color="White")])
test_grey = parameterized([param(panda_color="Grey")])
test_two_panda = parameterized([param(panda_color=["Grey", "White"]),
param(panda_color=["White", "Grey"])])
SPEED_NORMAL = 500
SPEED_GMLAN = 33.3
_serials = {}
def get_panda_serial(is_grey=None):
global _serials
if is_grey not in _serials:
for serial in Panda.list():
p = Panda(serial=serial)
if is_grey is None or p.is_grey() == is_grey:
_serials[is_grey] = serial
return serial
raise IOError("Panda not found. is_grey: {}".format(is_grey))
else:
return _serials[is_grey]
def connect_wo_esp(serial=None):
# connect to the panda
p = Panda(serial=serial)
# power down the ESP
p.set_esp_power(False)
# clear old junk
while len(p.can_recv()) > 0:
pass
return p
test_all_types = parameterized([
param(panda_type=Panda.HW_TYPE_WHITE_PANDA),
param(panda_type=Panda.HW_TYPE_GREY_PANDA),
param(panda_type=Panda.HW_TYPE_BLACK_PANDA)
])
test_all_pandas = parameterized(
Panda.list()
)
test_white_and_grey = parameterized([
param(panda_type=Panda.HW_TYPE_WHITE_PANDA),
param(panda_type=Panda.HW_TYPE_GREY_PANDA)
])
test_white = parameterized([
param(panda_type=Panda.HW_TYPE_WHITE_PANDA)
])
test_grey = parameterized([
param(panda_type=Panda.HW_TYPE_GREY_PANDA)
])
test_two_panda = parameterized([
param(panda_type=[Panda.HW_TYPE_GREY_PANDA, Panda.HW_TYPE_WHITE_PANDA]),
param(panda_type=[Panda.HW_TYPE_WHITE_PANDA, Panda.HW_TYPE_GREY_PANDA]),
param(panda_type=[Panda.HW_TYPE_BLACK_PANDA, Panda.HW_TYPE_BLACK_PANDA])
])
test_two_black_panda = parameterized([
param(panda_type=[Panda.HW_TYPE_BLACK_PANDA, Panda.HW_TYPE_BLACK_PANDA])
])
def connect_wifi(serial=None):
p = Panda(serial=serial)
@@ -170,23 +168,93 @@ def time_many_sends(p, bus, precv=None, msg_count=100, msg_id=None, two_pandas=F
return comp_kbps
def panda_color_to_serial(fn):
_panda_serials = None
def panda_type_to_serial(fn):
@wraps(fn)
def wrapper(panda_color=None, **kwargs):
pandas_is_grey = []
if panda_color is not None:
if not isinstance(panda_color, list):
panda_color = [panda_color]
panda_color = [s.lower() for s in panda_color]
for p in panda_color:
if p is None:
pandas_is_grey.append(None)
elif p in ["grey", "gray"]:
pandas_is_grey.append(True)
elif p in ["white"]:
pandas_is_grey.append(False)
else:
raise ValueError("Invalid Panda Color {}".format(p))
return fn(*[get_panda_serial(is_grey) for is_grey in pandas_is_grey], **kwargs)
def wrapper(panda_type=None, **kwargs):
# Change panda_types to a list
if panda_type is not None:
if not isinstance(panda_type, list):
panda_type = [panda_type]
# If not done already, get panda serials and their type
global _panda_serials
if _panda_serials == None:
_panda_serials = []
for serial in Panda.list():
p = Panda(serial=serial)
_panda_serials.append((serial, p.get_type()))
p.close()
# Find a panda with the correct types and add the corresponding serial
serials = []
for p_type in panda_type:
found = False
for serial, pt in _panda_serials:
# Never take the same panda twice
if (pt == p_type) and (serial not in serials):
serials.append(serial)
found = True
break
if not found:
raise IOError("No unused panda found for type: {}".format(p_type))
return fn(serials, **kwargs)
return wrapper
def heartbeat_thread(p):
while True:
try:
p.send_heartbeat()
time.sleep(1)
except:
break
def panda_connect_and_init(fn):
@wraps(fn)
def wrapper(panda_serials=None, **kwargs):
# Change panda_serials to a list
if panda_serials is not None:
if not isinstance(panda_serials, list):
panda_serials = [panda_serials]
# Connect to pandas
pandas = []
for panda_serial in panda_serials:
pandas.append(Panda(serial=panda_serial))
# Initialize pandas
for panda in pandas:
panda.set_can_loopback(False)
panda.set_gmlan(None)
panda.set_esp_power(False)
for bus, speed in [(0, SPEED_NORMAL), (1, SPEED_NORMAL), (2, SPEED_NORMAL), (3, SPEED_GMLAN)]:
panda.set_can_speed_kbps(bus, speed)
clear_can_buffers(panda)
thread.start_new_thread(heartbeat_thread, (panda,))
# Run test function
ret = fn(*pandas, **kwargs)
# Close all connections
for panda in pandas:
panda.close()
# Return test function result
return ret
return wrapper
def clear_can_buffers(panda):
# clear tx buffers
for i in range(4):
panda.can_clear(i)
# clear rx buffers
panda.can_clear(0xFFFF)
r = [1]
st = time.time()
while len(r) > 0:
r = panda.can_recv()
time.sleep(0.05)
if (time.time() - st) > 10:
print("Unable to clear can buffers for panda ", panda.get_serial())
assert False
+45 -56
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Loopback test between black panda (+ harness and power) and white/grey panda
# Loopback test between two black pandas (+ harness and power)
# Tests all buses, including OBD CAN, which is on the same bus as CAN0 in this test.
# To be sure, the test should be run with both harness orientations
@@ -33,81 +33,70 @@ def run_test(sleep_duration):
pandas[0] = Panda(pandas[0])
pandas[1] = Panda(pandas[1])
# find out which one is black
# find out the hardware types
type0 = pandas[0].get_type()
type1 = pandas[1].get_type()
black_panda = None
other_panda = None
if type0 == "\x03" and type1 != "\x03":
black_panda = pandas[0]
other_panda = pandas[1]
elif type0 != "\x03" and type1 == "\x03":
black_panda = pandas[1]
other_panda = pandas[0]
else:
print("Connect white/grey and black panda to run this test!")
if type0 != "\x03" or type1 != "\x03":
print("Connect two black pandas to run this test!")
assert False
# disable safety modes
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
other_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
for panda in pandas:
# disable safety modes
panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# test health packet
print("black panda health", black_panda.health())
print("other panda health", other_panda.health())
# test health packet
print("panda health", panda.health())
# test black -> other
test_buses(black_panda, other_panda, True, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (1, True, [0])], sleep_duration)
test_buses(black_panda, other_panda, False, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (0, True, [0, 1])], sleep_duration)
# setup test array (send bus, sender obd, reciever obd, expected busses)
test_array = [
(0, False, False, [0]),
(1, False, False, [1]),
(2, False, False, [2]),
(0, False, True, [0, 1]),
(1, False, True, []),
(2, False, True, [2]),
(0, True, False, [0]),
(1, True, False, [0]),
(2, True, False, [2]),
(0, True, True, [0, 1]),
(1, True, True, [0, 1]),
(2, True, True, [2])
]
# test both orientations
print("***************** TESTING (0 --> 1) *****************")
test_buses(pandas[0], pandas[1], test_array, sleep_duration)
print("***************** TESTING (1 --> 0) *****************")
test_buses(pandas[1], pandas[0], test_array, sleep_duration)
def test_buses(black_panda, other_panda, direction, test_array, sleep_duration):
if direction:
print("***************** TESTING (BLACK --> OTHER) *****************")
else:
print("***************** TESTING (OTHER --> BLACK) *****************")
for send_bus, obd, recv_buses in test_array:
black_panda.send_heartbeat()
other_panda.send_heartbeat()
print("\ntest can: ", send_bus, " OBD: ", obd)
def test_buses(send_panda, recv_panda, test_array, sleep_duration):
for send_bus, send_obd, recv_obd, recv_buses in test_array:
send_panda.send_heartbeat()
recv_panda.send_heartbeat()
print("\nSend bus:", send_bus, " Send OBD:", send_obd, " Recv OBD:", recv_obd)
# set OBD on black panda
black_panda.set_gmlan(True if obd else None)
# set OBD on pandas
send_panda.set_gmlan(True if send_obd else None)
recv_panda.set_gmlan(True if recv_obd else None)
# clear and flush
if direction:
black_panda.can_clear(send_bus)
else:
other_panda.can_clear(send_bus)
send_panda.can_clear(send_bus)
for recv_bus in recv_buses:
if direction:
other_panda.can_clear(recv_bus)
else:
black_panda.can_clear(recv_bus)
black_panda.can_recv()
other_panda.can_recv()
recv_panda.can_clear(recv_bus)
send_panda.can_recv()
recv_panda.can_recv()
# send the characters
at = random.randint(1, 2000)
st = get_test_string()[0:8]
if direction:
black_panda.can_send(at, st, send_bus)
else:
other_panda.can_send(at, st, send_bus)
send_panda.can_send(at, st, send_bus)
time.sleep(0.1)
# check for receive
if direction:
cans_echo = black_panda.can_recv()
cans_loop = other_panda.can_recv()
else:
cans_echo = other_panda.can_recv()
cans_loop = black_panda.can_recv()
cans_echo = send_panda.can_recv()
cans_loop = recv_panda.can_recv()
loop_buses = []
for loop in cans_loop:
+169
View File
@@ -0,0 +1,169 @@
#!/usr/bin/env python
# Loopback test between black panda (+ harness and power) and white/grey panda
# Tests all buses, including OBD CAN, which is on the same bus as CAN0 in this test.
# To be sure, the test should be run with both harness orientations
from __future__ import print_function
import os
import sys
import time
import random
import argparse
from hexdump import hexdump
from itertools import permutations
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
from panda import Panda
def get_test_string():
return b"test"+os.urandom(10)
counter = 0
nonzero_bus_errors = 0
zero_bus_errors = 0
content_errors = 0
def run_test(sleep_duration):
global counter, nonzero_bus_errors, zero_bus_errors, content_errors
pandas = Panda.list()
print(pandas)
# make sure two pandas are connected
if len(pandas) != 2:
print("Connect white/grey and black panda to run this test!")
assert False
# connect
pandas[0] = Panda(pandas[0])
pandas[1] = Panda(pandas[1])
# find out which one is black
type0 = pandas[0].get_type()
type1 = pandas[1].get_type()
black_panda = None
other_panda = None
if type0 == "\x03" and type1 != "\x03":
black_panda = pandas[0]
other_panda = pandas[1]
elif type0 != "\x03" and type1 == "\x03":
black_panda = pandas[1]
other_panda = pandas[0]
else:
print("Connect white/grey and black panda to run this test!")
assert False
# disable safety modes
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
other_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# test health packet
print("black panda health", black_panda.health())
print("other panda health", other_panda.health())
# test black -> other
while True:
test_buses(black_panda, other_panda, True, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (1, True, [0])], sleep_duration)
test_buses(black_panda, other_panda, False, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (0, True, [0, 1])], sleep_duration)
counter += 1
print("Number of cycles:", counter, "Non-zero bus errors:", nonzero_bus_errors, "Zero bus errors:", zero_bus_errors, "Content errors:", content_errors)
# Toggle relay
black_panda.set_safety_mode(Panda.SAFETY_NOOUTPUT)
time.sleep(1)
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
time.sleep(1)
def test_buses(black_panda, other_panda, direction, test_array, sleep_duration):
global nonzero_bus_errors, zero_bus_errors, content_errors
if direction:
print("***************** TESTING (BLACK --> OTHER) *****************")
else:
print("***************** TESTING (OTHER --> BLACK) *****************")
for send_bus, obd, recv_buses in test_array:
black_panda.send_heartbeat()
other_panda.send_heartbeat()
print("\ntest can: ", send_bus, " OBD: ", obd)
# set OBD on black panda
black_panda.set_gmlan(True if obd else None)
# clear and flush
if direction:
black_panda.can_clear(send_bus)
else:
other_panda.can_clear(send_bus)
for recv_bus in recv_buses:
if direction:
other_panda.can_clear(recv_bus)
else:
black_panda.can_clear(recv_bus)
black_panda.can_recv()
other_panda.can_recv()
# send the characters
at = random.randint(1, 2000)
st = get_test_string()[0:8]
if direction:
black_panda.can_send(at, st, send_bus)
else:
other_panda.can_send(at, st, send_bus)
time.sleep(0.1)
# check for receive
if direction:
cans_echo = black_panda.can_recv()
cans_loop = other_panda.can_recv()
else:
cans_echo = other_panda.can_recv()
cans_loop = black_panda.can_recv()
loop_buses = []
for loop in cans_loop:
if (loop[0] != at) or (loop[2] != st):
content_errors += 1
print(" Loop on bus", str(loop[3]))
loop_buses.append(loop[3])
if len(cans_loop) == 0:
print(" No loop")
if not os.getenv("NOASSERT"):
assert False
# test loop buses
recv_buses.sort()
loop_buses.sort()
if(recv_buses != loop_buses):
if len(loop_buses) == 0:
zero_bus_errors += 1
else:
nonzero_bus_errors += 1
if not os.getenv("NOASSERT"):
assert False
else:
print(" TEST PASSED")
time.sleep(sleep_duration)
print("\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-n", type=int, help="Number of test iterations to run")
parser.add_argument("-sleep", type=int, help="Sleep time between tests", default=0)
args = parser.parse_args()
if args.n is None:
while True:
run_test(sleep_duration=args.sleep)
else:
for i in range(args.n):
run_test(sleep_duration=args.sleep)
+175
View File
@@ -0,0 +1,175 @@
#!/usr/bin/env python
# Loopback test between black panda (+ harness and power) and white/grey panda
# Tests all buses, including OBD CAN, which is on the same bus as CAN0 in this test.
# To be sure, the test should be run with both harness orientations
from __future__ import print_function
import os
import sys
import time
import random
import argparse
from hexdump import hexdump
from itertools import permutations
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
from panda import Panda
def get_test_string():
return b"test"+os.urandom(10)
counter = 0
nonzero_bus_errors = 0
zero_bus_errors = 0
content_errors = 0
def run_test(sleep_duration):
global counter, nonzero_bus_errors, zero_bus_errors, content_errors
pandas = Panda.list()
print(pandas)
# make sure two pandas are connected
if len(pandas) != 2:
print("Connect white/grey and black panda to run this test!")
assert False
# connect
pandas[0] = Panda(pandas[0])
pandas[1] = Panda(pandas[1])
# find out which one is black
type0 = pandas[0].get_type()
type1 = pandas[1].get_type()
black_panda = None
other_panda = None
if type0 == "\x03" and type1 != "\x03":
black_panda = pandas[0]
other_panda = pandas[1]
elif type0 != "\x03" and type1 == "\x03":
black_panda = pandas[1]
other_panda = pandas[0]
else:
print("Connect white/grey and black panda to run this test!")
assert False
# disable safety modes
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
other_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# test health packet
print("black panda health", black_panda.health())
print("other panda health", other_panda.health())
# test black -> other
start_time = time.time()
temp_start_time = start_time
while True:
test_buses(black_panda, other_panda, True, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (1, True, [0])], sleep_duration)
test_buses(black_panda, other_panda, False, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (0, True, [0, 1])], sleep_duration)
counter += 1
runtime = time.time() - start_time
print("Number of cycles:", counter, "Non-zero bus errors:", nonzero_bus_errors, "Zero bus errors:", zero_bus_errors, "Content errors:", content_errors, "Runtime: ", runtime)
if (time.time() - temp_start_time) > 3600*6:
# Toggle relay
black_panda.set_safety_mode(Panda.SAFETY_NOOUTPUT)
time.sleep(1)
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
time.sleep(1)
temp_start_time = time.time()
def test_buses(black_panda, other_panda, direction, test_array, sleep_duration):
global nonzero_bus_errors, zero_bus_errors, content_errors
if direction:
print("***************** TESTING (BLACK --> OTHER) *****************")
else:
print("***************** TESTING (OTHER --> BLACK) *****************")
for send_bus, obd, recv_buses in test_array:
black_panda.send_heartbeat()
other_panda.send_heartbeat()
print("\ntest can: ", send_bus, " OBD: ", obd)
# set OBD on black panda
black_panda.set_gmlan(True if obd else None)
# clear and flush
if direction:
black_panda.can_clear(send_bus)
else:
other_panda.can_clear(send_bus)
for recv_bus in recv_buses:
if direction:
other_panda.can_clear(recv_bus)
else:
black_panda.can_clear(recv_bus)
black_panda.can_recv()
other_panda.can_recv()
# send the characters
at = random.randint(1, 2000)
st = get_test_string()[0:8]
if direction:
black_panda.can_send(at, st, send_bus)
else:
other_panda.can_send(at, st, send_bus)
time.sleep(0.1)
# check for receive
if direction:
cans_echo = black_panda.can_recv()
cans_loop = other_panda.can_recv()
else:
cans_echo = other_panda.can_recv()
cans_loop = black_panda.can_recv()
loop_buses = []
for loop in cans_loop:
if (loop[0] != at) or (loop[2] != st):
content_errors += 1
print(" Loop on bus", str(loop[3]))
loop_buses.append(loop[3])
if len(cans_loop) == 0:
print(" No loop")
if not os.getenv("NOASSERT"):
assert False
# test loop buses
recv_buses.sort()
loop_buses.sort()
if(recv_buses != loop_buses):
if len(loop_buses) == 0:
zero_bus_errors += 1
else:
nonzero_bus_errors += 1
if not os.getenv("NOASSERT"):
assert False
else:
print(" TEST PASSED")
time.sleep(sleep_duration)
print("\n")
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-n", type=int, help="Number of test iterations to run")
parser.add_argument("-sleep", type=int, help="Sleep time between tests", default=0)
args = parser.parse_args()
if args.n is None:
while True:
run_test(sleep_duration=args.sleep)
else:
for i in range(args.n):
run_test(sleep_duration=args.sleep)
+145
View File
@@ -0,0 +1,145 @@
#!/usr/bin/env python
# Relay test with loopback between black panda (+ harness and power) and white/grey panda
# Tests the relay switching multiple times / second by looking at the buses on which loop occurs.
from __future__ import print_function
import os
import sys
import time
import random
import argparse
from hexdump import hexdump
from itertools import permutations
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
from panda import Panda
def get_test_string():
return b"test"+os.urandom(10)
counter = 0
open_errors = 0
closed_errors = 0
content_errors = 0
def run_test(sleep_duration):
global counter, open_errors, closed_errors, content_errors
pandas = Panda.list()
#pandas = ["540046000c51363338383037", "07801b800f51363038363036"]
print(pandas)
# make sure two pandas are connected
if len(pandas) != 2:
print("Connect white/grey and black panda to run this test!")
assert False
# connect
pandas[0] = Panda(pandas[0])
pandas[1] = Panda(pandas[1])
# find out which one is black
type0 = pandas[0].get_type()
type1 = pandas[1].get_type()
black_panda = None
other_panda = None
if type0 == "\x03" and type1 != "\x03":
black_panda = pandas[0]
other_panda = pandas[1]
elif type0 != "\x03" and type1 == "\x03":
black_panda = pandas[1]
other_panda = pandas[0]
else:
print("Connect white/grey and black panda to run this test!")
assert False
# disable safety modes
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
other_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
# test health packet
print("black panda health", black_panda.health())
print("other panda health", other_panda.health())
# test black -> other
while True:
# Switch on relay
black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
time.sleep(0.05)
if not test_buses(black_panda, other_panda, (0, False, [0])):
open_errors += 1
print("Open error")
assert False
# Switch off relay
black_panda.set_safety_mode(Panda.SAFETY_NOOUTPUT)
time.sleep(0.05)
if not test_buses(black_panda, other_panda, (0, False, [0, 2])):
closed_errors += 1
print("Close error")
assert False
counter += 1
print("Number of cycles:", counter, "Open errors:", open_errors, "Closed errors:", closed_errors, "Content errors:", content_errors)
def test_buses(black_panda, other_panda, test_obj):
global content_errors
send_bus, obd, recv_buses = test_obj
black_panda.send_heartbeat()
other_panda.send_heartbeat()
# Set OBD on send panda
other_panda.set_gmlan(True if obd else None)
# clear and flush
other_panda.can_clear(send_bus)
for recv_bus in recv_buses:
black_panda.can_clear(recv_bus)
black_panda.can_recv()
other_panda.can_recv()
# send the characters
at = random.randint(1, 2000)
st = get_test_string()[0:8]
other_panda.can_send(at, st, send_bus)
time.sleep(0.05)
# check for receive
cans_echo = other_panda.can_recv()
cans_loop = black_panda.can_recv()
loop_buses = []
for loop in cans_loop:
if (loop[0] != at) or (loop[2] != st):
content_errors += 1
loop_buses.append(loop[3])
# test loop buses
recv_buses.sort()
loop_buses.sort()
if(recv_buses != loop_buses):
return False
else:
return True
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("-n", type=int, help="Number of test iterations to run")
parser.add_argument("-sleep", type=int, help="Sleep time between tests", default=0)
args = parser.parse_args()
if args.n is None:
while True:
run_test(sleep_duration=args.sleep)
else:
for i in range(args.n):
run_test(sleep_duration=args.sleep)
+33 -28
View File
@@ -12,33 +12,38 @@ setcolor = ["\033[1;32;40m", "\033[1;31;40m"]
unsetcolor = "\033[00m"
if __name__ == "__main__":
port_number = int(os.getenv("PORT", 0))
claim = os.getenv("CLAIM") is not None
serials = Panda.list()
if os.getenv("SERIAL"):
serials = filter(lambda x: x==os.getenv("SERIAL"), serials)
pandas = list(map(lambda x: Panda(x, claim=claim), serials))
if not len(pandas):
sys.exit("no pandas found")
if os.getenv("BAUD") is not None:
for panda in pandas:
panda.set_uart_baud(port_number, int(os.getenv("BAUD")))
while True:
for i, panda in enumerate(pandas):
try:
port_number = int(os.getenv("PORT", 0))
claim = os.getenv("CLAIM") is not None
serials = Panda.list()
if os.getenv("SERIAL"):
serials = filter(lambda x: x==os.getenv("SERIAL"), serials)
pandas = list(map(lambda x: Panda(x, claim=claim), serials))
if not len(pandas):
sys.exit("no pandas found")
if os.getenv("BAUD") is not None:
for panda in pandas:
panda.set_uart_baud(port_number, int(os.getenv("BAUD")))
while True:
ret = panda.serial_read(port_number)
if len(ret) > 0:
sys.stdout.write(setcolor[i] + str(ret) + unsetcolor)
sys.stdout.flush()
else:
break
if select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []):
ln = sys.stdin.readline()
if claim:
panda.serial_write(port_number, ln)
time.sleep(0.01)
for i, panda in enumerate(pandas):
while True:
ret = panda.serial_read(port_number)
if len(ret) > 0:
sys.stdout.write(setcolor[i] + str(ret) + unsetcolor)
sys.stdout.flush()
else:
break
if select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []):
ln = sys.stdin.readline()
if claim:
panda.serial_write(port_number, ln)
time.sleep(0.01)
except:
print("panda disconnected!")
time.sleep(0.5);
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env python
import time
from panda import Panda
if __name__ == "__main__":
panda_serials = Panda.list()
pandas = []
for ps in panda_serials:
pandas.append(Panda(serial=ps))
if len(pandas) == 0:
print("No pandas connected")
assert False
while True:
for panda in pandas:
print(panda.health())
print("\n")
time.sleep(0.5)
+2 -1
View File
@@ -57,8 +57,9 @@ void set_toyota_rt_torque_last(int t);
void init_tests_honda(void);
bool get_honda_moving(void);
int get_honda_brake_prev(void);
bool get_honda_brake_pressed_prev(void);
int get_honda_gas_prev(void);
void set_honda_fwd_brake(bool);
void set_honda_alt_brake_msg(bool);
void set_honda_bosch_hardware(bool);
int get_honda_bosch_hardware(void);
+8 -3
View File
@@ -227,8 +227,8 @@ bool get_honda_moving(void){
return honda_moving;
}
int get_honda_brake_prev(void){
return honda_brake_prev;
bool get_honda_brake_pressed_prev(void){
return honda_brake_pressed_prev;
}
int get_honda_gas_prev(void){
@@ -247,6 +247,10 @@ int get_honda_bosch_hardware(void) {
return honda_bosch_hardware;
}
void set_honda_fwd_brake(bool c){
honda_fwd_brake = c;
}
void init_tests(void){
// get HW_TYPE from env variable set in test.sh
hw_type = atoi(getenv("HW_TYPE"));
@@ -315,8 +319,9 @@ void init_tests_subaru(void){
void init_tests_honda(void){
init_tests();
honda_moving = false;
honda_brake_prev = 0;
honda_brake_pressed_prev = false;
honda_gas_prev = 0;
honda_fwd_brake = false;
}
void set_gmlan_digital_output(int to_set){

Some files were not shown because too many files have changed in this diff Show More