# This file was automatically generated by SWIG (http://www.swig.org).
# Version 2.0.9
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.


"""
Python interface to libftdi1
"""


from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_ftdi1', [dirname(__file__)])
        except ImportError:
            import _ftdi1
            return _ftdi1
        if fp is not None:
            try:
                _mod = imp.load_module('_ftdi1', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _ftdi1 = swig_import_helper()
    del swig_import_helper
else:
    import _ftdi1
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0



def usb_find_all(*args):
  """usb_find_all(context, vendor, product) -> (return_code, devlist)"""
  return _ftdi1.usb_find_all(*args)

def usb_get_strings(*args):
  """usb_get_strings(context, device) -> (return_code, manufacturer, description, serial)"""
  return _ftdi1.usb_get_strings(*args)

def read_data(*args):
  """read_data(context) -> (return_code, buf)"""
  return _ftdi1.read_data(*args)

def read_data_get_chunksize(*args):
  """read_data_get_chunksize(context ftdi) -> int"""
  return _ftdi1.read_data_get_chunksize(*args)

def write_data_get_chunksize(*args):
  """write_data_get_chunksize(context ftdi) -> int"""
  return _ftdi1.write_data_get_chunksize(*args)

def read_pins(*args):
  """read_pins(context) -> (return_code, pins)"""
  return _ftdi1.read_pins(*args)

def get_latency_timer(*args):
  """get_latency_timer(context ftdi) -> int"""
  return _ftdi1.get_latency_timer(*args)

def poll_modem_status(*args):
  """poll_modem_status(context ftdi) -> int"""
  return _ftdi1.poll_modem_status(*args)

def get_eeprom_value(*args):
  """get_eeprom_value(context ftdi, enum ftdi_eeprom_value value_name) -> int"""
  return _ftdi1.get_eeprom_value(*args)

def get_eeprom_buf(*args):
  """get_eeprom_buf(context ftdi, unsigned char * buf) -> int"""
  return _ftdi1.get_eeprom_buf(*args)

def read_eeprom_location(*args):
  """read_eeprom_location(context, eeprom_addr) -> (return_code, eeprom_val)"""
  return _ftdi1.read_eeprom_location(*args)

def read_chipid(*args):
  """read_pins(context) -> (return_code, chipid)"""
  return _ftdi1.read_chipid(*args)
TYPE_AM = _ftdi1.TYPE_AM
TYPE_BM = _ftdi1.TYPE_BM
TYPE_2232C = _ftdi1.TYPE_2232C
TYPE_R = _ftdi1.TYPE_R
TYPE_2232H = _ftdi1.TYPE_2232H
TYPE_4232H = _ftdi1.TYPE_4232H
TYPE_232H = _ftdi1.TYPE_232H
NONE = _ftdi1.NONE
ODD = _ftdi1.ODD
EVEN = _ftdi1.EVEN
MARK = _ftdi1.MARK
SPACE = _ftdi1.SPACE
STOP_BIT_1 = _ftdi1.STOP_BIT_1
STOP_BIT_15 = _ftdi1.STOP_BIT_15
STOP_BIT_2 = _ftdi1.STOP_BIT_2
BITS_7 = _ftdi1.BITS_7
BITS_8 = _ftdi1.BITS_8
BREAK_OFF = _ftdi1.BREAK_OFF
BREAK_ON = _ftdi1.BREAK_ON
BITMODE_RESET = _ftdi1.BITMODE_RESET
BITMODE_BITBANG = _ftdi1.BITMODE_BITBANG
BITMODE_MPSSE = _ftdi1.BITMODE_MPSSE
BITMODE_SYNCBB = _ftdi1.BITMODE_SYNCBB
BITMODE_MCU = _ftdi1.BITMODE_MCU
BITMODE_OPTO = _ftdi1.BITMODE_OPTO
BITMODE_CBUS = _ftdi1.BITMODE_CBUS
BITMODE_SYNCFF = _ftdi1.BITMODE_SYNCFF
BITMODE_FT1284 = _ftdi1.BITMODE_FT1284
INTERFACE_ANY = _ftdi1.INTERFACE_ANY
INTERFACE_A = _ftdi1.INTERFACE_A
INTERFACE_B = _ftdi1.INTERFACE_B
INTERFACE_C = _ftdi1.INTERFACE_C
INTERFACE_D = _ftdi1.INTERFACE_D
AUTO_DETACH_SIO_MODULE = _ftdi1.AUTO_DETACH_SIO_MODULE
DONT_DETACH_SIO_MODULE = _ftdi1.DONT_DETACH_SIO_MODULE
MPSSE_WRITE_NEG = _ftdi1.MPSSE_WRITE_NEG
MPSSE_BITMODE = _ftdi1.MPSSE_BITMODE
MPSSE_READ_NEG = _ftdi1.MPSSE_READ_NEG
MPSSE_LSB = _ftdi1.MPSSE_LSB
MPSSE_DO_WRITE = _ftdi1.MPSSE_DO_WRITE
MPSSE_DO_READ = _ftdi1.MPSSE_DO_READ
MPSSE_WRITE_TMS = _ftdi1.MPSSE_WRITE_TMS
SET_BITS_LOW = _ftdi1.SET_BITS_LOW
SET_BITS_HIGH = _ftdi1.SET_BITS_HIGH
GET_BITS_LOW = _ftdi1.GET_BITS_LOW
GET_BITS_HIGH = _ftdi1.GET_BITS_HIGH
LOOPBACK_START = _ftdi1.LOOPBACK_START
LOOPBACK_END = _ftdi1.LOOPBACK_END
TCK_DIVISOR = _ftdi1.TCK_DIVISOR
DIS_DIV_5 = _ftdi1.DIS_DIV_5
EN_DIV_5 = _ftdi1.EN_DIV_5
EN_3_PHASE = _ftdi1.EN_3_PHASE
DIS_3_PHASE = _ftdi1.DIS_3_PHASE
CLK_BITS = _ftdi1.CLK_BITS
CLK_BYTES = _ftdi1.CLK_BYTES
CLK_WAIT_HIGH = _ftdi1.CLK_WAIT_HIGH
CLK_WAIT_LOW = _ftdi1.CLK_WAIT_LOW
EN_ADAPTIVE = _ftdi1.EN_ADAPTIVE
DIS_ADAPTIVE = _ftdi1.DIS_ADAPTIVE
CLK_BYTES_OR_HIGH = _ftdi1.CLK_BYTES_OR_HIGH
CLK_BYTES_OR_LOW = _ftdi1.CLK_BYTES_OR_LOW
DRIVE_OPEN_COLLECTOR = _ftdi1.DRIVE_OPEN_COLLECTOR
SEND_IMMEDIATE = _ftdi1.SEND_IMMEDIATE
WAIT_ON_HIGH = _ftdi1.WAIT_ON_HIGH
WAIT_ON_LOW = _ftdi1.WAIT_ON_LOW
READ_SHORT = _ftdi1.READ_SHORT
READ_EXTENDED = _ftdi1.READ_EXTENDED
WRITE_SHORT = _ftdi1.WRITE_SHORT
WRITE_EXTENDED = _ftdi1.WRITE_EXTENDED
SIO_RESET = _ftdi1.SIO_RESET
SIO_MODEM_CTRL = _ftdi1.SIO_MODEM_CTRL
SIO_SET_FLOW_CTRL = _ftdi1.SIO_SET_FLOW_CTRL
SIO_SET_BAUD_RATE = _ftdi1.SIO_SET_BAUD_RATE
SIO_SET_DATA = _ftdi1.SIO_SET_DATA
SIO_RESET_REQUEST = _ftdi1.SIO_RESET_REQUEST
SIO_SET_BAUDRATE_REQUEST = _ftdi1.SIO_SET_BAUDRATE_REQUEST
SIO_SET_DATA_REQUEST = _ftdi1.SIO_SET_DATA_REQUEST
SIO_SET_FLOW_CTRL_REQUEST = _ftdi1.SIO_SET_FLOW_CTRL_REQUEST
SIO_SET_MODEM_CTRL_REQUEST = _ftdi1.SIO_SET_MODEM_CTRL_REQUEST
SIO_POLL_MODEM_STATUS_REQUEST = _ftdi1.SIO_POLL_MODEM_STATUS_REQUEST
SIO_SET_EVENT_CHAR_REQUEST = _ftdi1.SIO_SET_EVENT_CHAR_REQUEST
SIO_SET_ERROR_CHAR_REQUEST = _ftdi1.SIO_SET_ERROR_CHAR_REQUEST
SIO_SET_LATENCY_TIMER_REQUEST = _ftdi1.SIO_SET_LATENCY_TIMER_REQUEST
SIO_GET_LATENCY_TIMER_REQUEST = _ftdi1.SIO_GET_LATENCY_TIMER_REQUEST
SIO_SET_BITMODE_REQUEST = _ftdi1.SIO_SET_BITMODE_REQUEST
SIO_READ_PINS_REQUEST = _ftdi1.SIO_READ_PINS_REQUEST
SIO_READ_EEPROM_REQUEST = _ftdi1.SIO_READ_EEPROM_REQUEST
SIO_WRITE_EEPROM_REQUEST = _ftdi1.SIO_WRITE_EEPROM_REQUEST
SIO_ERASE_EEPROM_REQUEST = _ftdi1.SIO_ERASE_EEPROM_REQUEST
SIO_RESET_SIO = _ftdi1.SIO_RESET_SIO
SIO_RESET_PURGE_RX = _ftdi1.SIO_RESET_PURGE_RX
SIO_RESET_PURGE_TX = _ftdi1.SIO_RESET_PURGE_TX
SIO_DISABLE_FLOW_CTRL = _ftdi1.SIO_DISABLE_FLOW_CTRL
SIO_RTS_CTS_HS = _ftdi1.SIO_RTS_CTS_HS
SIO_DTR_DSR_HS = _ftdi1.SIO_DTR_DSR_HS
SIO_XON_XOFF_HS = _ftdi1.SIO_XON_XOFF_HS
SIO_SET_DTR_MASK = _ftdi1.SIO_SET_DTR_MASK
SIO_SET_DTR_HIGH = _ftdi1.SIO_SET_DTR_HIGH
SIO_SET_DTR_LOW = _ftdi1.SIO_SET_DTR_LOW
SIO_SET_RTS_MASK = _ftdi1.SIO_SET_RTS_MASK
SIO_SET_RTS_HIGH = _ftdi1.SIO_SET_RTS_HIGH
SIO_SET_RTS_LOW = _ftdi1.SIO_SET_RTS_LOW
class transfer_control(_object):
    """Proxy of C ftdi_transfer_control struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, transfer_control, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, transfer_control, name)
    __repr__ = _swig_repr
    __swig_setmethods__["completed"] = _ftdi1.transfer_control_completed_set
    __swig_getmethods__["completed"] = _ftdi1.transfer_control_completed_get
    if _newclass:completed = _swig_property(_ftdi1.transfer_control_completed_get, _ftdi1.transfer_control_completed_set)
    __swig_setmethods__["buf"] = _ftdi1.transfer_control_buf_set
    __swig_getmethods__["buf"] = _ftdi1.transfer_control_buf_get
    if _newclass:buf = _swig_property(_ftdi1.transfer_control_buf_get, _ftdi1.transfer_control_buf_set)
    __swig_setmethods__["size"] = _ftdi1.transfer_control_size_set
    __swig_getmethods__["size"] = _ftdi1.transfer_control_size_get
    if _newclass:size = _swig_property(_ftdi1.transfer_control_size_get, _ftdi1.transfer_control_size_set)
    __swig_setmethods__["offset"] = _ftdi1.transfer_control_offset_set
    __swig_getmethods__["offset"] = _ftdi1.transfer_control_offset_get
    if _newclass:offset = _swig_property(_ftdi1.transfer_control_offset_get, _ftdi1.transfer_control_offset_set)
    __swig_setmethods__["ftdi"] = _ftdi1.transfer_control_ftdi_set
    __swig_getmethods__["ftdi"] = _ftdi1.transfer_control_ftdi_get
    if _newclass:ftdi = _swig_property(_ftdi1.transfer_control_ftdi_get, _ftdi1.transfer_control_ftdi_set)
    __swig_setmethods__["transfer"] = _ftdi1.transfer_control_transfer_set
    __swig_getmethods__["transfer"] = _ftdi1.transfer_control_transfer_get
    if _newclass:transfer = _swig_property(_ftdi1.transfer_control_transfer_get, _ftdi1.transfer_control_transfer_set)
    def __init__(self): 
        """__init__(ftdi_transfer_control self) -> transfer_control"""
        this = _ftdi1.new_transfer_control()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_transfer_control
    __del__ = lambda self : None;
transfer_control_swigregister = _ftdi1.transfer_control_swigregister
transfer_control_swigregister(transfer_control)

class context(_object):
    """Proxy of C ftdi_context struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, context, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, context, name)
    __repr__ = _swig_repr
    __swig_setmethods__["usb_ctx"] = _ftdi1.context_usb_ctx_set
    __swig_getmethods__["usb_ctx"] = _ftdi1.context_usb_ctx_get
    if _newclass:usb_ctx = _swig_property(_ftdi1.context_usb_ctx_get, _ftdi1.context_usb_ctx_set)
    __swig_setmethods__["usb_dev"] = _ftdi1.context_usb_dev_set
    __swig_getmethods__["usb_dev"] = _ftdi1.context_usb_dev_get
    if _newclass:usb_dev = _swig_property(_ftdi1.context_usb_dev_get, _ftdi1.context_usb_dev_set)
    __swig_setmethods__["usb_read_timeout"] = _ftdi1.context_usb_read_timeout_set
    __swig_getmethods__["usb_read_timeout"] = _ftdi1.context_usb_read_timeout_get
    if _newclass:usb_read_timeout = _swig_property(_ftdi1.context_usb_read_timeout_get, _ftdi1.context_usb_read_timeout_set)
    __swig_setmethods__["usb_write_timeout"] = _ftdi1.context_usb_write_timeout_set
    __swig_getmethods__["usb_write_timeout"] = _ftdi1.context_usb_write_timeout_get
    if _newclass:usb_write_timeout = _swig_property(_ftdi1.context_usb_write_timeout_get, _ftdi1.context_usb_write_timeout_set)
    __swig_setmethods__["type"] = _ftdi1.context_type_set
    __swig_getmethods__["type"] = _ftdi1.context_type_get
    if _newclass:type = _swig_property(_ftdi1.context_type_get, _ftdi1.context_type_set)
    __swig_setmethods__["baudrate"] = _ftdi1.context_baudrate_set
    __swig_getmethods__["baudrate"] = _ftdi1.context_baudrate_get
    if _newclass:baudrate = _swig_property(_ftdi1.context_baudrate_get, _ftdi1.context_baudrate_set)
    __swig_setmethods__["bitbang_enabled"] = _ftdi1.context_bitbang_enabled_set
    __swig_getmethods__["bitbang_enabled"] = _ftdi1.context_bitbang_enabled_get
    if _newclass:bitbang_enabled = _swig_property(_ftdi1.context_bitbang_enabled_get, _ftdi1.context_bitbang_enabled_set)
    __swig_setmethods__["readbuffer"] = _ftdi1.context_readbuffer_set
    __swig_getmethods__["readbuffer"] = _ftdi1.context_readbuffer_get
    if _newclass:readbuffer = _swig_property(_ftdi1.context_readbuffer_get, _ftdi1.context_readbuffer_set)
    __swig_setmethods__["readbuffer_offset"] = _ftdi1.context_readbuffer_offset_set
    __swig_getmethods__["readbuffer_offset"] = _ftdi1.context_readbuffer_offset_get
    if _newclass:readbuffer_offset = _swig_property(_ftdi1.context_readbuffer_offset_get, _ftdi1.context_readbuffer_offset_set)
    __swig_setmethods__["readbuffer_remaining"] = _ftdi1.context_readbuffer_remaining_set
    __swig_getmethods__["readbuffer_remaining"] = _ftdi1.context_readbuffer_remaining_get
    if _newclass:readbuffer_remaining = _swig_property(_ftdi1.context_readbuffer_remaining_get, _ftdi1.context_readbuffer_remaining_set)
    __swig_setmethods__["readbuffer_chunksize"] = _ftdi1.context_readbuffer_chunksize_set
    __swig_getmethods__["readbuffer_chunksize"] = _ftdi1.context_readbuffer_chunksize_get
    if _newclass:readbuffer_chunksize = _swig_property(_ftdi1.context_readbuffer_chunksize_get, _ftdi1.context_readbuffer_chunksize_set)
    __swig_setmethods__["writebuffer_chunksize"] = _ftdi1.context_writebuffer_chunksize_set
    __swig_getmethods__["writebuffer_chunksize"] = _ftdi1.context_writebuffer_chunksize_get
    if _newclass:writebuffer_chunksize = _swig_property(_ftdi1.context_writebuffer_chunksize_get, _ftdi1.context_writebuffer_chunksize_set)
    __swig_setmethods__["max_packet_size"] = _ftdi1.context_max_packet_size_set
    __swig_getmethods__["max_packet_size"] = _ftdi1.context_max_packet_size_get
    if _newclass:max_packet_size = _swig_property(_ftdi1.context_max_packet_size_get, _ftdi1.context_max_packet_size_set)
    __swig_setmethods__["interface"] = _ftdi1.context_interface_set
    __swig_getmethods__["interface"] = _ftdi1.context_interface_get
    if _newclass:interface = _swig_property(_ftdi1.context_interface_get, _ftdi1.context_interface_set)
    __swig_setmethods__["index"] = _ftdi1.context_index_set
    __swig_getmethods__["index"] = _ftdi1.context_index_get
    if _newclass:index = _swig_property(_ftdi1.context_index_get, _ftdi1.context_index_set)
    __swig_setmethods__["in_ep"] = _ftdi1.context_in_ep_set
    __swig_getmethods__["in_ep"] = _ftdi1.context_in_ep_get
    if _newclass:in_ep = _swig_property(_ftdi1.context_in_ep_get, _ftdi1.context_in_ep_set)
    __swig_setmethods__["out_ep"] = _ftdi1.context_out_ep_set
    __swig_getmethods__["out_ep"] = _ftdi1.context_out_ep_get
    if _newclass:out_ep = _swig_property(_ftdi1.context_out_ep_get, _ftdi1.context_out_ep_set)
    __swig_setmethods__["bitbang_mode"] = _ftdi1.context_bitbang_mode_set
    __swig_getmethods__["bitbang_mode"] = _ftdi1.context_bitbang_mode_get
    if _newclass:bitbang_mode = _swig_property(_ftdi1.context_bitbang_mode_get, _ftdi1.context_bitbang_mode_set)
    __swig_setmethods__["eeprom"] = _ftdi1.context_eeprom_set
    __swig_getmethods__["eeprom"] = _ftdi1.context_eeprom_get
    if _newclass:eeprom = _swig_property(_ftdi1.context_eeprom_get, _ftdi1.context_eeprom_set)
    __swig_setmethods__["error_str"] = _ftdi1.context_error_str_set
    __swig_getmethods__["error_str"] = _ftdi1.context_error_str_get
    if _newclass:error_str = _swig_property(_ftdi1.context_error_str_get, _ftdi1.context_error_str_set)
    __swig_setmethods__["module_detach_mode"] = _ftdi1.context_module_detach_mode_set
    __swig_getmethods__["module_detach_mode"] = _ftdi1.context_module_detach_mode_get
    if _newclass:module_detach_mode = _swig_property(_ftdi1.context_module_detach_mode_get, _ftdi1.context_module_detach_mode_set)
    def __init__(self): 
        """__init__(ftdi_context self) -> context"""
        this = _ftdi1.new_context()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_context
    __del__ = lambda self : None;
