diff options
Diffstat (limited to 'src/lib/usb.h')
-rw-r--r-- | src/lib/usb.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/lib/usb.h b/src/lib/usb.h index d057b1d..3a7e92b 100644 --- a/src/lib/usb.h +++ b/src/lib/usb.h @@ -17,11 +17,30 @@ extern "C" { #define USB_SERIAL_ENDP_RX ((uint16_t) 0x3) #define USB_SERIAL_BUF_SIZE (0x40) +#define BOOTLOADER_VECT_TABLE ((uint32_t*)0x20000000) + +typedef void (*FuncPtr)(void); + +typedef struct { + FuncPtr serial_tx_cb; + FuncPtr serial_rx_cb; + FuncPtr serial_linecoding_cb; + uint32_t* serial_count_in; + uint32_t* serial_count_out; + uint8_t* serial_buffer_out; + void* linecoding; + uint8_t major_rev; + uint8_t minor_rev; + void* usb_device_ptr; +} BootVectTable; + +extern BootVectTable* bootVect; + void usb_lpIRQHandler(void); void usb_userToPMABufferCopy(u8 *pbUsrBuf,u16 wPMABufAddr,u16 wNBytes); void usb_PMAToUserBufferCopy(u8 *pbUsrBuf,u16 wPMABufAddr,u16 wNBytes); void usb_serialWriteStr(const char *outStr); - +uint8_t usb_serialGetRecvLen(); #ifdef __cplusplus } // extern "C" |