include/usbjt.h File Reference

#include "fx2regs.h"

Go to the source code of this file.

Defines

#define USE_USB_INTS()
 enable all interrupts (EA=1) separate from this macro
#define USE_GPIF_INTS()
 don't use this if you want external pin generated int4 interrupts
#define CLEAR_USBINT()   EXIF &= ~0x10
#define CLEAR_GPIF()   EXIF &= ~0x40
#define ENABLE_SUDAV()   USBIE|=bmSUDAV
#define CLEAR_SUDAV()   CLEAR_USBINT(); USBIRQ=bmSUDAV
#define ENABLE_SOF()   USBIE|=bmSOF
#define CLEAR_SOF()   CLEAR_USBINT(); USBIRQ=bmSOF
#define ENABLE_SUSPEND()   USBIE|=bmSUSP
#define CLEAR_SUSPEND()   CLEAR_USBINT(); USBIRQ=bmSUSP
#define ENABLE_USBRESET()   USBIE|= bmURES
#define CLEAR_USBRESET()   CLEAR_USBINT(); USBIRQ=bmURES
#define ENABLE_HISPEED()   USBIE|=bmHSGRANT
#define CLEAR_HISPEED()   CLEAR_USBINT(); USBIRQ=bmHSGRANT
#define ENABLE_EP1IN()   EPIE|=bmEP1IN;
#define CLEAR_EP1IN()   CLEAR_USBINT(); EPIRQ=bmEP1IN
#define ENABLE_EP2()   EPIE|=bmEP2;
#define CLEAR_EP2()   CLEAR_USBINT(); EPIRQ=bmEP2;
#define ENABLE_EP6()   EPIE|=bmEP6;
#define CLEAR_EP6()   CLEAR_USBINT(); EPIRQ=bmEP6;
#define ENABLE_EP2ISOERR()   USBERRIE |= bmISOEP2;
#define CLEAR_EP2ISOERR()   CLEAR_USBINT(); USBERRIRQ = bmISOEP2
#define ENABLE_GPIFDONE()   GPIFIE |= 0x01;
#define CLEAR_GPIFDONE()   CLEAR_GPIF(); GPIFIRQ = 0x01;
#define ENABLE_GPIFWF()   GPIFIE |= 0x02;
#define CLEAR_GPIFWF()   GLEAR_GPIF(); GPIFIRQ = 0x02;

Enumerations

enum  USB_ISR {
  SUDAV_ISR = 13, SOF_ISR, SUTOK_ISR, SUSPEND_ISR,
  USBRESET_ISR, HISPEED_ISR, EP0ACK_ISR, EP0IN_ISR,
  EP0OUT_ISR, EP1IN_ISR, EP1OUT_ISR, EP2_ISR,
  EP4_ISR, EP6_ISR, EP8_ISR, IBN_ISR,
  EP0PING_ISR, EP1PING_ISR, EP2PING_ISR, EP4PING_ISR,
  EP6PING_ISR, EP8PING_ISR, ERRLIMIT_ISR, EP2ISOERR_ISR,
  EP4ISOERR_ISR, EP6ISOERR_ISR, EP8ISOERR_ISR, RESERVED_ISR,
  EP2PF_ISR, EP4PF_ISR, EP6PF_ISR, EP8PF_ISR,
  EP2EF_ISR, EP4EF_ISR, EP6EF_ISR, EP8EF_ISR,
  EP2FF_ISR, EP4FF_ISR, EP6FF_ISR, EP8FF_ISR,
  GPIFDONE_ISR, GPIFWF_ISR
}

Functions