context_swigregister = _ftdi1.context_swigregister
context_swigregister(context)

VENDOR_ID = _ftdi1.VENDOR_ID
PRODUCT_ID = _ftdi1.PRODUCT_ID
SELF_POWERED = _ftdi1.SELF_POWERED
REMOTE_WAKEUP = _ftdi1.REMOTE_WAKEUP
IS_NOT_PNP = _ftdi1.IS_NOT_PNP
SUSPEND_DBUS7 = _ftdi1.SUSPEND_DBUS7
IN_IS_ISOCHRONOUS = _ftdi1.IN_IS_ISOCHRONOUS
OUT_IS_ISOCHRONOUS = _ftdi1.OUT_IS_ISOCHRONOUS
SUSPEND_PULL_DOWNS = _ftdi1.SUSPEND_PULL_DOWNS
USE_SERIAL = _ftdi1.USE_SERIAL
USB_VERSION = _ftdi1.USB_VERSION
USE_USB_VERSION = _ftdi1.USE_USB_VERSION
MAX_POWER = _ftdi1.MAX_POWER
CHANNEL_A_TYPE = _ftdi1.CHANNEL_A_TYPE
CHANNEL_B_TYPE = _ftdi1.CHANNEL_B_TYPE
CHANNEL_A_DRIVER = _ftdi1.CHANNEL_A_DRIVER
CHANNEL_B_DRIVER = _ftdi1.CHANNEL_B_DRIVER
CBUS_FUNCTION_0 = _ftdi1.CBUS_FUNCTION_0
CBUS_FUNCTION_1 = _ftdi1.CBUS_FUNCTION_1
CBUS_FUNCTION_2 = _ftdi1.CBUS_FUNCTION_2
CBUS_FUNCTION_3 = _ftdi1.CBUS_FUNCTION_3
CBUS_FUNCTION_4 = _ftdi1.CBUS_FUNCTION_4
CBUS_FUNCTION_5 = _ftdi1.CBUS_FUNCTION_5
CBUS_FUNCTION_6 = _ftdi1.CBUS_FUNCTION_6
CBUS_FUNCTION_7 = _ftdi1.CBUS_FUNCTION_7
CBUS_FUNCTION_8 = _ftdi1.CBUS_FUNCTION_8
CBUS_FUNCTION_9 = _ftdi1.CBUS_FUNCTION_9
HIGH_CURRENT = _ftdi1.HIGH_CURRENT
HIGH_CURRENT_A = _ftdi1.HIGH_CURRENT_A
HIGH_CURRENT_B = _ftdi1.HIGH_CURRENT_B
INVERT = _ftdi1.INVERT
GROUP0_DRIVE = _ftdi1.GROUP0_DRIVE
GROUP0_SCHMITT = _ftdi1.GROUP0_SCHMITT
GROUP0_SLEW = _ftdi1.GROUP0_SLEW
GROUP1_DRIVE = _ftdi1.GROUP1_DRIVE
GROUP1_SCHMITT = _ftdi1.GROUP1_SCHMITT
GROUP1_SLEW = _ftdi1.GROUP1_SLEW
GROUP2_DRIVE = _ftdi1.GROUP2_DRIVE
GROUP2_SCHMITT = _ftdi1.GROUP2_SCHMITT
GROUP2_SLEW = _ftdi1.GROUP2_SLEW
GROUP3_DRIVE = _ftdi1.GROUP3_DRIVE
GROUP3_SCHMITT = _ftdi1.GROUP3_SCHMITT
GROUP3_SLEW = _ftdi1.GROUP3_SLEW
CHIP_SIZE = _ftdi1.CHIP_SIZE
CHIP_TYPE = _ftdi1.CHIP_TYPE
POWER_SAVE = _ftdi1.POWER_SAVE
CLOCK_POLARITY = _ftdi1.CLOCK_POLARITY
DATA_ORDER = _ftdi1.DATA_ORDER
FLOW_CONTROL = _ftdi1.FLOW_CONTROL
CHANNEL_C_DRIVER = _ftdi1.CHANNEL_C_DRIVER
CHANNEL_D_DRIVER = _ftdi1.CHANNEL_D_DRIVER
CHANNEL_A_RS485 = _ftdi1.CHANNEL_A_RS485
CHANNEL_B_RS485 = _ftdi1.CHANNEL_B_RS485
CHANNEL_C_RS485 = _ftdi1.CHANNEL_C_RS485
CHANNEL_D_RS485 = _ftdi1.CHANNEL_D_RS485
class device_list(_object):
    """Proxy of C ftdi_device_list struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, device_list, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, device_list, name)
    __repr__ = _swig_repr
    __swig_setmethods__["next"] = _ftdi1.device_list_next_set
    __swig_getmethods__["next"] = _ftdi1.device_list_next_get
    if _newclass:next = _swig_property(_ftdi1.device_list_next_get, _ftdi1.device_list_next_set)
    __swig_setmethods__["dev"] = _ftdi1.device_list_dev_set
    __swig_getmethods__["dev"] = _ftdi1.device_list_dev_get
    if _newclass:dev = _swig_property(_ftdi1.device_list_dev_get, _ftdi1.device_list_dev_set)
    def __init__(self): 
        """__init__(ftdi_device_list self) -> device_list"""
        this = _ftdi1.new_device_list()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_device_list
    __del__ = lambda self : None;
device_list_swigregister = _ftdi1.device_list_swigregister
device_list_swigregister(device_list)

FT1284_CLK_IDLE_STATE = _ftdi1.FT1284_CLK_IDLE_STATE
FT1284_DATA_LSB = _ftdi1.FT1284_DATA_LSB
FT1284_FLOW_CONTROL = _ftdi1.FT1284_FLOW_CONTROL
POWER_SAVE_DISABLE_H = _ftdi1.POWER_SAVE_DISABLE_H
USE_SERIAL_NUM = _ftdi1.USE_SERIAL_NUM
CBUS_TXDEN = _ftdi1.CBUS_TXDEN
CBUS_PWREN = _ftdi1.CBUS_PWREN
CBUS_RXLED = _ftdi1.CBUS_RXLED
CBUS_TXLED = _ftdi1.CBUS_TXLED
CBUS_TXRXLED = _ftdi1.CBUS_TXRXLED
CBUS_SLEEP = _ftdi1.CBUS_SLEEP
CBUS_CLK48 = _ftdi1.CBUS_CLK48
CBUS_CLK24 = _ftdi1.CBUS_CLK24
CBUS_CLK12 = _ftdi1.CBUS_CLK12
CBUS_CLK6 = _ftdi1.CBUS_CLK6
CBUS_IOMODE = _ftdi1.CBUS_IOMODE
CBUS_BB_WR = _ftdi1.CBUS_BB_WR
CBUS_BB_RD = _ftdi1.CBUS_BB_RD
CBUS_BB = _ftdi1.CBUS_BB
CBUSH_TRISTATE = _ftdi1.CBUSH_TRISTATE
CBUSH_RXLED = _ftdi1.CBUSH_RXLED
CBUSH_TXLED = _ftdi1.CBUSH_TXLED
CBUSH_TXRXLED = _ftdi1.CBUSH_TXRXLED
CBUSH_PWREN = _ftdi1.CBUSH_PWREN
CBUSH_SLEEP = _ftdi1.CBUSH_SLEEP
CBUSH_DRIVE_0 = _ftdi1.CBUSH_DRIVE_0
CBUSG_DRIVE1 = _ftdi1.CBUSG_DRIVE1
CBUSH_IOMODE = _ftdi1.CBUSH_IOMODE
CBUSH_TXDEN = _ftdi1.CBUSH_TXDEN
CBUSH_CLK30 = _ftdi1.CBUSH_CLK30
CBUSH_CLK15 = _ftdi1.CBUSH_CLK15
CBUSH_CLK7_5 = _ftdi1.CBUSH_CLK7_5
INVERT_TXD = _ftdi1.INVERT_TXD
INVERT_RXD = _ftdi1.INVERT_RXD
INVERT_RTS = _ftdi1.INVERT_RTS
INVERT_CTS = _ftdi1.INVERT_CTS
INVERT_DTR = _ftdi1.INVERT_DTR
INVERT_DSR = _ftdi1.INVERT_DSR
INVERT_DCD = _ftdi1.INVERT_DCD
INVERT_RI = _ftdi1.INVERT_RI
CHANNEL_IS_UART = _ftdi1.CHANNEL_IS_UART
CHANNEL_IS_FIFO = _ftdi1.CHANNEL_IS_FIFO
CHANNEL_IS_OPTO = _ftdi1.CHANNEL_IS_OPTO
CHANNEL_IS_CPU = _ftdi1.CHANNEL_IS_CPU
CHANNEL_IS_FT1284 = _ftdi1.CHANNEL_IS_FT1284
CHANNEL_IS_RS485 = _ftdi1.CHANNEL_IS_RS485
DRIVE_4MA = _ftdi1.DRIVE_4MA
DRIVE_8MA = _ftdi1.DRIVE_8MA
DRIVE_12MA = _ftdi1.DRIVE_12MA
DRIVE_16MA = _ftdi1.DRIVE_16MA
SLOW_SLEW = _ftdi1.SLOW_SLEW
IS_SCHMITT = _ftdi1.IS_SCHMITT
DRIVER_VCP = _ftdi1.DRIVER_VCP
DRIVER_VCPH = _ftdi1.DRIVER_VCPH
USE_USB_VERSION_BIT = _ftdi1.USE_USB_VERSION_BIT
SUSPEND_DBUS7_BIT = _ftdi1.SUSPEND_DBUS7_BIT
HIGH_CURRENT_DRIVE = _ftdi1.HIGH_CURRENT_DRIVE
HIGH_CURRENT_DRIVE_R = _ftdi1.HIGH_CURRENT_DRIVE_R
class size_and_time(_object):
    """Proxy of C size_and_time struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, size_and_time, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, size_and_time, name)
    __repr__ = _swig_repr
    __swig_setmethods__["totalBytes"] = _ftdi1.size_and_time_totalBytes_set
    __swig_getmethods__["totalBytes"] = _ftdi1.size_and_time_totalBytes_get
    if _newclass:totalBytes = _swig_property(_ftdi1.size_and_time_totalBytes_get, _ftdi1.size_and_time_totalBytes_set)
    __swig_setmethods__["time"] = _ftdi1.size_and_time_time_set
    __swig_getmethods__["time"] = _ftdi1.size_and_time_time_get
    if _newclass:time = _swig_property(_ftdi1.size_and_time_time_get, _ftdi1.size_and_time_time_set)
    def __init__(self): 
        """__init__(size_and_time self) -> size_and_time"""
        this = _ftdi1.new_size_and_time()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_size_and_time
    __del__ = lambda self : None;
