@@ -8,6 +8,7 @@ class CAR:
8
8
VOLT = "CHEVROLET VOLT PREMIER 2017"
9
9
CADILLAC_CT6 = "CADILLAC CT6 SUPERCRUISE 2018"
10
10
MALIBU = "CHEVROLET MALIBU PREMIER 2017"
11
+ ACADIA = "GMC ACADIA DENALI 2018"
11
12
12
13
class CruiseButtons :
13
14
UNPRESS = 1
@@ -37,7 +38,7 @@ class CM:
37
38
38
39
def is_eps_status_ok (eps_status , car_fingerprint ):
39
40
valid_eps_status = []
40
- if car_fingerprint in (CAR .VOLT , CAR .MALIBU , CAR .HOLDEN_ASTRA ):
41
+ if car_fingerprint in (CAR .VOLT , CAR .MALIBU , CAR .HOLDEN_ASTRA , CAR . ACADIA ):
41
42
valid_eps_status += [0 , 1 ]
42
43
elif car_fingerprint == CAR .CADILLAC_CT6 :
43
44
valid_eps_status += [0 , 1 , 4 , 5 , 6 ]
@@ -77,6 +78,11 @@ def parse_gear_shifter(can_gear):
77
78
{
78
79
190 : 6 , 193 : 8 , 197 : 8 , 199 : 4 , 201 : 8 , 209 : 7 , 211 : 2 , 241 : 6 , 249 : 8 , 288 : 5 , 298 : 8 , 304 : 1 , 309 : 8 , 311 : 8 , 313 : 8 , 320 : 3 , 328 : 1 , 352 : 5 , 381 : 6 , 384 : 4 , 386 : 8 , 388 : 8 , 393 : 7 , 398 : 8 , 407 : 7 , 413 : 8 , 417 : 7 , 419 : 1 , 422 : 4 , 426 : 7 , 431 : 8 , 442 : 8 , 451 : 8 , 452 : 8 , 453 : 6 , 455 : 7 , 456 : 8 , 479 : 3 , 481 : 7 , 485 : 8 , 487 : 8 , 489 : 8 , 495 : 4 , 497 : 8 , 499 : 3 , 500 : 6 , 501 : 8 , 508 : 8 , 510 : 8 , 528 : 5 , 532 : 6 , 554 : 3 , 560 : 8 , 562 : 8 , 563 : 5 , 564 : 5 , 565 : 5 , 567 : 5 , 573 : 1 , 577 : 8 , 608 : 8 , 609 : 6 , 610 : 6 , 611 : 6 , 612 : 8 , 613 : 8 , 647 : 6 , 707 : 8 , 715 : 8 , 717 : 5 , 753 : 5 , 761 : 7 , 810 : 8 , 840 : 5 , 842 : 5 , 844 : 8 , 866 : 4 , 869 : 4 , 880 : 6 , 961 : 8 , 969 : 8 , 977 : 8 , 979 : 8 , 985 : 5 , 1001 : 8 , 1005 : 6 , 1009 : 8 , 1013 : 3 , 1017 : 8 , 1019 : 2 , 1020 : 8 , 1033 : 7 , 1034 : 7 , 1105 : 6 , 1217 : 8 , 1221 : 5 , 1223 : 2 , 1225 : 7 , 1233 : 8 , 1249 : 8 , 1257 : 6 , 1265 : 8 , 1267 : 1 , 1280 : 4 , 1296 : 4 , 1300 : 8 , 1322 : 6 , 1323 : 4 , 1328 : 4 , 1417 : 8 , 1601 : 8 , 1906 : 7 , 1907 : 7 , 1912 : 7 , 1919 : 7 , 1930 : 7 , 2016 : 8 , 2024 : 8 ,
79
80
}],
81
+ CAR .ACADIA : [
82
+ # Acadia Denali w/ /ACC 2018
83
+ {
84
+ 190 : 6 , 193 : 8 , 197 : 8 , 199 : 4 , 201 : 8 , 208 : 8 , 209 : 7 , 211 : 2 , 241 : 6 , 249 : 8 , 288 : 5 , 289 : 8 , 298 : 8 , 304 : 1 , 309 : 8 , 313 : 8 , 320 : 3 , 322 : 7 , 328 : 1 , 338 : 6 , 340 : 6 , 352 : 5 , 381 : 8 , 384 : 4 , 386 : 8 , 388 : 8 , 393 : 8 , 398 : 8 , 413 : 8 , 417 : 7 , 419 : 1 , 422 : 4 , 426 : 7 , 431 : 8 , 442 : 8 , 451 : 8 , 452 : 8 , 453 : 6 , 454 : 8 , 455 : 7 , 462 : 4 , 463 : 3 , 479 : 3 , 481 : 7 , 485 : 8 , 489 : 8 , 497 : 8 , 499 : 3 , 500 : 6 , 501 : 8 , 508 : 8 , 510 : 8 , 532 : 6 , 554 : 3 , 560 : 8 , 562 : 8 , 563 : 5 , 564 : 5 , 567 : 5 , 573 : 1 , 577 : 8 , 608 : 8 , 609 : 6 , 610 : 6 , 611 : 6 , 612 : 8 , 613 : 8 , 647 : 6 , 707 : 8 , 715 : 8 , 717 : 5 , 753 : 5 , 761 : 7 , 840 : 5 , 842 : 5 , 844 : 8 , 866 : 4 , 869 : 4 , 880 : 6 , 961 : 8 , 969 : 8 , 977 : 8 , 979 : 8 , 985 : 5 , 1001 : 8 , 1005 : 6 , 1009 : 8 , 1017 : 8 , 1020 : 8 , 1033 : 7 , 1034 : 7 , 1105 : 6 , 1217 : 8 , 1221 : 5 , 1225 : 8 , 1233 : 8 , 1249 : 8 , 1257 : 6 , 1265 : 8 , 1267 : 1 , 1280 : 4 , 1296 : 4 , 1300 : 8 , 1322 : 6 , 1328 : 4 , 1417 : 8 , 1601 : 8 , 1906 : 7 , 1907 : 7 , 1912 : 7 , 1914 : 7 , 1919 : 7 , 1920 : 7 , 1930 : 7 , 2016 : 8 , 2024 : 8
85
+ }],
80
86
}
81
87
82
88
STEER_THRESHOLD = 1.0
@@ -85,12 +91,14 @@ def parse_gear_shifter(can_gear):
85
91
CAR .HOLDEN_ASTRA : [384 , 715 ],
86
92
CAR .VOLT : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
87
93
CAR .MALIBU : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
94
+ CAR .ACADIA : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
88
95
CAR .CADILLAC_CT6 : [], # Cadillac does not require ASCMs to be disconnected
89
96
}
90
97
91
98
DBC = {
92
99
CAR .HOLDEN_ASTRA : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
93
100
CAR .VOLT : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
94
101
CAR .MALIBU : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
102
+ CAR .ACADIA : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
95
103
CAR .CADILLAC_CT6 : dbc_dict ('cadillac_ct6_powertrain' , 'cadillac_ct6_object' , chassis_dbc = 'cadillac_ct6_chassis' ),
96
104
}
0 commit comments