aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Code_Composer/twine_usblib/usb_serial_adapter.h
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Code_Composer/twine_usblib/usb_serial_adapter.h')
-rw-r--r--Software/Code_Composer/twine_usblib/usb_serial_adapter.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/Software/Code_Composer/twine_usblib/usb_serial_adapter.h b/Software/Code_Composer/twine_usblib/usb_serial_adapter.h
new file mode 100644
index 000000000..0e630f627
--- /dev/null
+++ b/Software/Code_Composer/twine_usblib/usb_serial_adapter.h
@@ -0,0 +1,70 @@
+#include <stdbool.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include "inc/hw_ints.h"
+#include "inc/hw_memmap.h"
+#include "inc/hw_types.h"
+#include "inc/hw_uart.h"
+#include "driverlib/debug.h"
+#include "driverlib/gpio.h"
+#include "driverlib/interrupt.h"
+#include "driverlib/sysctl.h"
+#include "driverlib/systick.h"
+#include "driverlib/timer.h"
+#include "driverlib/uart.h"
+#include "driverlib/usb.h"
+#include "driverlib/rom.h"
+#include "driverlib/rom_map.h"
+#include "usblib/usblib.h"
+#include "usblib/usbcdc.h"
+#include "usblib/usb-ids.h"
+#include "usblib/device/usbdevice.h"
+#include "usblib/device/usbdcdc.h"
+//#include <ti/sysbios/knl/Task.h>
+#include "utils/ustdlib.h"
+#include "usb_serial_structs.h"
+
+//*****************************************************************************
+//
+// The system tick rate expressed both as ticks per second and a millisecond
+// period.
+//
+//*****************************************************************************
+#define TICKS_PER_SECOND 100
+
+//*****************************************************************************
+//
+// Variables tracking transmit and receive counts.
+//
+//*****************************************************************************
+static volatile uint32_t g_RxCount;
+
+#ifdef DEBUG
+uint32_t g_ui32UARTRxErrors;
+#endif
+
+//*****************************************************************************
+//
+// Flags used to pass commands from interrupt context to the main loop.
+//
+//*****************************************************************************
+#define FLAG_STATUS_UPDATE 0
+#define FLAG_USB_CONFIGURED 1
+#define FLAG_SENDING_BREAK 2
+static volatile uint32_t g_ui32Flags;
+
+static void (*callback)(char* buffer, size_t length);
+
+//*****************************************************************************
+//
+// Internal function prototypes.
+//
+//*****************************************************************************
+static void CheckForSerialStateChange(const tUSBDCDCDevice *psDevice, uint32_t ui32Errors);
+static void SetControlLineState(uint16_t ui16State);
+static void GetLineCoding(tLineCoding *psLineCoding);
+static void handleRx(void);
+void StartUSB(uint32_t ui32SysClock);
+void InitUSB(void);
+uint32_t SendChars(char* buffer,size_t length);
+void RegisterReceiveCallback(void (*callback_ptr)(char* buffer, size_t length));