size_and_time_swigregister = _ftdi1.size_and_time_swigregister
size_and_time_swigregister(size_and_time)

class FTDIProgressInfo(_object):
    """Proxy of C FTDIProgressInfo struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, FTDIProgressInfo, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, FTDIProgressInfo, name)
    __repr__ = _swig_repr
    __swig_setmethods__["first"] = _ftdi1.FTDIProgressInfo_first_set
    __swig_getmethods__["first"] = _ftdi1.FTDIProgressInfo_first_get
    if _newclass:first = _swig_property(_ftdi1.FTDIProgressInfo_first_get, _ftdi1.FTDIProgressInfo_first_set)
    __swig_setmethods__["prev"] = _ftdi1.FTDIProgressInfo_prev_set
    __swig_getmethods__["prev"] = _ftdi1.FTDIProgressInfo_prev_get
    if _newclass:prev = _swig_property(_ftdi1.FTDIProgressInfo_prev_get, _ftdi1.FTDIProgressInfo_prev_set)
    __swig_setmethods__["current"] = _ftdi1.FTDIProgressInfo_current_set
    __swig_getmethods__["current"] = _ftdi1.FTDIProgressInfo_current_get
    if _newclass:current = _swig_property(_ftdi1.FTDIProgressInfo_current_get, _ftdi1.FTDIProgressInfo_current_set)
    __swig_setmethods__["totalTime"] = _ftdi1.FTDIProgressInfo_totalTime_set
    __swig_getmethods__["totalTime"] = _ftdi1.FTDIProgressInfo_totalTime_get
    if _newclass:totalTime = _swig_property(_ftdi1.FTDIProgressInfo_totalTime_get, _ftdi1.FTDIProgressInfo_totalTime_set)
    __swig_setmethods__["totalRate"] = _ftdi1.FTDIProgressInfo_totalRate_set
    __swig_getmethods__["totalRate"] = _ftdi1.FTDIProgressInfo_totalRate_get
    if _newclass:totalRate = _swig_property(_ftdi1.FTDIProgressInfo_totalRate_get, _ftdi1.FTDIProgressInfo_totalRate_set)
    __swig_setmethods__["currentRate"] = _ftdi1.FTDIProgressInfo_currentRate_set
    __swig_getmethods__["currentRate"] = _ftdi1.FTDIProgressInfo_currentRate_get
    if _newclass:currentRate = _swig_property(_ftdi1.FTDIProgressInfo_currentRate_get, _ftdi1.FTDIProgressInfo_currentRate_set)
    def __init__(self): 
        """__init__(FTDIProgressInfo self) -> FTDIProgressInfo"""
        this = _ftdi1.new_FTDIProgressInfo()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_FTDIProgressInfo
    __del__ = lambda self : None;
FTDIProgressInfo_swigregister = _ftdi1.FTDIProgressInfo_swigregister
FTDIProgressInfo_swigregister(FTDIProgressInfo)

class version_info(_object):
    """Proxy of C ftdi_version_info struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, version_info, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, version_info, name)
    __repr__ = _swig_repr
    __swig_setmethods__["major"] = _ftdi1.version_info_major_set
    __swig_getmethods__["major"] = _ftdi1.version_info_major_get
    if _newclass:major = _swig_property(_ftdi1.version_info_major_get, _ftdi1.version_info_major_set)
    __swig_setmethods__["minor"] = _ftdi1.version_info_minor_set
    __swig_getmethods__["minor"] = _ftdi1.version_info_minor_get
    if _newclass:minor = _swig_property(_ftdi1.version_info_minor_get, _ftdi1.version_info_minor_set)
    __swig_setmethods__["micro"] = _ftdi1.version_info_micro_set
    __swig_getmethods__["micro"] = _ftdi1.version_info_micro_get
    if _newclass:micro = _swig_property(_ftdi1.version_info_micro_get, _ftdi1.version_info_micro_set)
    __swig_getmethods__["version_str"] = _ftdi1.version_info_version_str_get
    if _newclass:version_str = _swig_property(_ftdi1.version_info_version_str_get)
    __swig_getmethods__["snapshot_str"] = _ftdi1.version_info_snapshot_str_get
    if _newclass:snapshot_str = _swig_property(_ftdi1.version_info_snapshot_str_get)
    def __init__(self): 
        """__init__(ftdi_version_info self) -> version_info"""
        this = _ftdi1.new_version_info()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_version_info
    __del__ = lambda self : None;
