code: def usb_open(vendor, product)
        raise ArgumentError.new('vendor should be Fixnum')  unless vendor.kind_of?(Fixnum)
        raise ArgumentError.new('product should be Fixnum')  unless product.kind_of?(Fixnum)
        check_result(Ftdi.ftdi_usb_open(ctx, vendor, product))
      end
docs: Opens the first device with a given vendor and product ids.
   @param [Fixnum] vendor Vendor id.
   @param [Fixnum] product Product id.
   @return [NilClass] nil
   @raise [StatusCodeError] libftdi reports error.
   @raise [ArgumentError] Bad arguments.