USBP_PBRD_V01 Class Reference

FPGA Prototype Board. More...

#include <usbp_pbrd_v01.h>

Inheritance diagram for USBP_PBRD_V01:

USBP

Public Member Functions

 USBP_PBRD_V01 ()
 Assign the specific implementation for this specific board.
virtual ~USBP_PBRD_V01 ()
int init_usb (void)
 Simple wrapper for Python interface ??
int loadFxFirmware (string file)
 Simple wrapper for Python ??
int configFPGA (string file)
 Simple wrapper for Python ??
string info ()
 Simple Function Test Boost.Python.
int deviceInfo ()
int testFPGAXfer (int data)
 Test USB Xfers.
int testXferLoopback (int x)
 TEMP Test function, use to test xfer to FX2.
int testFPGAXferSpeed (void)
 With the first version of the FPGA, the FPGA logic will copy the byte recieved to the LEDs.
int PyReadData (BP::list &pyList)
 Read Data from the USB Board.
int PyWriteData (BP::list &pyList)
 Write Data to the USB Board.
int ReadReg (int addr, int &data)
 Read a Wishbone memory mapped address.
int WriteReg (int addr, int data)
 Write a Wishbone memory mapped address.

Detailed Description

FPGA Prototype Board.

Definition at line 55 of file usbp_pbrd_v01.h.


Constructor & Destructor Documentation

USBP_PBRD_V01::USBP_PBRD_V01 (  )  [inline]

Assign the specific implementation for this specific board.

Definition at line 63 of file usbp_pbrd_v01.h.

References USBP::iPid, USBP::iVid, USBP::rPid, USBP::rVid, iUSB_Device::setUSB(), iUSB_FPGA::setUSB(), USBP::UsbD, USBP::UsbDevice, and USBP::UsbFpga.

virtual USBP_PBRD_V01::~USBP_PBRD_V01 (  )  [inline, virtual]

Definition at line 79 of file usbp_pbrd_v01.h.

References USBP::UsbD, USBP::UsbDevice, and USBP::UsbFpga.


Member Function Documentation

int USBP_PBRD_V01::init_usb ( void   )  [inline]

Simple wrapper for Python interface ??

Definition at line 94 of file usbp_pbrd_v01.h.

References USBP::init(), USBP::iPid, and USBP::iVid.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::loadFxFirmware ( string  file  )  [inline]

Simple wrapper for Python ??

Definition at line 98 of file usbp_pbrd_v01.h.

References iUSB_Device::downloadFirmware(), USBP::iPid, USBP::iVid, and USBP::UsbDevice.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::configFPGA ( string  file  )  [inline]

Simple wrapper for Python ??

Definition at line 102 of file usbp_pbrd_v01.h.

References iUSB_FPGA::downloadConfigFile(), and USBP::UsbFpga.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

string USBP_PBRD_V01::info (  )  [inline]

Simple Function Test Boost.Python.

Definition at line 110 of file usbp_pbrd_v01.h.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::deviceInfo ( void   )  [inline]

Definition at line 111 of file usbp_pbrd_v01.h.

References iUSB_Driver::deviceInfo(), and USBP::UsbD.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::testFPGAXfer ( int  data  ) 

Test USB Xfers.

This was used by the applications for simple control of the LEDs.

Definition at line 172 of file usbp_python.cpp.

References UPL_OK, USBP::UsbD, USBP::UsbFpga, and iUSB_FPGA::writeData().

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::testXferLoopback ( int  x  ) 

TEMP Test function, use to test xfer to FX2.

Todo:
Add FPGA loopback to test USB xfer rates.
Todo:
Add some kind of verification that loopback code is loaded.

Todo:
Configure for LoopBack Mode.

Definition at line 227 of file usbp_python.cpp.

References iUSB_FPGA::readData(), UPL_OK, USBP::UsbD, USBP::UsbFpga, and iUSB_FPGA::writeData().

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::testFPGAXferSpeed ( void   ) 

With the first version of the FPGA, the FPGA logic will copy the byte recieved to the LEDs.

This can be used to see how fast data can be transferred to the FPGA, read by the FPGA and written to the LEDs.

Definition at line 196 of file usbp_python.cpp.

References UPL_OK, USBP::UsbD, USBP::UsbFpga, and iUSB_FPGA::writeData().

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::PyReadData ( BP::list &  pyList  ) 

Read Data from the USB Board.

The USBP boards have two different data paths. One is a straight FIFO data path intended for streaming data. The other is the wishbone interface.

This interfaces to the straight ("streaming") endpoint. From Python's point of view want to be sending and receiving lists.

Definition at line 112 of file usbp_python.cpp.

References MAX_LEN, iUSB_FPGA::readData(), UPL_ERR, UPL_OK, USBP::UsbD, and USBP::UsbFpga.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::PyWriteData ( BP::list &  pyList  ) 

Write Data to the USB Board.

The USBP boards have two different data paths. One is a straght FIFO data path intended for streaming data. The other is the wishbone interface.

Important, need to send more than one byte to the cypress endpoints?? This is definetly true given emperical evidence, not sure if this is a limitation of the FX2 device or my understanding of the chip. This is ok shouldn't ever be sending a single, only doing that for testing.

Definition at line 58 of file usbp_python.cpp.

References MAX_LEN, UPL_ERR, UPL_OK, USBP::UsbD, USBP::UsbFpga, and iUSB_FPGA::writeData().

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::ReadReg ( int  addr,
int &  data 
)

Read a Wishbone memory mapped address.

Definition at line 156 of file usbp_python.cpp.

References UPL_OK.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().

int USBP_PBRD_V01::WriteReg ( int  addr,
int  data 
)

Write a Wishbone memory mapped address.

Definition at line 144 of file usbp_python.cpp.

References UPL_OK.

Referenced by usbp::Python::BOOST_PYTHON_MODULE().


The documentation for this class was generated from the following files:
Generated on Mon Mar 5 20:44:21 2007 for usbp by  doxygen 1.5.1-p1