version_info_swigregister = _ftdi1.version_info_swigregister
version_info_swigregister(version_info)


def init(*args):
  """init(context ftdi) -> int"""
  return _ftdi1.init(*args)

def new():
  """new() -> context"""
  return _ftdi1.new()

def set_interface(*args):
  """set_interface(context ftdi, enum ftdi_interface interface) -> int"""
  return _ftdi1.set_interface(*args)

def deinit(*args):
  """deinit(context ftdi)"""
  return _ftdi1.deinit(*args)

def free(*args):
  """free(context ftdi)"""
  return _ftdi1.free(*args)

def set_usbdev(*args):
  """set_usbdev(context ftdi, struct libusb_device_handle * usbdev)"""
  return _ftdi1.set_usbdev(*args)

def get_library_version():
  """get_library_version() -> version_info"""
  return _ftdi1.get_library_version()

def list_free(*args):
  """list_free(struct ftdi_device_list ** devlist)"""
  return _ftdi1.list_free(*args)

def list_free2(*args):
  """list_free2(device_list devlist)"""
  return _ftdi1.list_free2(*args)

def usb_open(*args):
  """usb_open(context ftdi, int vendor, int product) -> int"""
  return _ftdi1.usb_open(*args)

def usb_open_desc(*args):
  """usb_open_desc(context ftdi, int vendor, int product, char const * description, char const * serial) -> int"""
  return _ftdi1.usb_open_desc(*args)

