diff --git a/can/util.py b/can/util.py index 41467542d..aa4a28d15 100644 --- a/can/util.py +++ b/can/util.py @@ -233,25 +233,6 @@ def _create_bus_config(config: Dict[str, Any]) -> typechecking.BusConfig: if "data_bitrate" in config: config["data_bitrate"] = int(config["data_bitrate"]) - # Create bit timing configuration if given - timing_conf = {} - for key in ( - "f_clock", - "brp", - "tseg1", - "tseg2", - "sjw", - "nof_samples", - "btr0", - "btr1", - ): - if key in config: - timing_conf[key] = int(str(config[key]), base=0) - del config[key] - if timing_conf: - timing_conf["bitrate"] = config["bitrate"] - config["timing"] = can.BitTiming(**timing_conf) - return cast(typechecking.BusConfig, config) diff --git a/test/test_pcan.py b/test/test_pcan.py index 0a680fea0..ab03bf0a1 100644 --- a/test/test_pcan.py +++ b/test/test_pcan.py @@ -373,6 +373,26 @@ def test_auto_reset_init_fault(self): with self.assertRaises(CanInitializationError): self.bus = can.Bus(bustype="pcan", auto_reset=True) + def test_peak_fd_bus_constructor_regression(self): + # Tests that the following issue has been fixed: + # https://github.com/hardbyte/python-can/issues/1458 + params = { + "interface": "pcan", + "fd": True, + "f_clock": 80000000, + "nom_brp": 1, + "nom_tseg1": 129, + "nom_tseg2": 30, + "nom_sjw": 1, + "data_brp": 1, + "data_tseg1": 9, + "data_tseg2": 6, + "data_sjw": 1, + "channel": "PCAN_USBBUS1", + } + + can.Bus(**params) + if __name__ == "__main__": unittest.main()