
#ifndef __USB_CONF_H
#define __USB_CONF_H

#define EP_NUM     (4)

/*-------------------------------------------------------------*/
/* --------------   Buffer Description Table  -----------------*/
/*-------------------------------------------------------------*/
// buffer table base address
#define BTABLE_ADDRESS      (0x00)

// - Achtung
//   - die ersten 0x40 Wörter von BTABLE besser nicht verwenden,
//     da dort die Adressen/Länge der 8 Endpoint liegen
//     (8*0x10 = 0x80 Byte = 0x40Wörter)
//

// rx/tx buffer base address
#define ENDP0_RXADDR        (0x040)
#define ENDP0_TXADDR        (0x080)

// EP3
// rtx buffer base address
#define ENDP3_TXADDR1       (0x180)
#define ENDP3_TXADDR2       (0x1c0)


/*-------------------------------------------------------------*/
/* -------------------   ISTR events  -------------------------*/
/*-------------------------------------------------------------*/
/* IMR_MSK */
/* mask defining which events has to be handled */
/* by the device application software */
#define IMR_MSK (CNTR_CTRM  | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM  | CNTR_SOFM \
                 | CNTR_ESOFM | CNTR_RESETM )

/* CTR service routines */
/* associated to defined endpoints */
#define  EP1_OUT_Callback   NOP_Process
#define  EP2_OUT_Callback   NOP_Process
#define  EP3_OUT_Callback   NOP_Process
#define  EP4_OUT_Callback   NOP_Process
#define  EP5_OUT_Callback   NOP_Process
#define  EP6_OUT_Callback   NOP_Process
#define  EP7_OUT_Callback   NOP_Process

#define  EP1_IN_Callback   NOP_Process
#define  EP2_IN_Callback   NOP_Process
// #define  EP3_IN_Callback   NOP_Process
#define  EP4_IN_Callback   NOP_Process
#define  EP5_IN_Callback   NOP_Process
#define  EP6_IN_Callback   NOP_Process
#define  EP7_IN_Callback   NOP_Process

#endif /*__USB_CONF_H*/