void sudav_isr () interrupt SUDAV_ISR
void sof_isr () interrupt SOF_ISR
void sutok_isr () interrupt SUTOK_ISR
void suspend_isr () interrupt SUSPEND_ISR
void usbreset_isr () interrupt USBRESET_ISR
void hispeed_isr () interrupt HISPEED_ISR
void ep0ack_isr () interrupt EP0ACK_ISR
void ep0in_isr () interrupt EP0IN_ISR
void ep0out_isr () interrupt EP0OUT_ISR
void ep1in_isr () interrupt EP1IN_ISR
void ep1out_isr () interrupt EP1OUT_ISR
void ep2_isr () interrupt EP2_ISR
void ep4_isr () interrupt EP4_ISR
void ep6_isr () interrupt EP6_ISR
void ep8_isr () interrupt EP8_ISR
void ibn_isr () interrupt IBN_ISR
void ep0ping_isr () interrupt EP0PING_ISR
void ep1ping_isr () interrupt EP1PING_ISR
void ep2ping_isr () interrupt EP2PING_ISR
void ep4ping_isr () interrupt EP4PING_ISR
void ep6ping_isr () interrupt EP6PING_ISR
void ep8ping_isr () interrupt EP8PING_ISR
void errlimit_isr () interrupt ERRLIMIT_ISR
void ep2isoerr_isr () interrupt EP2ISOERR_ISR
void ep4isoerr_isr () interrupt EP4ISOERR_ISR
void ep6isoerr_isr () interrupt EP6ISOERR_ISR
void ep8isoerr_isr () interrupt EP8ISOERR_ISR
void spare_isr () interrupt RESERVED_ISR
void ep2pf_isr () interrupt EP2PF_ISR
void ep4pf_isr () interrupt EP4PF_ISR
void ep6pf_isr () interrupt EP6PF_ISR
void ep8pf_isr () interrupt EP8PF_ISR
void ep2ef_isr () interrupt EP2EF_ISR
void ep4ef_isr () interrupt EP4EF_ISR
void ep6ef_isr () interrupt EP6EF_ISR
void ep8ef_isr () interrupt EP8EF_ISR
void ep2ff_isr () interrupt EP2FF_ISR
void ep4ff_isr () interrupt EP4FF_ISR
void ep6ff_isr () interrupt EP6FF_ISR
void ep8ff_isr () interrupt EP8FF_ISR
void gpifdone_isr () interrupt GPIFDONE_ISR
void gpifwf_isr () interrupt GPIFWF_ISR

Variables

volatile BYTE INT2JT


Detailed Description

To use usbjt, you must tell the linker where to put the IN2JT. It must lie on a page boundary or your interrupts won't work right.

example: -Wl"-b INT2JT = 0x1A00"

Make sure that INT2JT doesn't overlap your other stuff!

Definition in file usbjt.h.


Define Documentation

 
#define CLEAR_EP1IN (  )     CLEAR_USBINT(); EPIRQ=bmEP1IN

Definition at line 69 of file usbjt.h.

 
#define CLEAR_EP2 (  )     CLEAR_USBINT(); EPIRQ=bmEP2;

Definition at line 72 of file usbjt.h.

 
#define CLEAR_EP2ISOERR (  )     CLEAR_USBINT(); USBERRIRQ = bmISOEP2

Definition at line 78 of file usbjt.h.

 
#define CLEAR_EP6 (  )     CLEAR_USBINT(); EPIRQ=bmEP6;

Definition at line 75 of file usbjt.h.

 
#define CLEAR_GPIF (  )     EXIF &= ~0x40

Definition at line 51 of file usbjt.h.

 
#define CLEAR_GPIFDONE (  )     CLEAR_GPIF(); GPIFIRQ = 0x01;

Definition at line 82 of file usbjt.h.

 
#define CLEAR_GPIFWF (  )     GLEAR_GPIF(); GPIFIRQ = 0x02;

Definition at line 85 of file usbjt.h.

 
#define CLEAR_HISPEED (  )     CLEAR_USBINT(); USBIRQ=bmHSGRANT

Definition at line 66 of file usbjt.h.

 
#define CLEAR_SOF (  )     CLEAR_USBINT(); USBIRQ=bmSOF

Definition at line 57 of file usbjt.h.

 
#define CLEAR_SUDAV (  )     CLEAR_USBINT(); USBIRQ=bmSUDAV

Definition at line 54 of file usbjt.h.

 
#define CLEAR_SUSPEND (  )     CLEAR_USBINT(); USBIRQ=bmSUSP

Definition at line 60 of file usbjt.h.

 
#define CLEAR_USBINT (  )     EXIF &= ~0x10

Definition at line 50 of file usbjt.h.

 
#define CLEAR_USBRESET (  )     CLEAR_USBINT(); USBIRQ=bmURES

Definition at line 63 of file usbjt.h.

 
#define ENABLE_EP1IN (  )     EPIE|=bmEP1IN;

Definition at line 68 of file usbjt.h.

 
#define ENABLE_EP2 (  )     EPIE|=bmEP2;

Definition at line 71 of file usbjt.h.

 
#define ENABLE_EP2ISOERR (  )     USBERRIE |= bmISOEP2;

Definition at line 77 of file usbjt.h.

 
#define ENABLE_EP6 (  )     EPIE|=bmEP6;