def usb_open_desc_index(*args):
  """
    usb_open_desc_index(context ftdi, int vendor, int product, char const * description, char const * serial, 
        unsigned int index) -> int
    """
  return _ftdi1.usb_open_desc_index(*args)

def usb_open_dev(*args):
  """usb_open_dev(context ftdi, struct libusb_device * dev) -> int"""
  return _ftdi1.usb_open_dev(*args)

def usb_open_string(*args):
  """usb_open_string(context ftdi, char const * description) -> int"""
  return _ftdi1.usb_open_string(*args)

def usb_close(*args):
  """usb_close(context ftdi) -> int"""
  return _ftdi1.usb_close(*args)

def usb_reset(*args):
  """usb_reset(context ftdi) -> int"""
  return _ftdi1.usb_reset(*args)

def usb_purge_rx_buffer(*args):
  """usb_purge_rx_buffer(context ftdi) -> int"""
  return _ftdi1.usb_purge_rx_buffer(*args)

def usb_purge_tx_buffer(*args):
  """usb_purge_tx_buffer(context ftdi) -> int"""
  return _ftdi1.usb_purge_tx_buffer(*args)

def usb_purge_buffers(*args):
  """usb_purge_buffers(context ftdi) -> int"""
  return _ftdi1.usb_purge_buffers(*args)

def set_baudrate(*args):
  """set_baudrate(context ftdi, int baudrate) -> int"""
  return _ftdi1.set_baudrate(*args)

def set_line_property(*args):
  """set_line_property(context ftdi, enum ftdi_bits_type bits, enum ftdi_stopbits_type sbit, enum ftdi_parity_type parity) -> int"""
  return _ftdi1.set_line_property(*args)

def set_line_property2(*args):
  """
    set_line_property2(context ftdi, enum ftdi_bits_type bits, enum ftdi_stopbits_type sbit, enum ftdi_parity_type parity, 
        enum ftdi_break_type break_type) -> int
    """
  return _ftdi1.set_line_property2(*args)

