00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00030 #ifndef USBJT_H
00031 #define USBJT_H
00032
00033 #include "fx2regs.h"
00034
00035
00036
00037
00038 extern volatile BYTE INT2JT;
00040 #define USE_USB_INTS() {BYTE dummy=INT2JT;\
00041 EUSB=1;\
00042 INTSETUP|=bmAV2EN;}
00044 #define USE_GPIF_INTS() {BYTE dummy=INT2JT;\
00045 EIEX4=1;\
00046 INTSETUP|=bmAV4EN|INT4IN;}
00047
00048
00049
00050 #define CLEAR_USBINT() EXIF &= ~0x10
00051 #define CLEAR_GPIF() EXIF &= ~0x40
00052
00053 #define ENABLE_SUDAV() USBIE|=bmSUDAV
00054 #define CLEAR_SUDAV() CLEAR_USBINT(); USBIRQ=bmSUDAV
00055
00056 #define ENABLE_SOF() USBIE|=bmSOF
00057 #define CLEAR_SOF() CLEAR_USBINT(); USBIRQ=bmSOF
00058
00059 #define ENABLE_SUSPEND() USBIE|=bmSUSP
00060 #define CLEAR_SUSPEND() CLEAR_USBINT(); USBIRQ=bmSUSP
00061
00062 #define ENABLE_USBRESET() USBIE|= bmURES
00063 #define CLEAR_USBRESET() CLEAR_USBINT(); USBIRQ=bmURES
00064
00065 #define ENABLE_HISPEED() USBIE|=bmHSGRANT
00066 #define CLEAR_HISPEED() CLEAR_USBINT(); USBIRQ=bmHSGRANT
00067
00068 #define ENABLE_EP1IN() EPIE|=bmEP1IN;
00069 #define CLEAR_EP1IN() CLEAR_USBINT(); EPIRQ=bmEP1IN
00070
00071 #define ENABLE_EP2() EPIE|=bmEP2;
00072 #define CLEAR_EP2() CLEAR_USBINT(); EPIRQ=bmEP2;
00073
00074 #define ENABLE_EP6() EPIE|=bmEP6;
00075 #define CLEAR_EP6() CLEAR_USBINT(); EPIRQ=bmEP6;
00076
00077 #define ENABLE_EP2ISOERR() USBERRIE |= bmISOEP2;
00078 #define CLEAR_EP2ISOERR() CLEAR_USBINT(); USBERRIRQ = bmISOEP2
00079
00080
00081 #define ENABLE_GPIFDONE() GPIFIE |= 0x01;
00082 #define CLEAR_GPIFDONE() CLEAR_GPIF(); GPIFIRQ = 0x01;
00083
00084 #define ENABLE_GPIFWF() GPIFIE |= 0x02;
00085 #define CLEAR_GPIFWF() GLEAR_GPIF(); GPIFIRQ = 0x02;
00086
00093 typedef enum {
00094 SUDAV_ISR=13,
00095 SOF_ISR,
00096 SUTOK_ISR,
00097 SUSPEND_ISR,
00098 USBRESET_ISR,
00099 HISPEED_ISR,
00100 EP0ACK_ISR,
00101 EP0IN_ISR,
00102 EP0OUT_ISR,
00103 EP1IN_ISR,
00104 EP1OUT_ISR,
00105 EP2_ISR,
00106 EP4_ISR,
00107 EP6_ISR,
00108 EP8_ISR,
00109 IBN_ISR,
00110 EP0PING_ISR,
00111 EP1PING_ISR,
00112 EP2PING_ISR,
00113 EP4PING_ISR,
00114 EP6PING_ISR,
00115 EP8PING_ISR,
00116 ERRLIMIT_ISR,
00117 EP2ISOERR_ISR,
00118 EP4ISOERR_ISR,
00119 EP6ISOERR_ISR,
00120 EP8ISOERR_ISR,
00121 RESERVED_ISR,
00122 EP2PF_ISR,
00123 EP4PF_ISR,
00124 EP6PF_ISR,
00125 EP8PF_ISR,
00126 EP2EF_ISR,
00127 EP4EF_ISR,
00128 EP6EF_ISR,
00129 EP8EF_ISR,
00130 EP2FF_ISR,
00131 EP4FF_ISR,
00132 EP6FF_ISR,
00133 EP8FF_ISR,
00134 GPIFDONE_ISR,
00135 GPIFWF_ISR
00136 } USB_ISR;
00137
00138
00139
00140
00141 void sudav_isr() interrupt SUDAV_ISR;
00142 void sof_isr() interrupt SOF_ISR;
00143 void sutok_isr() interrupt SUTOK_ISR;
00144 void suspend_isr() interrupt SUSPEND_ISR;
00145 void usbreset_isr() interrupt USBRESET_ISR;
00146 void hispeed_isr() interrupt HISPEED_ISR;
00147 void ep0ack_isr() interrupt EP0ACK_ISR;
00148 void ep0in_isr() interrupt EP0IN_ISR;
00149 void ep0out_isr() interrupt EP0OUT_ISR;
00150 void ep1in_isr() interrupt EP1IN_ISR;
00151 void ep1out_isr() interrupt EP1OUT_ISR;
00152 void ep2_isr() interrupt EP2_ISR;
00153 void ep4_isr() interrupt EP4_ISR;
00154 void ep6_isr() interrupt EP6_ISR;
00155 void ep8_isr() interrupt EP8_ISR;
00156 void ibn_isr() interrupt IBN_ISR;
00157 void ep0ping_isr() interrupt EP0PING_ISR;
00158 void ep1ping_isr() interrupt EP1PING_ISR;
00159 void ep2ping_isr() interrupt EP2PING_ISR;
00160 void ep4ping_isr() interrupt EP4PING_ISR;
00161 void ep6ping_isr() interrupt EP6PING_ISR;
00162 void ep8ping_isr() interrupt EP8PING_ISR;
00163 void errlimit_isr() interrupt ERRLIMIT_ISR;
00164 void ep2isoerr_isr() interrupt EP2ISOERR_ISR;
00165 void ep4isoerr_isr() interrupt EP4ISOERR_ISR;
00166 void ep6isoerr_isr() interrupt EP6ISOERR_ISR;
00167 void ep8isoerr_isr() interrupt EP8ISOERR_ISR;
00168 void spare_isr() interrupt RESERVED_ISR;
00169
00170 void ep2pf_isr() interrupt EP2PF_ISR;
00171 void ep4pf_isr() interrupt EP4PF_ISR;
00172 void ep6pf_isr() interrupt EP6PF_ISR;
00173 void ep8pf_isr() interrupt EP8PF_ISR;
00174 void ep2ef_isr() interrupt EP2EF_ISR;
00175 void ep4ef_isr() interrupt EP4EF_ISR;
00176 void ep6ef_isr() interrupt EP6EF_ISR;
00177 void ep8ef_isr() interrupt EP8EF_ISR;
00178 void ep2ff_isr() interrupt EP2FF_ISR;
00179 void ep4ff_isr() interrupt EP4FF_ISR;
00180 void ep6ff_isr() interrupt EP6FF_ISR;
00181 void ep8ff_isr() interrupt EP8FF_ISR;
00182 void gpifdone_isr() interrupt GPIFDONE_ISR;
00183 void gpifwf_isr() interrupt GPIFWF_ISR;
00184
00185
00186
00187
00188
00235 #endif
00236