from selfdrive . car import dbc_dict
# Car button codes
class CruiseButtons :
RES_ACCEL = 4
DECEL_SET = 3
CANCEL = 2
MAIN = 1
#car chimes: enumeration from dbc file. Chimes are for alerts and warnings
class CM :
MUTE = 0
SINGLE = 3
DOUBLE = 4
REPEATED = 1
CONTINUOUS = 2
#car beepss: enumeration from dbc file. Beeps are for activ and deactiv
class BP :
MUTE = 0
SINGLE = 3
TRIPLE = 2
REPEATED = 1
class AH :
#[alert_idx, value]
# See dbc files for info on values"
NONE = [ 0 , 0 ]
FCW = [ 1 , 1 ]
STEER = [ 2 , 1 ]
BRAKE_PRESSED = [ 3 , 10 ]
GEAR_NOT_D = [ 4 , 6 ]
SEATBELT = [ 5 , 5 ]
SPEED_TOO_HIGH = [ 6 , 8 ]
class CAR :
ACCORD = " HONDA ACCORD 2018 SPORT 2T "
CIVIC = " HONDA CIVIC 2016 TOURING "
CIVIC_HATCH = " HONDA CIVIC HATCHBACK 2017 EX "
ACURA_ILX = " ACURA ILX 2016 ACURAWATCH PLUS "
CRV = " HONDA CR-V 2016 TOURING "
CRV_5G = " HONDA CR-V 2017 EX "
ODYSSEY = " HONDA ODYSSEY 2018 EX-L "
ACURA_RDX = " ACURA RDX 2018 ACURAWATCH PLUS "
PILOT = " HONDA PILOT 2017 TOURING "
RIDGELINE = " HONDA RIDGELINE 2017 BLACK EDITION "
FINGERPRINTS = {
CAR . ACCORD : [ {
148 : 8 , 228 : 5 , 304 : 8 , 330 : 8 , 344 : 8 , 380 : 8 , 399 : 7 , 419 : 8 , 420 : 8 , 427 : 3 , 432 : 7 , 441 : 5 , 446 : 3 , 450 : 8 , 464 : 8 , 477 : 8 , 479 : 8 , 495 : 8 , 545 : 6 , 662 : 4 , 773 : 7 , 777 : 8 , 780 : 8 , 804 : 8 , 806 : 8 , 808 : 8 , 829 : 5 , 862 : 8 , 884 : 8 , 891 : 8 , 927 : 8 , 929 : 8 , 1302 : 8 , 1600 : 5 , 1601 : 8 , 1652 : 8
} ] ,
CAR . ACURA_ILX : [ {
1024 L : 5 , 513 L : 6 , 1027 L : 5 , 1029 L : 8 , 929 L : 4 , 1057 L : 5 , 777 L : 8 , 1034 L : 5 , 1036 L : 8 , 398 L : 3 , 399 L : 7 , 145 L : 8 , 660 L : 8 , 985 L : 3 , 923 L : 2 , 542 L : 7 , 773 L : 7 , 800 L : 8 , 432 L : 7 , 419 L : 8 , 420 L : 8 , 1030 L : 5 , 422 L : 8 , 808 L : 8 , 428 L : 8 , 304 L : 8 , 819 L : 7 , 821 L : 5 , 57 L : 3 , 316 L : 8 , 545 L : 4 , 464 L : 8 , 1108 L : 8 , 597 L : 8 , 342 L : 6 , 983 L : 8 , 344 L : 8 , 804 L : 8 , 1039 L : 8 , 476 L : 4 , 892 L : 8 , 490 L : 8 , 1064 L : 7 , 882 L : 2 , 884 L : 7 , 887 L : 8 , 888 L : 8 , 380 L : 8 , 1365 L : 5 ,
# sent messages
0xe4 : 5 , 0x1fa : 8 , 0x200 : 6 , 0x30c : 8 , 0x33d : 5 ,
} ] ,
CAR . ACURA_RDX : [ {
57 L : 3 , 145 L : 8 , 229 L : 4 , 308 L : 5 , 316 L : 8 , 342 L : 6 , 344 L : 8 , 380 L : 8 , 392 L : 6 , 398 L : 3 , 399 L : 6 , 404 L : 4 , 420 L : 8 , 422 L : 8 , 426 L : 8 , 432 L : 7 , 464 L : 8 , 474 L : 5 , 476 L : 4 , 487 L : 4 , 490 L : 8 , 506 L : 8 , 542 L : 7 , 545 L : 4 , 597 L : 8 , 660 L : 8 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 800 L : 8 , 804 L : 8 , 808 L : 8 , 819 L : 7 , 821 L : 5 , 829 L : 5 , 882 L : 2 , 884 L : 7 , 887 L : 8 , 888 L : 8 , 892 L : 8 , 923 L : 2 , 929 L : 4 , 963 L : 8 , 965 L : 8 , 966 L : 8 , 967 L : 8 , 983 L : 8 , 985 L : 3 , 1024 L : 5 , 1027 L : 5 , 1029 L : 8 , 1033 L : 5 , 1034 L : 5 , 1036 L : 8 , 1039 L : 8 , 1057 L : 5 , 1064 L : 7 , 1108 L : 8 , 1365 L : 5 , 1424 L : 5 , 1729 L : 1
} ] ,
CAR . CIVIC : [ {
1024 L : 5 , 513 L : 6 , 1027 L : 5 , 1029 L : 8 , 777 L : 8 , 1036 L : 8 , 1039 L : 8 , 1424 L : 5 , 401 L : 8 , 148 L : 8 , 662 L : 4 , 985 L : 3 , 795 L : 8 , 773 L : 7 , 800 L : 8 , 545 L : 6 , 420 L : 8 , 806 L : 8 , 808 L : 8 , 1322 L : 5 , 427 L : 3 , 428 L : 8 , 304 L : 8 , 432 L : 7 , 57 L : 3 , 450 L : 8 , 929 L : 8 , 330 L : 8 , 1302 L : 8 , 464 L : 8 , 1361 L : 5 , 1108 L : 8 , 597 L : 8 , 470 L : 2 , 344 L : 8 , 804 L : 8 , 399 L : 7 , 476 L : 7 , 1633 L : 8 , 487 L : 4 , 892 L : 8 , 490 L : 8 , 493 L : 5 , 884 L : 8 , 891 L : 8 , 380 L : 8 , 1365 L : 5 ,
# sent messages
0xe4 : 5 , 0x1fa : 8 , 0x200 : 6 , 0x30c : 8 , 0x33d : 5 , 0x35e : 8 , 0x39f : 8 ,
} ] ,
CAR . CIVIC_HATCH : [ {
57 L : 3 , 148 L : 8 , 228 L : 5 , 304 L : 8 , 330 L : 8 , 344 L : 8 , 380 L : 8 , 399 L : 7 , 401 L : 8 , 420 L : 8 , 427 L : 3 , 428 L : 8 , 432 L : 7 , 441 L : 5 , 450 L : 8 , 464 L : 8 , 470 L : 2 , 476 L : 7 , 477 L : 8 , 479 L : 8 , 490 L : 8 , 493 L : 5 , 495 L : 8 , 506 L : 8 , 545 L : 6 , 597 L : 8 , 662 L : 4 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 806 L : 8 , 808 L : 8 , 829 L : 5 , 862 L : 8 , 884 L : 8 , 891 L : 8 , 892 L : 8 , 927 L : 8 , 929 L : 8 , 985 L : 3 , 1024 L : 5 , 1027 L : 5 , 1029 L : 8 , 1036 L : 8 , 1039 L : 8 , 1108 L : 8 , 1302 L : 8 , 1322 L : 5 , 1361 L : 5 , 1365 L : 5 , 1424 L : 5 , 1600 L : 5 , 1601 L : 8 , 1633 L : 8
} ] ,
CAR . CRV : [ {
57 L : 3 , 145 L : 8 , 316 L : 8 , 340 L : 8 , 342 L : 6 , 344 L : 8 , 380 L : 8 , 398 L : 3 , 399 L : 6 , 401 L : 8 , 420 L : 8 , 422 L : 8 , 426 L : 8 , 432 L : 7 , 464 L : 8 , 474 L : 5 , 476 L : 4 , 487 L : 4 , 490 L : 8 , 493 L : 3 , 507 L : 1 , 542 L : 7 , 545 L : 4 , 597 L : 8 , 660 L : 8 , 661 L : 4 , 773 L : 7 , 777 L : 8 , 800 L : 8 , 804 L : 8 , 808 L : 8 , 882 L : 2 , 884 L : 7 , 888 L : 8 , 891 L : 8 , 892 L : 8 , 923 L : 2 , 929 L : 8 , 983 L : 8 , 985 L : 3 , 1024 L : 5 , 1027 L : 5 , 1029 L : 8 , 1033 L : 5 , 1036 L : 8 , 1039 L : 8 , 1057 L : 5 , 1064 L : 7 , 1108 L : 8 , 1125 L : 8 , 1296 L : 8 , 1365 L : 5 , 1424 L : 5 , 1600 L : 5 , 1601 L : 8 ,
# sent messages
0x194 : 4 , 0x1fa : 8 , 0x30c : 8 , 0x33d : 5 ,
} ] ,
CAR . CRV_5G : [ {
57 L : 3 , 148 L : 8 , 199 L : 4 , 228 L : 5 , 231 L : 5 , 232 L : 7 , 304 L : 8 , 330 L : 8 , 340 L : 8 , 344 L : 8 , 380 L : 8 , 399 L : 7 , 401 L : 8 , 420 L : 8 , 423 L : 2 , 427 L : 3 , 428 L : 8 , 432 L : 7 , 441 L : 5 , 446 L : 3 , 450 L : 8 , 464 L : 8 , 467 L : 2 , 469 L : 3 , 470 L : 2 , 474 L : 8 , 476 L : 7 , 477 L : 8 , 479 L : 8 , 490 L : 8 , 493 L : 5 , 495 L : 8 , 507 L : 1 , 545 L : 6 , 597 L : 8 , 661 L : 4 , 662 L : 4 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 806 L : 8 , 808 L : 8 , 814 L : 4 , 815 L : 8 , 817 L : 4 , 825 L : 4 , 829 L : 5 , 862 L : 8 , 881 L : 8 , 882 L : 4 , 884 L : 8 , 888 L : 8 , 891 L : 8 , 927 L : 8 , 918 L : 7 , 929 L : 8 , 983 L : 8 , 985 L : 3 , 1024 L : 5 , 1027 L : 5 , 1029 L : 8 , 1036 L : 8 , 1039 L : 8 , 1064 L : 7 , 1108 L : 8 , 1092 L : 1 , 1115 L : 4 , 1125 L : 8 , 1127 L : 2 , 1296 L : 8 , 1302 L : 8 , 1322 L : 5 , 1361 L : 5 , 1365 L : 5 , 1424 L : 5 , 1600 L : 5 , 1601 L : 8 , 1618 L : 5 , 1633 L : 8 , 1670 L : 5
} ] ,
CAR . ODYSSEY : [ {
57 L : 3 , 148 L : 8 , 228 L : 5 , 229 L : 4 , 316 L : 8 , 342 L : 6 , 344 L : 8 , 380 L : 8 , 399 L : 7 , 411 L : 5 , 419 L : 8 , 420 L : 8 , 427 L : 3 , 432 L : 7 , 450 L : 8 , 463 L : 8 , 464 L : 8 , 476 L : 4 , 490 L : 8 , 506 L : 8 , 542 L : 7 , 545 L : 6 , 597 L : 8 , 662 L : 4 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 806 L : 8 , 808 L : 8 , 817 L : 4 , 819 L : 7 , 821 L : 5 , 825 L : 4 , 829 L : 5 , 837 L : 5 , 856 L : 7 , 862 L : 8 , 871 L : 8 , 881 L : 8 , 882 L : 4 , 884 L : 8 , 891 L : 8 , 892 L : 8 , 905 L : 8 , 923 L : 2 , 927 L : 8 , 929 L : 8 , 963 L : 8 , 965 L : 8 , 966 L : 8 , 967 L : 8 , 983 L : 8 , 985 L : 3 , 1029 L : 8 , 1036 L : 8 , 1052 L : 8 , 1064 L : 7 , 1088 L : 8 , 1089 L : 8 , 1092 L : 1 , 1108 L : 8 , 1110 L : 8 , 1125 L : 8 , 1296 L : 8 , 1302 L : 8 , 1600 L : 5 , 1601 L : 8 , 1612 L : 5 , 1613 L : 5 , 1614 L : 5 , 1615 L : 8 , 1616 L : 5 , 1619 L : 5 , 1623 L : 5 , 1668 L : 5
} ,
# Odyssey Elite
{
57 L : 3 , 148 L : 8 , 228 L : 5 , 229 L : 4 , 304 L : 8 , 342 L : 6 , 344 L : 8 , 380 L : 8 , 399 L : 7 , 411 L : 5 , 419 L : 8 , 420 L : 8 , 427 L : 3 , 432 L : 7 , 440 L : 8 , 450 L : 8 , 463 L : 8 , 464 L : 8 , 476 L : 4 , 490 L : 8 , 506 L : 8 , 507 L : 1 , 542 L : 7 , 545 L : 6 , 597 L : 8 , 662 L : 4 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 806 L : 8 , 808 L : 8 , 817 L : 4 , 819 L : 7 , 821 L : 5 , 825 L : 4 , 829 L : 5 , 837 L : 5 , 856 L : 7 , 862 L : 8 , 871 L : 8 , 881 L : 8 , 882 L : 4 , 884 L : 8 , 891 L : 8 , 892 L : 8 , 905 L : 8 , 923 L : 2 , 927 L : 8 , 929 L : 8 , 963 L : 8 , 965 L : 8 , 966 L : 8 , 967 L : 8 , 983 L : 8 , 985 L : 3 , 1029 L : 8 , 1036 L : 8 , 1052 L : 8 , 1064 L : 7 , 1088 L : 8 , 1089 L : 8 , 1092 L : 1 , 1108 L : 8 , 1110 L : 8 , 1125 L : 8 , 1296 L : 8 , 1302 L : 8 , 1600 L : 5 , 1601 L : 8 , 1612 L : 5 , 1613 L : 5 , 1614 L : 5 , 1616 L : 5 , 1619 L : 5 , 1623 L : 5 , 1668 L : 5
} ] ,
# Includes 2017 Touring and 2016 EX-L messaging.
CAR . PILOT : [ {
57 L : 3 , 145 L : 8 , 228 L : 5 , 229 L : 4 , 308 L : 5 , 316 L : 8 , 334 L : 8 , 339 L : 7 , 342 L : 6 , 344 L : 8 , 379 L : 8 , 380 L : 8 , 392 L : 6 , 399 L : 7 , 419 L : 8 , 420 L : 8 , 422 L : 8 , 425 L : 8 , 426 L : 8 , 427 L : 3 , 432 L : 7 , 463 L : 8 , 464 L : 8 , 476 L : 4 , 490 L : 8 , 506 L : 8 , 507 L : 1 , 538 L : 3 , 542 L : 7 , 545 L : 5 , 546 L : 3 , 597 L : 8 , 660 L : 8 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 808 L : 8 , 819 L : 7 , 821 L : 5 , 829 L : 5 , 837 L : 5 , 856 L : 7 , 871 L : 8 , 882 L : 2 , 884 L : 7 , 891 L : 8 , 892 L : 8 , 923 L : 2 , 929 L : 8 , 963 L : 8 , 965 L : 8 , 966 L : 8 , 967 L : 8 , 983 L : 8 , 985 L : 3 , 1027 L : 5 , 1029 L : 8 , 1036 L : 8 , 1039 L : 8 , 1064 L : 7 , 1088 L : 8 , 1089 L : 8 , 1108 L : 8 , 1125 L : 8 , 1296 L : 8 , 1424 L : 5 , 1600 L : 5 , 1601 L : 8 , 1612 L : 5 , 1613 L : 5 , 1616 L : 5 , 1618 L : 5 , 1668 L : 5
} ] ,
CAR . RIDGELINE : [ {
57 L : 3 , 145 L : 8 , 228 L : 5 , 229 L : 4 , 308 L : 5 , 316 L : 8 , 339 L : 7 , 342 L : 6 , 344 L : 8 , 380 L : 8 , 392 L : 6 , 399 L : 7 , 419 L : 8 , 420 L : 8 , 422 L : 8 , 425 L : 8 , 426 L : 8 , 427 L : 3 , 432 L : 7 , 464 L : 8 , 471 L : 3 , 476 L : 4 , 490 L : 8 , 506 L : 8 , 545 L : 5 , 546 L : 3 , 597 L : 8 , 660 L : 8 , 773 L : 7 , 777 L : 8 , 780 L : 8 , 795 L : 8 , 800 L : 8 , 804 L : 8 , 808 L : 8 , 819 L : 7 , 821 L : 5 , 829 L : 5 , 871 L : 8 , 882 L : 2 , 884 L : 7 , 892 L : 8 , 923 L : 2 , 927 L : 8 , 929 L : 8 , 963 L : 8 , 965 L : 8 , 966 L : 8 , 967 L : 8 , 983 L : 8 , 985 L : 3 , 1027 L : 5 , 1029 L : 8 , 1036 L : 8 , 1039 L : 8 , 1064 L : 7 , 1088 L : 8 , 1089 L : 8 , 1108 L : 8 , 1125 L : 8 , 1296 L : 8 , 1365 L : 5 , 1424 L : 5 , 1600 L : 5 , 1601 L : 8 , 1613 L : 5 , 1616 L : 5 , 1618 L : 5 , 1668 L : 5 , 2015 L : 3
} ]
}
DBC = {
CAR . ACCORD : dbc_dict ( ' honda_accord_s2t_2018_can_generated ' , None ) ,
CAR . ACURA_ILX : dbc_dict ( ' acura_ilx_2016_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . ACURA_RDX : dbc_dict ( ' acura_rdx_2018_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . CIVIC : dbc_dict ( ' honda_civic_touring_2016_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . CIVIC_HATCH : dbc_dict ( ' honda_civic_hatchback_ex_2017_can_generated ' , None ) ,
CAR . CRV : dbc_dict ( ' honda_crv_touring_2016_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . CRV_5G : dbc_dict ( ' honda_crv_ex_2017_can_generated ' , None ) ,
CAR . ODYSSEY : dbc_dict ( ' honda_odyssey_exl_2018_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . PILOT : dbc_dict ( ' honda_pilot_touring_2017_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
CAR . RIDGELINE : dbc_dict ( ' honda_ridgeline_black_edition_2017_can_generated ' , ' acura_ilx_2016_nidec ' ) ,
}