//-----------------------------------------------------------------------
//
// Copyright © 2012 Nils Hammar and Future Technology Devices International Limited. All rights reserved.
//
//-----------------------------------------------------------------------
namespace FtdiApi.Structs
{
using System.Runtime.InteropServices;
///
/// FT X-series data.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:AccessibleFieldsMustBeginWithUpperCaseLetter", Justification = "Reviewed.")]
[StructLayout(LayoutKind.Sequential, Pack = 4)]
internal struct FT_XSERIES_DATA
{
///
/// EEPROM Data.
///
public FT_EEPROM_HEADER common;
///
/// non-zero if AC bus pins have slow slew
///
public byte ACSlowSlew;
///
/// non-zero if AC bus pins are Schmitt input
///
public byte ACSchmittInput;
///
/// valid values are 4mA, 8mA, 12mA, 16mA
///
public byte ACDriveCurrent;
///
/// non-zero if AD bus pins have slow slew
///
public byte ADSlowSlew;
///
/// non-zero if AD bus pins are Schmitt input
///
public byte ADSchmittInput;
///
/// valid values are 4mA, 8mA, 12mA, 16mA
///
public byte ADDriveCurrent;
// CBUS options
///
/// Cbus Mux control
///
public byte Cbus0;
///
/// Cbus Mux control
///
public byte Cbus1;
///
/// Cbus Mux control
///
public byte Cbus2;
///
/// Cbus Mux control
///
public byte Cbus3;
///
/// Cbus Mux control
///
public byte Cbus4;
///
/// Cbus Mux control
///
public byte Cbus5;
///
/// Cbus Mux control
///
public byte Cbus6;
// UART signal options
///
/// non-zero if invert TXD
///
public byte InvertTXD;
///
/// non-zero if invert RXD
///
public byte InvertRXD;
///
/// non-zero if invert RTS
///
public byte InvertRTS;
///
/// non-zero if invert CTS
///
public byte InvertCTS;
///
/// non-zero if invert DTR
///
public byte InvertDTR;
///
/// non-zero if invert DSR
///
public byte InvertDSR;
///
/// non-zero if invert DCD
///
public byte InvertDCD;
///
/// non-zero if invert RI
///
public byte InvertRI;
// Battery Charge Detect options
///
/// Enable Battery Charger Detection
///
public byte BCDEnable;
///
/// asserts the power enable signal on CBUS when charging port detected
///
public byte BCDForceCbusPWREN;
///
/// forces the device never to go into sleep mode
///
public byte BCDDisableSleep;
// I2C options
///
/// I2C slave device address
///
public ushort I2CSlaveAddress;
///
/// I2C device ID
///
public uint I2CDeviceId;
///
/// Disable I2C Schmitt trigger
///
public byte I2CDisableSchmitt;
// FT1248 options
///
/// FT1248 clock polarity - clock idle high (1) or clock idle low (0)
///
public byte FT1248Cpol;
///
/// FT1248 data is LSB (1) or MSB (0)
///
public byte FT1248Lsb;
///
/// FT1248 flow control enable
///
public byte FT1248FlowControl;
// Hardware options
///
/// Suppress Echo on RS485
///
public byte RS485EchoSuppress;
///
/// Enable Power Save.
///
public byte PowerSaveEnable;
// Driver option
///
/// Driver Type
///
public byte DriverType;
}
}