def read_data_set_chunksize(*args):
  """read_data_set_chunksize(context ftdi, unsigned int chunksize) -> int"""
  return _ftdi1.read_data_set_chunksize(*args)

def write_data(*args):
  """write_data(context ftdi, unsigned char * buf, int size) -> int"""
  return _ftdi1.write_data(*args)

def write_data_set_chunksize(*args):
  """write_data_set_chunksize(context ftdi, unsigned int chunksize) -> int"""
  return _ftdi1.write_data_set_chunksize(*args)

def readstream(*args):
  """
    readstream(context ftdi, FTDIStreamCallback * callback, void * userdata, int packetsPerTransfer, 
        int numTransfers) -> int
    """
  return _ftdi1.readstream(*args)

def write_data_submit(*args):
  """write_data_submit(context ftdi, unsigned char * buf, int size) -> transfer_control"""
  return _ftdi1.write_data_submit(*args)

def read_data_submit(*args):
  """read_data_submit(context ftdi, unsigned char * buf, int size) -> transfer_control"""
  return _ftdi1.read_data_submit(*args)

def transfer_data_done(*args):
  """transfer_data_done(transfer_control tc) -> int"""
  return _ftdi1.transfer_data_done(*args)

def set_bitmode(*args):
  """set_bitmode(context ftdi, unsigned char bitmask, unsigned char mode) -> int"""
  return _ftdi1.set_bitmode(*args)

def disable_bitbang(*args):
  """disable_bitbang(context ftdi) -> int"""
  return _ftdi1.disable_bitbang(*args)

def set_latency_timer(*args):
  """set_latency_timer(context ftdi, unsigned char latency) -> int"""
  return _ftdi1.set_latency_timer(*args)

def setflowctrl(*args):
  """setflowctrl(context ftdi, int flowctrl) -> int"""
  return _ftdi1.setflowctrl(*args)

def setdtr_rts(*args):
  """setdtr_rts(context ftdi, int dtr, int rts) -> int"""
  return _ftdi1.setdtr_rts(*args)

def setdtr(*args):
  """setdtr(context ftdi, int state) -> int"""
  return _ftdi1.setdtr(*args)

def setrts(*args):
  """setrts(context ftdi, int state) -> int"""
  return _ftdi1.setrts(*args)

def set_event_char(*args):
  """set_event_char(context ftdi, unsigned char eventch, unsigned char enable) -> int"""
  return _ftdi1.set_event_char(*args)

def set_error_char(*args):
  """set_error_char(context ftdi, unsigned char errorch, unsigned char enable) -> int"""
  return _ftdi1.set_error_char(*args)

def eeprom_initdefaults(*args):
  """eeprom_initdefaults(context ftdi, char * manufacturer, char * product, char * serial) -> int"""
  return _ftdi1.eeprom_initdefaults(*args)

def eeprom_build(*args):
  """eeprom_build(context ftdi) -> int"""
  return _ftdi1.eeprom_build(*args)

def eeprom_decode(*args):
  """eeprom_decode(context ftdi, int verbose) -> int"""
  return _ftdi1.eeprom_decode(*args)

def set_eeprom_value(*args):
  """set_eeprom_value(context ftdi, enum ftdi_eeprom_value value_name, int value) -> int"""
  return _ftdi1.set_eeprom_value(*args)

def set_eeprom_buf(*args):
  """set_eeprom_buf(context ftdi, unsigned char const * buf, int size) -> int"""
  return _ftdi1.set_eeprom_buf(*args)

def read_eeprom(*args):
  """read_eeprom(context) -> (return_code, eeprom)"""
  return _ftdi1.read_eeprom(*args)

def write_eeprom(*args):
  """write_eeprom(context ftdi) -> int"""
  return _ftdi1.write_eeprom(*args)

def erase_eeprom(*args):
  """erase_eeprom(context ftdi) -> int"""
  return _ftdi1.erase_eeprom(*args)

def write_eeprom_location(*args):
  """write_eeprom_location(context ftdi, int eeprom_addr, unsigned short eeprom_val) -> int"""
  return _ftdi1.write_eeprom_location(*args)

def get_error_string(*args):
  """get_error_string(context ftdi) -> char *"""
  return _ftdi1.get_error_string(*args)
