diff options
Diffstat (limited to 'Software/Code_Composer/twine_usblib/usb_serial_adapter.h')
| -rw-r--r-- | Software/Code_Composer/twine_usblib/usb_serial_adapter.h | 70 |
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)); |
