@@ -20,6 +20,7 @@ def setUp(self):
20
20
canlib .canIoCtl = Mock (return_value = 0 )
21
21
canlib .canIoCtlInit = Mock (return_value = 0 )
22
22
canlib .kvReadTimer = Mock ()
23
+ canlib .canSetBusParamsC200 = Mock ()
23
24
canlib .canSetBusParams = Mock ()
24
25
canlib .canSetBusParamsFd = Mock ()
25
26
canlib .canBusOn = Mock ()
@@ -156,6 +157,37 @@ def test_canfd_default_data_bitrate(self):
156
157
0 , constants .canFD_BITRATE_500K_80P , 0 , 0 , 0
157
158
)
158
159
160
+ def test_can_timing (self ):
161
+ canlib .canSetBusParams .reset_mock ()
162
+ canlib .canSetBusParamsFd .reset_mock ()
163
+ timing = can .BitTiming .from_bitrate_and_segments (
164
+ f_clock = 16_000_000 ,
165
+ bitrate = 125_000 ,
166
+ tseg1 = 13 ,
167
+ tseg2 = 2 ,
168
+ sjw = 1 ,
169
+ )
170
+ can .Bus (channel = 0 , interface = "kvaser" , timing = timing )
171
+ canlib .canSetBusParamsC200 .assert_called_once_with (0 , timing .btr0 , timing .btr1 )
172
+
173
+ def test_canfd_timing (self ):
174
+ canlib .canSetBusParams .reset_mock ()
175
+ canlib .canSetBusParamsFd .reset_mock ()
176
+ timing = can .BitTimingFd .from_bitrate_and_segments (
177
+ f_clock = 80_000_000 ,
178
+ nom_bitrate = 500_000 ,
179
+ nom_tseg1 = 68 ,
180
+ nom_tseg2 = 11 ,
181
+ nom_sjw = 10 ,
182
+ data_bitrate = 2_000_000 ,
183
+ data_tseg1 = 10 ,
184
+ data_tseg2 = 9 ,
185
+ data_sjw = 8 ,
186
+ )
187
+ can .Bus (channel = 0 , interface = "kvaser" , timing = timing )
188
+ canlib .canSetBusParams .assert_called_once_with (0 , 500_000 , 68 , 11 , 10 , 1 , 0 )
189
+ canlib .canSetBusParamsFd .assert_called_once_with (0 , 2_000_000 , 10 , 9 , 8 )
190
+
159
191
def test_canfd_nondefault_data_bitrate (self ):
160
192
canlib .canSetBusParams .reset_mock ()
161
193
canlib .canSetBusParamsFd .reset_mock ()
0 commit comments