1
1
import copy
2
2
from opendbc .can .parser import CANParser
3
- from opendbc .car import structs
3
+ from opendbc .car import Bus , structs
4
4
from opendbc .car .interfaces import CarStateBase
5
5
from opendbc .car .rivian .values import DBC , GEAR_MAP
6
6
from opendbc .car .common .conversions import Conversions as CV
@@ -13,7 +13,10 @@ def __init__(self, CP):
13
13
# Needed by carcontroller
14
14
self .acm_lka_hba_cmd = None
15
15
16
- def update (self , cp , cp_cam , cp_adas , * _ ) -> structs .CarState :
16
+ def update (self , can_parsers ) -> structs .CarState :
17
+ cp = can_parsers [Bus .pt ]
18
+ cp_cam = can_parsers [Bus .pt ]
19
+ cp_adas = can_parsers [Bus .pt ]
17
20
ret = structs .CarState ()
18
21
19
22
# Vehicle speed
@@ -72,8 +75,8 @@ def update(self, cp, cp_cam, cp_adas, *_) -> structs.CarState:
72
75
return ret
73
76
74
77
@staticmethod
75
- def get_can_parser (CP ):
76
- messages = [
78
+ def get_can_parsers (CP ):
79
+ pt_messages = [
77
80
# sig_address, frequency
78
81
("ESPiB1" , 50 ),
79
82
("VDM_PropStatus" , 50 ),
@@ -84,24 +87,20 @@ def get_can_parser(CP):
84
87
("VDM_AdasSts" , 100 )
85
88
]
86
89
87
- return CANParser (DBC [CP .carFingerprint ]['pt' ], messages , 0 )
88
-
89
- @staticmethod
90
- def get_cam_can_parser (CP ):
91
- messages = [
90
+ cam_messages = [
92
91
("ACM_longitudinalRequest" , 100 ),
93
92
("ACM_AebRequest" , 100 ),
94
93
("ACM_Status" , 100 ),
95
94
("ACM_lkaHbaCmd" , 100 )
96
95
]
97
96
98
- return CANParser (DBC [CP .carFingerprint ]['pt' ], messages , 2 )
99
-
100
- @staticmethod
101
- def get_adas_can_parser (CP ):
102
- messages = [
97
+ adas_messages = [
103
98
("IndicatorLights" , 10 ),
104
99
# ("ACM_tsrCmd", 10),
105
100
]
106
101
107
- return CANParser (DBC [CP .carFingerprint ]['pt' ], messages , 1 )
102
+ return {
103
+ Bus .pt : CANParser (DBC [CP .carFingerprint ][Bus .pt ], pt_messages , 0 ),
104
+ Bus .cam : CANParser (DBC [CP .carFingerprint ][Bus .pt ], cam_messages , 2 ),
105
+ Bus .adas : CANParser (DBC [CP .carFingerprint ][Bus .pt ], adas_messages , 1 )
106
+ }
0 commit comments