Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

  1. manage incoming USB setup data packet (used for device registration by OS of USB host);
  2. manage incoming USB data packet (this data packet should normally contains TE API Commands (FW APIs));
  3. manage interruption (INT0 pin) incoming from FPGA chip (normally FPGA's MicroBlaze soft-processor).

Task 1 is realized implemented (carried out) by 

Code Block
languagecpp
titlefw.c, Trenz Electronic v3.02
if(usb_setup_packet_avail()) usb_handle_setup_packet();

Task 2 is realized 2 is implemented (carried out) by

Code Block
languagecpp
titlete_api.c, Trenz Electronic v3.02
void ep1_pool(void)

Task 3 is realized implemented (carried out) by

Code Block
languagecpp
titlete_api.c, Trenz Electronic v3.02
void int_pin_pool(void)

...

Manage incoming USB data packet (task2)

This process is realized process is implemented (carried out) by function ep1_pool().

This function pull 64 bytes from EP1IN EP1OUTBUF FIFO; in this FIFO , the FX2_API_Commands (MicroBlaze Commands and SPI Flash Commnads) from USB connection with are stored possible TE API Commands (FW APIs) sent by host computer's SW through USB connection.

EP1OUTBUF[0] and EP1OUTBUF[1:63] are written by host computer's software C++ TE_USB_FX2_SendCommand(...,command,...)  or C# TE_USB_FX2_SendCommand(...,command,...) or libusb(x) C libusb_bulk_transfer(usbDeviceHandle, LIBUSB_ENDPOINT_OUT | 1, command, x, &actual_length, 1000) used with command[0] = USB FX2 API Command.

...

The host computer's SW should use a polling procedure to retrieve the I2C bytes read (and stored) by FX2 microcontroller (the pull response to host computer's pull is realized pull is implemented (carried out) by task2: ep1_pool())

Pull INT pool.  Longer description true for every Logical Architecture Layer

...