@@ -552,16 +552,13 @@ def __init__(
552552 else :
553553 flags_ = flags
554554 self ._write_handle = canOpenChannel (channel , flags_ )
555- canBusOn (self ._read_handle )
556555
557556 can_driver_mode = (
558557 canstat .canDRIVER_SILENT
559558 if driver_mode == DRIVER_MODE_SILENT
560559 else canstat .canDRIVER_NORMAL
561560 )
562561 canSetBusOutputControl (self ._write_handle , can_driver_mode )
563- log .debug ("Going bus on TX handle" )
564- canBusOn (self ._write_handle )
565562
566563 timer = ctypes .c_uint (0 )
567564 try :
@@ -587,6 +584,12 @@ def __init__(
587584 ** kwargs ,
588585 )
589586
587+ # activate channel after CAN filters were applied
588+ log .debug ("Go on bus" )
589+ if not self .single_handle :
590+ canBusOn (self ._read_handle )
591+ canBusOn (self ._write_handle )
592+
590593 def _apply_filters (self , filters ):
591594 if filters and len (filters ) == 1 :
592595 can_id = filters [0 ]["can_id" ]
@@ -610,7 +613,7 @@ def _apply_filters(self, filters):
610613 for extended in (0 , 1 ):
611614 canSetAcceptanceFilter (handle , 0 , 0 , extended )
612615 except (NotImplementedError , CANLIBError ) as e :
613- log .error ("An error occured while disabling filtering: %s" , e )
616+ log .error ("An error occurred while disabling filtering: %s" , e )
614617
615618 def flush_tx_buffer (self ):
616619 """Wipeout the transmit buffer on the Kvaser."""
0 commit comments