6
6
class CAR :
7
7
HOLDEN_ASTRA = "HOLDEN ASTRA RS-V BK 2017"
8
8
VOLT = "CHEVROLET VOLT PREMIER 2017"
9
+ CADILLAC_ATS = "CADILLAC ATS Premium Performance 2018"
9
10
CADILLAC_CT6 = "CADILLAC CT6 SUPERCRUISE 2018"
10
11
MALIBU = "CHEVROLET MALIBU PREMIER 2017"
11
12
ACADIA = "GMC ACADIA DENALI 2018"
@@ -38,7 +39,7 @@ class CM:
38
39
39
40
def is_eps_status_ok (eps_status , car_fingerprint ):
40
41
valid_eps_status = []
41
- if car_fingerprint in (CAR .VOLT , CAR .MALIBU , CAR .HOLDEN_ASTRA , CAR .ACADIA ):
42
+ if car_fingerprint in (CAR .VOLT , CAR .MALIBU , CAR .HOLDEN_ASTRA , CAR .ACADIA , CAR . CADILLAC_ATS ):
42
43
valid_eps_status += [0 , 1 ]
43
44
elif car_fingerprint == CAR .CADILLAC_CT6 :
44
45
valid_eps_status += [0 , 1 , 4 , 5 , 6 ]
@@ -70,6 +71,11 @@ def parse_gear_shifter(can_gear):
70
71
{
71
72
170 : 8 , 171 : 8 , 189 : 7 , 190 : 6 , 193 : 8 , 197 : 8 , 199 : 4 , 201 : 8 , 209 : 7 , 211 : 2 , 241 : 6 , 288 : 5 , 298 : 8 , 304 : 1 , 308 : 4 , 309 : 8 , 311 : 8 , 313 : 8 , 320 : 3 , 328 : 1 , 352 : 5 , 381 : 6 , 384 : 4 , 386 : 8 , 388 : 8 , 389 : 2 , 390 : 7 , 417 : 7 , 419 : 1 , 426 : 7 , 451 : 8 , 452 : 8 , 453 : 6 , 454 : 8 , 456 : 8 , 479 : 3 , 481 : 7 , 485 : 8 , 489 : 8 , 493 : 8 , 495 : 4 , 497 : 8 , 499 : 3 , 500 : 6 , 501 : 8 , 508 : 8 , 528 : 4 , 532 : 6 , 546 : 7 , 550 : 8 , 554 : 3 , 558 : 8 , 560 : 8 , 562 : 8 , 563 : 5 , 564 : 5 , 565 : 5 , 566 : 5 , 567 : 3 , 568 : 1 , 573 : 1 , 577 : 8 , 608 : 8 , 609 : 6 , 610 : 6 , 611 : 6 , 612 : 8 , 613 : 8 , 647 : 3 , 707 : 8 , 711 : 6 , 715 : 8 , 717 : 5 , 761 : 7 , 810 : 8 , 840 : 5 , 842 : 5 , 844 : 8 , 866 : 4 , 869 : 4 , 880 : 6 , 961 : 8 , 967 : 4 , 969 : 8 , 977 : 8 , 979 : 7 , 988 : 6 , 989 : 8 , 995 : 7 , 1001 : 8 , 1005 : 6 , 1009 : 8 , 1017 : 8 , 1019 : 2 , 1020 : 8 , 1033 : 7 , 1034 : 7 , 1105 : 6 , 1187 : 4 , 1217 : 8 , 1221 : 5 , 1223 : 3 , 1225 : 7 , 1227 : 4 , 1233 : 8 , 1249 : 8 , 1257 : 6 , 1265 : 8 , 1267 : 1 , 1273 : 3 , 1275 : 3 , 1280 : 4 , 1296 : 4 , 1300 : 8 , 1322 : 6 , 1323 : 4 , 1328 : 4 , 1417 : 8 , 1601 : 8 , 1905 : 7 , 1906 : 7 , 1907 : 7 , 1910 : 7 , 1912 : 7 , 1922 : 7 , 1927 : 7 , 1930 : 7 , 2016 : 8 , 2020 : 8 , 2024 : 8 , 2028 : 8
72
73
}],
74
+ CAR .CADILLAC_ATS : [
75
+ # Cadillac ATS Coupe Premium Performance 3.6L RWD w/ ACC 2018
76
+ {
77
+ 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 , 322 : 7 , 328 : 1 , 352 : 5 , 368 : 3 , 381 : 6 , 384 : 4 , 386 : 8 , 388 : 8 , 393 : 7 , 398 : 8 , 401 : 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 , 462 : 4 , 479 : 3 , 481 : 7 , 485 : 8 , 487 : 8 , 489 : 8 , 491 : 2 , 493 : 8 , 497 : 8 , 499 : 3 , 500 : 6 , 501 : 8 , 508 : 8 , 510 : 8 , 528 : 5 , 532 : 6 , 534 : 2 , 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 , 719 : 5 , 723 : 2 , 753 : 5 , 761 : 7 , 801 : 8 , 804 : 3 , 810 : 8 , 840 : 5 , 842 : 5 , 844 : 8 , 866 : 4 , 869 : 4 , 880 : 6 , 882 : 8 , 890 : 1 , 892 : 2 , 893 : 2 , 894 : 1 , 961 : 8 , 967 : 4 , 969 : 8 , 977 : 8 , 979 : 8 , 985 : 5 , 1001 : 8 , 1005 : 6 , 1009 : 8 , 1011 : 6 , 1013 : 3 , 1017 : 8 , 1019 : 2 , 1020 : 8 , 1033 : 7 , 1034 : 7 , 1105 : 6 , 1217 : 8 , 1221 : 5 , 1223 : 3 , 1225 : 7 , 1233 : 8 , 1241 : 3 , 1249 : 8 , 1257 : 6 , 1259 : 8 , 1261 : 7 , 1263 : 4 , 1265 : 8 , 1267 : 1 , 1271 : 8 , 1280 : 4 , 1296 : 4 , 1300 : 8 , 1322 : 6 , 1323 : 4 , 1328 : 4 , 1417 : 8 , 1601 : 8 , 1904 : 7 , 1906 : 7 , 1907 : 7 , 1912 : 7 , 1916 : 7 , 1917 : 7 , 1918 : 7 , 1919 : 7 , 1920 : 7 , 1930 : 7 , 2016 : 8 , 2024 : 8
78
+ }],
73
79
CAR .CADILLAC_CT6 : [{
74
80
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 , 313 : 8 , 320 : 3 , 322 : 7 , 328 : 1 , 336 : 1 , 338 : 6 , 340 : 6 , 352 : 5 , 354 : 5 , 356 : 8 , 368 : 3 , 372 : 5 , 381 : 8 , 386 : 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 , 458 : 5 , 460 : 5 , 462 : 4 , 463 : 3 , 479 : 3 , 481 : 7 , 485 : 8 , 487 : 8 , 489 : 8 , 495 : 4 , 497 : 8 , 499 : 3 , 500 : 6 , 501 : 8 , 508 : 8 , 528 : 5 , 532 : 6 , 534 : 2 , 554 : 3 , 560 : 8 , 562 : 8 , 563 : 5 , 564 : 5 , 565 : 5 , 567 : 5 , 569 : 3 , 573 : 1 , 577 : 8 , 608 : 8 , 609 : 6 , 610 : 6 , 611 : 6 , 612 : 8 , 613 : 8 , 647 : 6 , 707 : 8 , 715 : 8 , 717 : 5 , 719 : 5 , 723 : 2 , 753 : 5 , 761 : 7 , 800 : 6 , 801 : 8 , 804 : 3 , 810 : 8 , 832 : 8 , 833 : 8 , 834 : 8 , 835 : 6 , 836 : 5 , 837 : 8 , 838 : 8 , 839 : 8 , 840 : 5 , 842 : 5 , 844 : 8 , 866 : 4 , 869 : 4 , 880 : 6 , 884 : 8 , 961 : 8 , 969 : 8 , 977 : 8 , 979 : 8 , 985 : 5 , 1001 : 8 , 1005 : 6 , 1009 : 8 , 1011 : 6 , 1013 : 1 , 1017 : 8 , 1019 : 2 , 1020 : 8 , 1105 : 6 , 1217 : 8 , 1221 : 5 , 1223 : 3 , 1225 : 7 , 1233 : 8 , 1249 : 8 , 1257 : 6 , 1259 : 8 , 1261 : 7 , 1263 : 4 , 1265 : 8 , 1267 : 1 , 1280 : 4 , 1296 : 4 , 1300 : 8 , 1322 : 6 , 1417 : 8 , 1601 : 8 , 1906 : 7 , 1907 : 7 , 1912 : 7 , 1914 : 7 , 1918 : 7 , 1919 : 7 , 1934 : 7 , 2016 : 8 , 2024 : 8
75
81
}],
@@ -92,6 +98,7 @@ def parse_gear_shifter(can_gear):
92
98
CAR .VOLT : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
93
99
CAR .MALIBU : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
94
100
CAR .ACADIA : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
101
+ CAR .CADILLAC_ATS : [384 , 715 ], # 384 = "ASCMLKASteeringCmd", 715 = "ASCMGasRegenCmd"
95
102
CAR .CADILLAC_CT6 : [], # Cadillac does not require ASCMs to be disconnected
96
103
}
97
104
@@ -100,5 +107,6 @@ def parse_gear_shifter(can_gear):
100
107
CAR .VOLT : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
101
108
CAR .MALIBU : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
102
109
CAR .ACADIA : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
110
+ CAR .CADILLAC_ATS : dbc_dict ('gm_global_a_powertrain' , 'gm_global_a_object' , chassis_dbc = 'gm_global_a_chassis' ),
103
111
CAR .CADILLAC_CT6 : dbc_dict ('cadillac_ct6_powertrain' , 'cadillac_ct6_object' , chassis_dbc = 'cadillac_ct6_chassis' ),
104
112
}
0 commit comments