code: def make_driver(device_name, **kwargs):
      
      windows_com_port = device_name.replace('\\', '').replace('.', '').lower().startswith('com')
      unix_tty = device_name.startswith('/dev/')
  
      if windows_com_port or unix_tty:
          return SLCAN(device_name, **kwargs)
      elif SocketCAN is not None:
          return SocketCAN(device_name, **kwargs)
      else:
          raise DriverError('Unrecognized device name: %r' % device_name)
docs: Creates an instance of CAN driver.
      The right driver class will be selected automatically based on the device_name.
      :param device_name: This parameter is used to select driver class. E.g. "/dev/ttyACM0", "COM9", "can0".
      :param kwargs: Passed directly to the constructor.