Definition at line 74 of file usbjt.h.

 
#define ENABLE_GPIFDONE (  )     GPIFIE |= 0x01;

Definition at line 81 of file usbjt.h.

 
#define ENABLE_GPIFWF (  )     GPIFIE |= 0x02;

Definition at line 84 of file usbjt.h.

 
#define ENABLE_HISPEED (  )     USBIE|=bmHSGRANT

Definition at line 65 of file usbjt.h.

 
#define ENABLE_SOF (  )     USBIE|=bmSOF

Definition at line 56 of file usbjt.h.

 
#define ENABLE_SUDAV (  )     USBIE|=bmSUDAV

Definition at line 53 of file usbjt.h.

 
#define ENABLE_SUSPEND (  )     USBIE|=bmSUSP

Definition at line 59 of file usbjt.h.

 
#define ENABLE_USBRESET (  )     USBIE|= bmURES

Definition at line 62 of file usbjt.h.

 
#define USE_GPIF_INTS (  ) 

Value:

don't use this if you want external pin generated int4 interrupts

Definition at line 44 of file usbjt.h.

 
#define USE_USB_INTS (  ) 

Value:

{BYTE dummy=INT2JT;\
                        EUSB=1;\
                        INTSETUP|=bmAV2EN;}
enable all interrupts (EA=1) separate from this macro

Definition at line 40 of file usbjt.h.


Enumeration Type Documentation

enum USB_ISR

ez-usb has 12 built in ISRs, to get sdcc to put these USB ISRs immediately after the other ISRs (and not waste space) we start at 13

Enumerator:
SUDAV_ISR 
SOF_ISR 
SUTOK_ISR 
SUSPEND_ISR 
USBRESET_ISR 
HISPEED_ISR 
EP0ACK_ISR 
EP0IN_ISR 
EP0OUT_ISR 
EP1IN_ISR 
EP1OUT_ISR 
EP2_ISR 
EP4_ISR 
EP6_ISR 
EP8_ISR 
IBN_ISR 
EP0PING_ISR 
EP1PING_ISR 
EP2PING_ISR 
EP4PING_ISR 
EP6PING_ISR 
EP8PING_ISR 
ERRLIMIT_ISR 
EP2ISOERR_ISR 
EP4ISOERR_ISR 
EP6ISOERR_ISR 
EP8ISOERR_ISR 
RESERVED_ISR 
EP2PF_ISR 
EP4PF_ISR 
EP6PF_ISR 
EP8PF_ISR 
EP2EF_ISR 
EP4EF_ISR 
EP6EF_ISR 
EP8EF_ISR 
EP2FF_ISR 
EP4FF_ISR 
EP6FF_ISR 
EP8FF_ISR 
GPIFDONE_ISR 
GPIFWF_ISR 

Definition at line 93 of file usbjt.h.


Function Documentation

void ep0ack_isr (  ) 

void ep0in_isr (  ) 

void ep0out_isr (  ) 

void ep0ping_isr (  ) 

void ep1in_isr (  ) 

void ep1out_isr (  ) 

void ep1ping_isr (  ) 

void ep2_isr (  ) 

void ep2ef_isr (  ) 

void ep2ff_isr (  ) 

void ep2isoerr_isr (  ) 

void ep2pf_isr (  ) 

void ep2ping_isr (  ) 

void ep4_isr (  ) 

void ep4ef_isr (  ) 

void ep4ff_isr (  ) 

void ep4isoerr_isr (  ) 

void ep4pf_isr (  ) 

void ep4ping_isr (  ) 

void ep6_isr (  ) 

void ep6ef_isr (  ) 

void ep6ff_isr (  ) 

void ep6isoerr_isr (  ) 

void ep6pf_isr (  ) 

void ep6ping_isr (  ) 

void ep8_isr (  ) 

void ep8ef_isr (  ) 

void ep8ff_isr (  ) 

void ep8isoerr_isr (  ) 

void ep8pf_isr (  ) 

void ep8ping_isr (  ) 

void errlimit_isr (  ) 

void gpifdone_isr (  ) 

void gpifwf_isr (  ) 

void hispeed_isr (  ) 

void ibn_isr (  ) 

void sof_isr (  ) 

void spare_isr (  ) 

void sudav_isr (  ) 

void suspend_isr (  ) 

void sutok_isr (  ) 

void usbreset_isr (  ) 


Variable Documentation

volatile BYTE INT2JT


Generated on Wed Feb 4 12:27:36 2009 for Fx2lib by  doxygen 1.5.7.1