FX3Connection Methods |
The FX3Connection type exposes the following members.
Name | Description | |
---|---|---|
![]() | BitBangReadReg16 |
Read a standard iSensors 16-bit register using a bitbang SPI connection
|
![]() | BitBangSpi |
Perform a bit banged SPI transfer, using the config set in BitBangSpiConfig.
|
![]() | BitBangWriteRegByte |
Write a byte to an iSensor register using a bitbang SPI connection
|
![]() | BootloaderBlinkLED |
BOOTLOADER FW: Blink the on-board LED
|
![]() | BootloaderTurnOffLED |
BOOTLOADER FW: Turn off the LED
|
![]() | BootloaderTurnOnLED |
BOOTLOADER FW: Turn on the LED
|
![]() | CancelStreamAsync |
Cancel a any running stream
|
![]() | ClearBurstMode |
Takes interface out of burst mode by setting BurstMode to zero.
|
![]() | ClearErrorLog |
Clear the error log stored in flash
|
![]() | Connect |
Attempts to program the selected FX3 board with the application firmware. The FX3 board should be programmed
with the ADI bootloader.
|
![]() | Disconnect |
This function sends a reset command to the specified FX3 board, or does nothing if no board is connected
|
![]() | Disconnect(String) |
Overload of Disconnect which lets you specify the FX3 serial number to disconnect. Returns a boolean
indicating if the board was disconnected.
|
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | FX3CodeRunningOnTarget |
Function which checks if the FX3 is connected and programmed
|
![]() | GetBuffer |
Gets one frame from the thread safe queue. Waits to return until a frame is available if there is a stream running. If
there is not a stream running, and there is no data in the queue this call returns "Nothing".
|
![]() | GetBufferedStreamDataPacket |
This function returns a single buffered stream packet. Needed for IBufferedStreamProducer
|
![]() | GetErrorLog |
Gets the current error log from FX3 flash memory
|
![]() | GetErrorLogCount |
Get the number of errors logged to the FX3 flash memory
|
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetI2CBuffer |
Get I2C buffer from I2C read stream
|
![]() | GetPinPWMInfo |
Allows the user to retrieve a set of information about the current pin PWM configuration.
|
![]() | GetStreamDataPacketU16 |
This function does the same thing as GetBufferedStreamDataPacket()
|
![]() | GetTimerValue |
This function reads the current value from the 10MHz timer running on the FX3
|
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | I2CReadBytes |
Read bytes from an I2C slave device attached to the FX3.
|
![]() | I2CWriteBytes |
Write bytes to an I2C slave device attached to the FX3
|
![]() | ISpi32StopStream |
ISpi32 StopStream implementation. Calls generic version.
|
![]() | isPWMPin |
This function checks to see if the selected pin has already been configured to act as a PWM output pin.
|
![]() | MeasureBusyPulse(Byte, IPinObject, UInt32, UInt32) |
Overload of measure busy pulse which triggers the DUT event using a SPI write instead of a pin drive.
|
![]() | MeasureBusyPulse(IPinObject, UInt32, UInt32, IPinObject, UInt32, UInt32) |
This function triggers a DUT action using a pulse drive, and then measures the following pulse width on a separate busy line.
The pulse time on the busy pin is measured using a 10MHz timer with approx. 0.1us accuracy.
|
![]() | MeasurePinDelay |
This function measures the time delay between toggling a trigger pin, and a state change on the busy pin. This can be used to measure
the propagation delay between a sync edge and data ready being de-asserted.
|
![]() | MeasurePinFreq |
Measures the frequency of an input signal to the selected pin.
|
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | PulseDrive |
This function drives a pin to the specified level for a given time interval in ms
|
![]() | PulseWait |
This function waits for a pin to reach a specified level
|
![]() | PurgeBadFrameData |
This function checks the CRC of each real time streaming frame stored in the Stream Data Queue,
and purges the bad ones. This operation is only valid for an ADcmXL series DUT.
|
![]() | ReadDRFreq |
Reads the measured DR value
|
![]() | ReadFlash |
Read data from the FX3 non-volatile memory
|
![]() | ReadPin |
Reads the value of a GPIO pin on the FX3
|
![]() | ReadPins(IPinObject) |
Reads a list of FX3 GPIO pins. This function calls the overload which takes an IEnumerable
|
![]() | ReadPins(IEnumerableIPinObject) |
Reads a list of FX3 GPIO pins
|
![]() | ReadRegArray(IEnumerableUInt32) |
Reads an array of 16 bit register values.
|
![]() | ReadRegArray(IEnumerableAddrDataPair, UInt32) |
ReadRegArray overload which includes register writes. Breaks the call into multiple calls of readRegByte and writeRegByte
|
![]() | ReadRegArray(IEnumerableUInt32, UInt32) |
Overload of ReadRegArray which builds a new IEnumerable of addr and call the overload which takes an enumerable of addr
|
![]() | ReadRegArrayStream(IEnumerableAddrDataPair, UInt32, UInt32) |
This is the most generic array register function. All other array read/write functions call down to this one.
|
![]() | ReadRegArrayStream(IEnumerableUInt32, UInt32, UInt32) | |
![]() | ReadRegByte |
This is the most general ReadRegByte. Other implementations are based on this.
|
![]() | ReadRegWord |
Reads a single 16 bit register on the DUT
|
![]() | ReadTime |
Not implemented
|
![]() | Reset |
Drives the Reset pin low for 10ms, sleeps for 100ms, and then blocks until the ReadyPin is high (500ms timeout)
|
![]() | ResetAllFX3s |
Looks for and resets boards in application mode. Should only be called at program start, after InitBoardList()
Note: Should not be used if running multiple instances of the GUI.
|
![]() | RestoreHardwareSpi |
Resets the hardware SPI pins to their default operating mode. Can be used to recover the SPI functionality after a bit-bang SPI transaction over the hardware SPI pins
without having to reboot the FX3.
|
![]() | SetBitBangSpiFreq(Double) |
Sets the SCLK frequency for a bit bang SPI connection.
|
![]() | SetBitBangSpiFreq(UInt32) |
Set the SCLK frequency for a bit banged SPI connection. Overloaded to allow for a UInt
|
![]() | SetBitBangStallTime |
Set the bit bang SPI stall time. Driven by a clock with resolution of 49.3ns
|
![]() | SetPin |
Sets the value of a FX3 GPIO pin. This value will persist until the pin is set to a different value, or read from
|
![]() | SetPinResistorSetting |
Set the FX3 GPIO input stage pull up or pull down resistor setting. All FX3 GPIOs have a software configurable
pull up / pull down resistor (10KOhm).
|
![]() | SetupBurstMode |
Puts interface into burst mode by setting burstMode to match word count.
|
![]() | Start |
This function is not currently implemented. Calling it will throw a NotImplementedException.
|
![]() | StartBufferedStream(IEnumerableAddrDataPair, UInt32, UInt32, Int32, BackgroundWorker) |
Starts a buffered stream operation. This is usually called from the TextFileStreamManager. DUTType must be set before executing.
|
![]() | StartBufferedStream(IEnumerableUInt32, UInt32, UInt32, Int32, BackgroundWorker) |
Starts a buffered stream operation. The registers listed in addr are read numCaptures times per register buffer. This process is repeated numBuffers times.
|
![]() | StartBurstStream |
Function to start a burst read using the BurstStreamManager
|
![]() | StartGenericStream |
Starts a generic data stream. This allows you to read/write a set of registers on the DUT, triggering off the data ready if needed.
The data read is placed in the thread-safe queue and can be retrieved with a call to GetBuffer. Each "buffer" is the result of
reading the addr list of registers numCaptures times. For example, if addr is set to [0, 2, 4] and numCaptures is set to 10, each
buffer will contain the 30 register values. The total number of register reads performed is numCaptures * numBuffers
|
![]() | StartI2CStream |
Start an asynchronous I2C read stream. This stream runs on the stream thread
and places all data in a thread safe queue. The data can be retrieved using
GetI2CBuffer()
|
![]() | StartPWM |
This function configures the selected pin to drive a pulse width modulated output.
|
![]() | StartRealTimeStreaming |
This function starts real time streaming on the ADcmXLx021 (interface and FX3). Specifying pin exit is optional and must be 0 (disabled) or 1 (enabled)
|
![]() | StartStream |
Starts a buffered stream for only a single buffer.
This is equivalent to StartBufferedStream(addr, numCaptures, 1, CurrentTimeout, Nothing)
|
![]() | StopPWM |
This function call disables the PWM output from the FX3 and returns the pin to a tri-stated mode.
|
![]() | StopRealTimeStreaming |
This function stops real time streaming on the ADcmXLx021 (stream thread in FX3 API and FX3 firmware)
|
![]() | StopStream |
Stops the currently running data stream, if any.
|
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | Transfer |
This function performs a single bi-directional 32 bit SPI transaction. If DrActive is set to false the transfer is performed asynchronously. If DrActive is set to true,
the transfer should wait until a data ready condition (determined by DrPin and DrPolarity) is true.
|
![]() | TransferArray(IEnumerableUInt32) |
This function performs an array bi-directional SPI transfer. WriteData.Count() total SPI transfers are performed. If DrActive is set to true, the transfer should wait
until a data ready condition (determined by DrPin and DrPolarity) is true, and then perform all SPI transfers. If DrActive is false it is performed asynchronously.
|
![]() | TransferArray(IEnumerableUInt32, UInt32) |
This function performs an array bi-directional SPI transfer. This overload transfers all the data in WriteData numCaptures times. The total
number of SPI words transfered is WriteData.Count() * numCaptures.
If DrActive is set to true, the transfer should wait until a data ready condition (determined by DrPin and DrPolarity) is true, and
then perform all SPI transfers. If DrActive is false it is performed asynchronously.
|
![]() | TransferArray(IEnumerableUInt32, UInt32, UInt32) |
This function performs an array bi-directional SPI transfer. If DrActive is set to true, this overload transfers all the data in WriteData
numCaptures times per data ready condition being met. It captures data from numBuffers data ready signals. If DrActive is set to false, all the
transfers are performed asynchronously. The total number of SPI transfers is WriteData.Count()*numCaptures*numBuffers.
The following pseduo-code snippet would perform 400 total SPI transfers, across 100 data ready conditions.
MOSI = {0x1234, 0x5678}
myISpi32.DrActive = True
MISO = myISpi32.TransferArray(MOSI, 2, 100)
During the transfers, the SPI bus would look like the following:
MOSI: ---(0x1234)---(0x5678)---(0x1234)---(0x5678)-----------------(0x1234)---(0x5678)---(0x1234)---(0x5678)--...-----(0x1234)-----(0x5678)-----(0x1234)-----(0x5678)--
MISO:----MISO(0)----MISO(1)----MISO(2)----MISO(3)------------------MISO(4)----MISO(5)----MISO(6)----MISO(7)---...-----MISO(196)----MISO(197)----MISO(198)----MISO(199)-
DR: ___|¯¯¯|_____________________________________________________|¯¯¯|______________________________________..._____|¯¯¯|____________________________________________
|
![]() | UserLEDBlink |
Blink user LED using timer hardware (not available on Cypress Explorer FX3 board)
|
![]() | UserLEDOff |
Turn off user LED (not available on Cypress Explorer FX3 board)
|
![]() | UserLEDOn |
Turn on user LED (not available on Cypress Explorer FX3 board)
|
![]() | WaitForBoard |
This function is used to wait for an FX3 to be programmed with the ADI bootloader. In general, the programming model would go as follows,
to connect and program the first board attached:
Dim myFX3 as FX3Connection = New FX3Connection(firmwarepath, bootloaderpath, devicetype)
If Not myFX3.WaitForBoard(10) Then
Msgbox("No boards found")
Exit Sub
End If
myFX3.Connect(myFX3.AvailableFX3s(0))
|
![]() | WaitForStreamCompletion |
Overload of WaitForStreamCompletion which blocks indefinitely
until a stream completion event is seen.
|
![]() | WaitForStreamCompletion(Int32) |
Blocks until the streaming endpoint mutex can be acquired. Allows a user to synchronize external application
the completion of a stream. Returns false if there is not a stream running, or if the timeout is reached without
the stream mutex being acquired.
|
![]() | WriteReadTransferArray |
Array transfer which performs an initial SPI transmit (MOSI only, no read back) then
starts a read stream. This is useful if you need to issue a write to the DUT, then
immediately start reading back data, without the USB transfer overhead of approx 150us
|
![]() | WriteRegByte(AddrDataPair) |
This function writes a single register byte, given as an Address / Data pair
|
![]() | WriteRegByte(IEnumerableAddrDataPair) |
This function writes an enumerable list of data to the DUT as AddrDataPairs
|
![]() | WriteRegByte(IEnumerableUInt32, IEnumerableUInt32) |
Overload of WriteRegByte which allows for multiple registers to be specified to write to, as an IEnumerable list of register addresses.
|
![]() | WriteRegByte(UInt32, UInt32) |
This is the most general WriteRegByte, which the others are based on
|
![]() | WriteRegWord |
This function is not currently implemented. Calling it will throw a NotImplementedException.
|