This is an old revision of the document!
← start
, 2013/11/21 11:11
~~DISCUSSION~~
#include[ztex-conf.h] // Loads the configuration macros, see ztex-conf.h for the available macros #include[ztex-utils.h] // include basic functions // configure endpoint 2, in, quad buffered, 512 bytes, interface 0 EP_CONFIG(2,0,BULK,IN,512,4); // configure endpoint 6, out, doublebuffered, 512 bytes, interface 0 EP_CONFIG(6,0,BULK,OUT,512,2); // select ZTEX USB FPGA Module 1.15 as target (required for FPGA configuration) IDENTITY_UFM_1_15(10.13.0.0,0); // this product string is also used for identification by the host software #define[PRODUCT_STRING]["intraffic example for UFM 1.15"] // enables high speed FPGA configuration via EP6 ENABLE_HS_FPGA_CONF(6); // this is called automatically after FPGA configuration #define[POST_FPGA_CONFIG][POST_FPGA_CONFIG IOA7 = 1; // reset on IOA0 = 1; // reset on IOA3 = 0; OEA |= bmBIT0 | bmBIT3; IOC0 = 0; // controlled mode OEC = 1; //Configuration of CPUCS and IFconfig CPUCS = 0x12; IFCONFIG = bmBIT7 | bmBIT5 | 3; // internel 30MHz clock, drive IFCLK ouput, slave FIFO interface //Configuration of flags Pin SYNCDELAY; FIFOPINPOLAR = 0; SYNCDELAY; PINFLAGSAB = 0x80; SYNCDELAY; PINFLAGSCD = 0x0E; SYNCDELAY; //Configuration PORTACFG //PORTACFG = 0x00; //Configuration of EPxCFG EP2CFG = 0xA0; SYNCDELAY; EP6CFG = 0xE0; SYNCDELAY; //FIFOreset FIFORESET = 0x80; // reset all FIFOs SYNCDELAY; FIFORESET = 0x82; SYNCDELAY; FIFORESET = 0x84; SYNCDELAY; FIFORESET = 0x86; SYNCDELAY; FIFORESET = 0x88; SYNCDELAY; FIFORESET = 0x00; SYNCDELAY; //Arm out buffers OUTPKTEND = 0x82; SYNCDELAY; //Configuration of EPxFIFOCFG EP2FIFOCFG = 0x10; SYNCDELAY; EP6FIFOCFG = 0x4C;//0x0c SYNCDELAY; EP6AUTOINLENH = 0x02; SYNCDELAY; EP6AUTOINLENL = 0x00; SYNCDELAY; ] // set mode ADD_EP0_VENDOR_COMMAND((0x60,, IOA7 = 1; // reset on IOC0 = SETUPDAT[2] ? 1 : 0; IOA7 = 0; // reset off ,, NOP; ));; ADD_EP0_VENDOR_REQUEST((0x70,, // return the checksum EP0BUF[0] = IOC; EP0BCH = 0; EP0BCL = 1; ,,));; // include the main part of the firmware kit, define the descriptors, ... #include[ztex.h] void main(void) { init_USB(); while (1) { } }
~~JAVA FUNCTION~~
System.out.println( LibusbJava.usb_bulk_write(ztex.handle(), 6, buf1, buf1.length, 1000) + " Bytes\r"); bufBytes[i] = LibusbJava.usb_bulk_read(ztex.handle(), 2, buf[i], bufSize, 1000);
It doesn´t work. Anyone know why this code doesn´t work. I have tried to add the configuration of AUTOIN and AUTOOUT. I have been several days with the manuals but I cannot find the problem.
I want to send 512 bytes, then I process the bytes and finally I want to receive the 512 bytes. I want to use EP2 and EP6. buf1 is an array of 512 bytes and buf[i] is an array of 512 bytes too.
Thank you very much.
Best Regards