aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/usb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/usb.h')
-rw-r--r--src/lib/usb.h21
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"