def shutdown(self, channel=Channel.CHANNEL_ALL, shutdown_hardware=True):
        """
        Shuts down all CAN interfaces and/or the hardware interface.

        :param int channel:
            CAN channel, to be used (:data:`Channel.CHANNEL_CH0`, :data:`Channel.CHANNEL_CH1` or
            :data:`Channel.CHANNEL_ALL`)
        :param bool shutdown_hardware: If true then the hardware interface will be closed too.
        """
        # shutdown each channel if it's initialized
        for _channel, is_initialized in self._ch_is_initialized.items():
            if is_initialized and (_channel == channel or channel == Channel.CHANNEL_ALL or shutdown_hardware):
                UcanDeinitCanEx(self._handle, _channel)
                self._ch_is_initialized[_channel] = False

        # shutdown hardware
        if self._hw_is_initialized and shutdown_hardware:
            UcanDeinitHardware(self._handle)
            self._hw_is_initialized = False
            self._handle = Handle(INVALID_HANDLE)
def shutdown ( self , channel = Channel . CHANNEL_ALL , shutdown_hardware = True ) : for _channel , is_initialized in self . _ch_is_initialized . items ( ) : if is_initialized and ( _channel == channel or channel == Channel . CHANNEL_ALL or shutdown_hardware ) : UcanDeinitCanEx ( self . _handle , _channel ) self . _ch_is_initialized [ _channel ] = False if self . _hw_is_initialized and shutdown_hardware : UcanDeinitHardware ( self . _handle ) self . _hw_is_initialized = False self . _handle = Handle ( INVALID_HANDLE )
Shuts down all CAN interfaces and/or the hardware interface.

        :param int channel:
            CAN channel, to be used (:data:`Channel.CHANNEL_CH0`, :data:`Channel.CHANNEL_CH1` or
            :data:`Channel.CHANNEL_ALL`)
        :param bool shutdown_hardware: If true then the hardware interface will be closed too.