FTDI_MAX_EEPROM_SIZE = _ftdi1.FTDI_MAX_EEPROM_SIZE
MAX_POWER_MILLIAMP_PER_UNIT = _ftdi1.MAX_POWER_MILLIAMP_PER_UNIT
class eeprom(_object):
    """Proxy of C ftdi_eeprom struct"""
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, eeprom, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, eeprom, name)
    __repr__ = _swig_repr
    __swig_setmethods__["vendor_id"] = _ftdi1.eeprom_vendor_id_set
    __swig_getmethods__["vendor_id"] = _ftdi1.eeprom_vendor_id_get
    if _newclass:vendor_id = _swig_property(_ftdi1.eeprom_vendor_id_get, _ftdi1.eeprom_vendor_id_set)
    __swig_setmethods__["product_id"] = _ftdi1.eeprom_product_id_set
    __swig_getmethods__["product_id"] = _ftdi1.eeprom_product_id_get
    if _newclass:product_id = _swig_property(_ftdi1.eeprom_product_id_get, _ftdi1.eeprom_product_id_set)
    __swig_setmethods__["initialized_for_connected_device"] = _ftdi1.eeprom_initialized_for_connected_device_set
    __swig_getmethods__["initialized_for_connected_device"] = _ftdi1.eeprom_initialized_for_connected_device_get
    if _newclass:initialized_for_connected_device = _swig_property(_ftdi1.eeprom_initialized_for_connected_device_get, _ftdi1.eeprom_initialized_for_connected_device_set)
    __swig_setmethods__["self_powered"] = _ftdi1.eeprom_self_powered_set
    __swig_getmethods__["self_powered"] = _ftdi1.eeprom_self_powered_get
    if _newclass:self_powered = _swig_property(_ftdi1.eeprom_self_powered_get, _ftdi1.eeprom_self_powered_set)
    __swig_setmethods__["remote_wakeup"] = _ftdi1.eeprom_remote_wakeup_set
    __swig_getmethods__["remote_wakeup"] = _ftdi1.eeprom_remote_wakeup_get
    if _newclass:remote_wakeup = _swig_property(_ftdi1.eeprom_remote_wakeup_get, _ftdi1.eeprom_remote_wakeup_set)
    __swig_setmethods__["is_not_pnp"] = _ftdi1.eeprom_is_not_pnp_set
    __swig_getmethods__["is_not_pnp"] = _ftdi1.eeprom_is_not_pnp_get
    if _newclass:is_not_pnp = _swig_property(_ftdi1.eeprom_is_not_pnp_get, _ftdi1.eeprom_is_not_pnp_set)
    __swig_setmethods__["suspend_dbus7"] = _ftdi1.eeprom_suspend_dbus7_set
    __swig_getmethods__["suspend_dbus7"] = _ftdi1.eeprom_suspend_dbus7_get
    if _newclass:suspend_dbus7 = _swig_property(_ftdi1.eeprom_suspend_dbus7_get, _ftdi1.eeprom_suspend_dbus7_set)
    __swig_setmethods__["in_is_isochronous"] = _ftdi1.eeprom_in_is_isochronous_set
    __swig_getmethods__["in_is_isochronous"] = _ftdi1.eeprom_in_is_isochronous_get
    if _newclass:in_is_isochronous = _swig_property(_ftdi1.eeprom_in_is_isochronous_get, _ftdi1.eeprom_in_is_isochronous_set)
    __swig_setmethods__["out_is_isochronous"] = _ftdi1.eeprom_out_is_isochronous_set
    __swig_getmethods__["out_is_isochronous"] = _ftdi1.eeprom_out_is_isochronous_get
    if _newclass:out_is_isochronous = _swig_property(_ftdi1.eeprom_out_is_isochronous_get, _ftdi1.eeprom_out_is_isochronous_set)
    __swig_setmethods__["suspend_pull_downs"] = _ftdi1.eeprom_suspend_pull_downs_set
    __swig_getmethods__["suspend_pull_downs"] = _ftdi1.eeprom_suspend_pull_downs_get
    if _newclass:suspend_pull_downs = _swig_property(_ftdi1.eeprom_suspend_pull_downs_get, _ftdi1.eeprom_suspend_pull_downs_set)
    __swig_setmethods__["use_serial"] = _ftdi1.eeprom_use_serial_set
    __swig_getmethods__["use_serial"] = _ftdi1.eeprom_use_serial_get
    if _newclass:use_serial = _swig_property(_ftdi1.eeprom_use_serial_get, _ftdi1.eeprom_use_serial_set)
    __swig_setmethods__["usb_version"] = _ftdi1.eeprom_usb_version_set
    __swig_getmethods__["usb_version"] = _ftdi1.eeprom_usb_version_get
    if _newclass:usb_version = _swig_property(_ftdi1.eeprom_usb_version_get, _ftdi1.eeprom_usb_version_set)
    __swig_setmethods__["use_usb_version"] = _ftdi1.eeprom_use_usb_version_set
    __swig_getmethods__["use_usb_version"] = _ftdi1.eeprom_use_usb_version_get
    if _newclass:use_usb_version = _swig_property(_ftdi1.eeprom_use_usb_version_get, _ftdi1.eeprom_use_usb_version_set)
    __swig_setmethods__["max_power"] = _ftdi1.eeprom_max_power_set
    __swig_getmethods__["max_power"] = _ftdi1.eeprom_max_power_get
    if _newclass:max_power = _swig_property(_ftdi1.eeprom_max_power_get, _ftdi1.eeprom_max_power_set)
    __swig_setmethods__["manufacturer"] = _ftdi1.eeprom_manufacturer_set
    __swig_getmethods__["manufacturer"] = _ftdi1.eeprom_manufacturer_get
    if _newclass:manufacturer = _swig_property(_ftdi1.eeprom_manufacturer_get, _ftdi1.eeprom_manufacturer_set)
    __swig_setmethods__["product"] = _ftdi1.eeprom_product_set
    __swig_getmethods__["product"] = _ftdi1.eeprom_product_get
    if _newclass:product = _swig_property(_ftdi1.eeprom_product_get, _ftdi1.eeprom_product_set)
    __swig_setmethods__["serial"] = _ftdi1.eeprom_serial_set
    __swig_getmethods__["serial"] = _ftdi1.eeprom_serial_get
    if _newclass:serial = _swig_property(_ftdi1.eeprom_serial_get, _ftdi1.eeprom_serial_set)
    __swig_setmethods__["channel_a_type"] = _ftdi1.eeprom_channel_a_type_set
    __swig_getmethods__["channel_a_type"] = _ftdi1.eeprom_channel_a_type_get
    if _newclass:channel_a_type = _swig_property(_ftdi1.eeprom_channel_a_type_get, _ftdi1.eeprom_channel_a_type_set)
    __swig_setmethods__["channel_b_type"] = _ftdi1.eeprom_channel_b_type_set
    __swig_getmethods__["channel_b_type"] = _ftdi1.eeprom_channel_b_type_get
    if _newclass:channel_b_type = _swig_property(_ftdi1.eeprom_channel_b_type_get, _ftdi1.eeprom_channel_b_type_set)
    __swig_setmethods__["channel_a_driver"] = _ftdi1.eeprom_channel_a_driver_set
    __swig_getmethods__["channel_a_driver"] = _ftdi1.eeprom_channel_a_driver_get
    if _newclass:channel_a_driver = _swig_property(_ftdi1.eeprom_channel_a_driver_get, _ftdi1.eeprom_channel_a_driver_set)
    __swig_setmethods__["channel_b_driver"] = _ftdi1.eeprom_channel_b_driver_set
    __swig_getmethods__["channel_b_driver"] = _ftdi1.eeprom_channel_b_driver_get
    if _newclass:channel_b_driver = _swig_property(_ftdi1.eeprom_channel_b_driver_get, _ftdi1.eeprom_channel_b_driver_set)
    __swig_setmethods__["channel_c_driver"] = _ftdi1.eeprom_channel_c_driver_set
    __swig_getmethods__["channel_c_driver"] = _ftdi1.eeprom_channel_c_driver_get
    if _newclass:channel_c_driver = _swig_property(_ftdi1.eeprom_channel_c_driver_get, _ftdi1.eeprom_channel_c_driver_set)
    __swig_setmethods__["channel_d_driver"] = _ftdi1.eeprom_channel_d_driver_set
    __swig_getmethods__["channel_d_driver"] = _ftdi1.eeprom_channel_d_driver_get
    if _newclass:channel_d_driver = _swig_property(_ftdi1.eeprom_channel_d_driver_get, _ftdi1.eeprom_channel_d_driver_set)
    __swig_setmethods__["channel_a_rs485enable"] = _ftdi1.eeprom_channel_a_rs485enable_set
    __swig_getmethods__["channel_a_rs485enable"] = _ftdi1.eeprom_channel_a_rs485enable_get
    if _newclass:channel_a_rs485enable = _swig_property(_ftdi1.eeprom_channel_a_rs485enable_get, _ftdi1.eeprom_channel_a_rs485enable_set)
    __swig_setmethods__["channel_b_rs485enable"] = _ftdi1.eeprom_channel_b_rs485enable_set
    __swig_getmethods__["channel_b_rs485enable"] = _ftdi1.eeprom_channel_b_rs485enable_get
    if _newclass:channel_b_rs485enable = _swig_property(_ftdi1.eeprom_channel_b_rs485enable_get, _ftdi1.eeprom_channel_b_rs485enable_set)
    __swig_setmethods__["channel_c_rs485enable"] = _ftdi1.eeprom_channel_c_rs485enable_set
    __swig_getmethods__["channel_c_rs485enable"] = _ftdi1.eeprom_channel_c_rs485enable_get
    if _newclass:channel_c_rs485enable = _swig_property(_ftdi1.eeprom_channel_c_rs485enable_get, _ftdi1.eeprom_channel_c_rs485enable_set)
    __swig_setmethods__["channel_d_rs485enable"] = _ftdi1.eeprom_channel_d_rs485enable_set
    __swig_getmethods__["channel_d_rs485enable"] = _ftdi1.eeprom_channel_d_rs485enable_get
    if _newclass:channel_d_rs485enable = _swig_property(_ftdi1.eeprom_channel_d_rs485enable_get, _ftdi1.eeprom_channel_d_rs485enable_set)
    __swig_setmethods__["cbus_function"] = _ftdi1.eeprom_cbus_function_set
    __swig_getmethods__["cbus_function"] = _ftdi1.eeprom_cbus_function_get
    if _newclass:cbus_function = _swig_property(_ftdi1.eeprom_cbus_function_get, _ftdi1.eeprom_cbus_function_set)
    __swig_setmethods__["high_current"] = _ftdi1.eeprom_high_current_set
    __swig_getmethods__["high_current"] = _ftdi1.eeprom_high_current_get
    if _newclass:high_current = _swig_property(_ftdi1.eeprom_high_current_get, _ftdi1.eeprom_high_current_set)
    __swig_setmethods__["high_current_a"] = _ftdi1.eeprom_high_current_a_set
    __swig_getmethods__["high_current_a"] = _ftdi1.eeprom_high_current_a_get
    if _newclass:high_current_a = _swig_property(_ftdi1.eeprom_high_current_a_get, _ftdi1.eeprom_high_current_a_set)
    __swig_setmethods__["high_current_b"] = _ftdi1.eeprom_high_current_b_set
    __swig_getmethods__["high_current_b"] = _ftdi1.eeprom_high_current_b_get
    if _newclass:high_current_b = _swig_property(_ftdi1.eeprom_high_current_b_get, _ftdi1.eeprom_high_current_b_set)
    __swig_setmethods__["invert"] = _ftdi1.eeprom_invert_set
    __swig_getmethods__["invert"] = _ftdi1.eeprom_invert_get
    if _newclass:invert = _swig_property(_ftdi1.eeprom_invert_get, _ftdi1.eeprom_invert_set)
    __swig_setmethods__["group0_drive"] = _ftdi1.eeprom_group0_drive_set
    __swig_getmethods__["group0_drive"] = _ftdi1.eeprom_group0_drive_get
    if _newclass:group0_drive = _swig_property(_ftdi1.eeprom_group0_drive_get, _ftdi1.eeprom_group0_drive_set)
    __swig_setmethods__["group0_schmitt"] = _ftdi1.eeprom_group0_schmitt_set
    __swig_getmethods__["group0_schmitt"] = _ftdi1.eeprom_group0_schmitt_get
    if _newclass:group0_schmitt = _swig_property(_ftdi1.eeprom_group0_schmitt_get, _ftdi1.eeprom_group0_schmitt_set)
    __swig_setmethods__["group0_slew"] = _ftdi1.eeprom_group0_slew_set
    __swig_getmethods__["group0_slew"] = _ftdi1.eeprom_group0_slew_get
    if _newclass:group0_slew = _swig_property(_ftdi1.eeprom_group0_slew_get, _ftdi1.eeprom_group0_slew_set)
    __swig_setmethods__["group1_drive"] = _ftdi1.eeprom_group1_drive_set
    __swig_getmethods__["group1_drive"] = _ftdi1.eeprom_group1_drive_get
    if _newclass:group1_drive = _swig_property(_ftdi1.eeprom_group1_drive_get, _ftdi1.eeprom_group1_drive_set)
    __swig_setmethods__["group1_schmitt"] = _ftdi1.eeprom_group1_schmitt_set
    __swig_getmethods__["group1_schmitt"] = _ftdi1.eeprom_group1_schmitt_get
    if _newclass:group1_schmitt = _swig_property(_ftdi1.eeprom_group1_schmitt_get, _ftdi1.eeprom_group1_schmitt_set)
    __swig_setmethods__["group1_slew"] = _ftdi1.eeprom_group1_slew_set
    __swig_getmethods__["group1_slew"] = _ftdi1.eeprom_group1_slew_get
    if _newclass:group1_slew = _swig_property(_ftdi1.eeprom_group1_slew_get, _ftdi1.eeprom_group1_slew_set)
    __swig_setmethods__["group2_drive"] = _ftdi1.eeprom_group2_drive_set
    __swig_getmethods__["group2_drive"] = _ftdi1.eeprom_group2_drive_get
    if _newclass:group2_drive = _swig_property(_ftdi1.eeprom_group2_drive_get, _ftdi1.eeprom_group2_drive_set)
    __swig_setmethods__["group2_schmitt"] = _ftdi1.eeprom_group2_schmitt_set
    __swig_getmethods__["group2_schmitt"] = _ftdi1.eeprom_group2_schmitt_get
    if _newclass:group2_schmitt = _swig_property(_ftdi1.eeprom_group2_schmitt_get, _ftdi1.eeprom_group2_schmitt_set)
    __swig_setmethods__["group2_slew"] = _ftdi1.eeprom_group2_slew_set
    __swig_getmethods__["group2_slew"] = _ftdi1.eeprom_group2_slew_get
    if _newclass:group2_slew = _swig_property(_ftdi1.eeprom_group2_slew_get, _ftdi1.eeprom_group2_slew_set)
    __swig_setmethods__["group3_drive"] = _ftdi1.eeprom_group3_drive_set
    __swig_getmethods__["group3_drive"] = _ftdi1.eeprom_group3_drive_get
    if _newclass:group3_drive = _swig_property(_ftdi1.eeprom_group3_drive_get, _ftdi1.eeprom_group3_drive_set)
    __swig_setmethods__["group3_schmitt"] = _ftdi1.eeprom_group3_schmitt_set
    __swig_getmethods__["group3_schmitt"] = _ftdi1.eeprom_group3_schmitt_get
    if _newclass:group3_schmitt = _swig_property(_ftdi1.eeprom_group3_schmitt_get, _ftdi1.eeprom_group3_schmitt_set)
    __swig_setmethods__["group3_slew"] = _ftdi1.eeprom_group3_slew_set
    __swig_getmethods__["group3_slew"] = _ftdi1.eeprom_group3_slew_get
    if _newclass:group3_slew = _swig_property(_ftdi1.eeprom_group3_slew_get, _ftdi1.eeprom_group3_slew_set)
    __swig_setmethods__["powersave"] = _ftdi1.eeprom_powersave_set
    __swig_getmethods__["powersave"] = _ftdi1.eeprom_powersave_get
    if _newclass:powersave = _swig_property(_ftdi1.eeprom_powersave_get, _ftdi1.eeprom_powersave_set)
    __swig_setmethods__["clock_polarity"] = _ftdi1.eeprom_clock_polarity_set
    __swig_getmethods__["clock_polarity"] = _ftdi1.eeprom_clock_polarity_get
    if _newclass:clock_polarity = _swig_property(_ftdi1.eeprom_clock_polarity_get, _ftdi1.eeprom_clock_polarity_set)
    __swig_setmethods__["data_order"] = _ftdi1.eeprom_data_order_set
    __swig_getmethods__["data_order"] = _ftdi1.eeprom_data_order_get
    if _newclass:data_order = _swig_property(_ftdi1.eeprom_data_order_get, _ftdi1.eeprom_data_order_set)
    __swig_setmethods__["flow_control"] = _ftdi1.eeprom_flow_control_set
    __swig_getmethods__["flow_control"] = _ftdi1.eeprom_flow_control_get
    if _newclass:flow_control = _swig_property(_ftdi1.eeprom_flow_control_get, _ftdi1.eeprom_flow_control_set)
    __swig_setmethods__["size"] = _ftdi1.eeprom_size_set
    __swig_getmethods__["size"] = _ftdi1.eeprom_size_get
    if _newclass:size = _swig_property(_ftdi1.eeprom_size_get, _ftdi1.eeprom_size_set)
    __swig_setmethods__["chip"] = _ftdi1.eeprom_chip_set
    __swig_getmethods__["chip"] = _ftdi1.eeprom_chip_get
    if _newclass:chip = _swig_property(_ftdi1.eeprom_chip_get, _ftdi1.eeprom_chip_set)
    __swig_setmethods__["buf"] = _ftdi1.eeprom_buf_set
    __swig_getmethods__["buf"] = _ftdi1.eeprom_buf_get
    if _newclass:buf = _swig_property(_ftdi1.eeprom_buf_get, _ftdi1.eeprom_buf_set)
    def __init__(self): 
        """__init__(ftdi_eeprom self) -> eeprom"""
        this = _ftdi1.new_eeprom()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _ftdi1.delete_eeprom
    __del__ = lambda self : None;
eeprom_swigregister = _ftdi1.eeprom_swigregister
eeprom_swigregister(eeprom)

# This file is compatible with both classic and new-style classes.


