#include "system.h" #include "basic_io.h" #include "LCD.h" #include "Test.h" #include "Open_I2C.h" #include "sys/alt_irq.h" // for USB #include "BASICTYP.H" #include "COMMON.H" #include "ISR.H" #include "USB.H" #include "ISR.C" #include "HAL4D13.C" #include "CHAP_9.C" #include "D13BUS.C" #include "ISO.C" #include "MAINLOOP.C" #include #include #include //------------------------------------------------------------------------- // Global Variable D13FLAGS bD13flags; USBCHECK_DEVICE_STATES bUSBCheck_Device_State; CONTROL_XFER ControlData; IO_REQUEST idata ioRequest; //------------------------------------------------------------------------- int main(void) { bUSBCheck_Device_State.State_bits.DEVICE_DEFAULT_STATE = 1; bUSBCheck_Device_State.State_bits.DEVICE_ADDRESS_STATE = 0; bUSBCheck_Device_State.State_bits.DEVICE_CONFIGURATION_STATE = 0; basic_test(); Hal4D13_ResetDevice(); /*Reset the Device Controller*/ reconnect_USB(); /* Programs the DC's Register*/ Hal4D13_AcquireD13(ISP1362_IRQ); Hal4D13_SetMode(D13REG_MODE_DMA16 |D13REG_MODE_SOFTCONNECT |D13REG_MODE_INT_EN /*Enableing Device Interrupts*/ ); CHECK_CHIP_ID(); bD13flags.bits.verbose=1; while (1) { if (bD13flags.bits.suspend) { // printf("\nSuspend Change Handler!!\n"); RaiseIRQL(); bD13flags.bits.suspend= 0; LowerIRQL(); suspend_change(); } // Suspend Change Handler if (bD13flags.bits.DCP_state == USBFSM4DCP_SETUPPROC) { // printf("\nSetup Token Handler!!\n"); RaiseIRQL(); SetupToken_Handler(); LowerIRQL(); } // Setup Token Handler if ((bD13flags.bits.DCP_state == USBFSM4DCP_REQUESTPROC) && !ControlData.Abort) { // printf("\nDevice Request Handler!!\n"); RaiseIRQL(); bD13flags.bits.DCP_state = 0x00; DeviceRequest_Handler(); LowerIRQL(); } // Device Request Handler usleep(1); } return 0; } //-------------------------------------------------------------------------