//----------------------------------------------------------------------- // // Copyright © 2012 Nils Hammar and Future Technology Devices International Limited. All rights reserved. // //----------------------------------------------------------------------- namespace FtdiApi { using global::FtdiApi.Constants; /// /// EEPROM structure specific to FT232H devices. /// Inherits from FT_EEPROM_DATA. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:FieldsMustBePrivate", Justification = "Reviewed.")] public class FT232H_EEPROM_STRUCTURE : FT_EEPROM_DATA { /// /// Determines if IOs are pulled down when the device is in suspend /// public bool PullDownEnable = false; /// /// Determines if the serial number is enabled /// public bool SerNumEnable = true; /// /// Determines if AC pins have a slow slew rate /// public bool ACSlowSlew = false; /// /// Determines if the AC pins have a Schmitt input /// public bool ACSchmittInput = false; /// /// Determines the AC pins drive current in mA. Valid values are FT_DRIVE_CURRENT_4MA, FT_DRIVE_CURRENT_8MA, FT_DRIVE_CURRENT_12MA or FT_DRIVE_CURRENT_16MA /// public byte ACDriveCurrent = FT_DRIVE_CURRENT.FT_DRIVE_CURRENT_4MA; /// /// Determines if AD pins have a slow slew rate /// public bool ADSlowSlew = false; /// /// Determines if the AD pins have a Schmitt input /// public bool ADSchmittInput = false; /// /// Determines the AD pins drive current in mA. Valid values are FT_DRIVE_CURRENT_4MA, FT_DRIVE_CURRENT_8MA, FT_DRIVE_CURRENT_12MA or FT_DRIVE_CURRENT_16MA /// public byte ADDriveCurrent = FT_DRIVE_CURRENT.FT_DRIVE_CURRENT_4MA; /// /// Sets the function of the CBUS0 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_TXDEN, FT_CBUS_CLK30, /// FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus0 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS1 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_TXDEN, FT_CBUS_CLK30, /// FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus1 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS2 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_TXDEN /// public byte Cbus2 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS3 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_TXDEN /// public byte Cbus3 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS4 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_TXDEN /// public byte Cbus4 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS5 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_IOMODE, /// FT_CBUS_TXDEN, FT_CBUS_CLK30, FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus5 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS6 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_IOMODE, /// FT_CBUS_TXDEN, FT_CBUS_CLK30, FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus6 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS7 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE /// public byte Cbus7 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS8 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_IOMODE, /// FT_CBUS_TXDEN, FT_CBUS_CLK30, FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus8 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Sets the function of the CBUS9 pin for FT232H devices. /// Valid values are FT_CBUS_TRISTATE, FT_CBUS_RXLED, FT_CBUS_TXLED, FT_CBUS_TXRXLED, /// FT_CBUS_PWREN, FT_CBUS_SLEEP, FT_CBUS_DRIVE_0, FT_CBUS_DRIVE_1, FT_CBUS_IOMODE, /// FT_CBUS_TXDEN, FT_CBUS_CLK30, FT_CBUS_CLK15, FT_CBUS_CLK7_5 /// public byte Cbus9 = FT_232H_CBUS_OPTIONS.FT_CBUS_TRISTATE; /// /// Determines if the device is in FIFO mode /// public bool IsFifo = false; /// /// Determines if the device is in FIFO target mode /// public bool IsFifoTar = false; /// /// Determines if the device is in fast serial mode /// public bool IsFastSer = false; /// /// Determines if the device is in FT1248 mode /// public bool IsFT1248 = false; /// /// Determines FT1248 mode clock polarity /// public bool FT1248Cpol = false; /// /// Determines if data is sent MSB (0) or LSB (1) in FT1248 mode /// public bool FT1248Lsb = false; /// /// Determines if FT1248 mode uses flow control /// public bool FT1248FlowControl = false; /// /// Determines if the VCP driver is loaded /// public bool IsVCP = true; /// /// For self-powered designs, keeps the FT232H in low power state until ACBUS7 is high /// public bool PowerSaveEnable = false; } }