summaryrefslogtreecommitdiff
path: root/boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2014-06-29 12:34:32 +0300
committerYuval Adam <yuv.adm@gmail.com>2014-06-29 12:34:32 +0300
commitc3e4c9a25c2910d2d66d52215b3406b13d5b23d5 (patch)
treeadded370d1e356901f8579f076e3263fb0464db7 /boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c
parent990090a4cc9070837d31e66b58d40f0c3d038741 (diff)
Add more board models
Diffstat (limited to 'boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c')
-rw-r--r--boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c148
1 files changed, 148 insertions, 0 deletions
diff --git a/boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c b/boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c
new file mode 100644
index 0000000..94e2e21
--- /dev/null
+++ b/boards/dk-tm4c129x/usb_dev_keyboard/usb_keyb_structs.c
@@ -0,0 +1,148 @@
+//*****************************************************************************
+//
+// usb_keyb_structs.c - Data structures defining the USB keyboard device.
+//
+// Copyright (c) 2013-2014 Texas Instruments Incorporated. All rights reserved.
+// Software License Agreement
+//
+// Texas Instruments (TI) is supplying this software for use solely and
+// exclusively on TI's microcontroller products. The software is owned by
+// TI and/or its suppliers, and is protected under applicable copyright
+// laws. You may not combine this software with "viral" open-source
+// software in order to form a larger program.
+//
+// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
+// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
+// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
+// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
+// DAMAGES, FOR ANY REASON WHATSOEVER.
+//
+// This is part of revision 2.1.0.12573 of the DK-TM4C129X Firmware Package.
+//
+//*****************************************************************************
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "driverlib/usb.h"
+#include "usblib/usblib.h"
+#include "usblib/usbhid.h"
+#include "usblib/usb-ids.h"
+#include "usblib/device/usbdevice.h"
+#include "usblib/device/usbdhid.h"
+#include "usblib/device/usbdhidkeyb.h"
+#include "usb_keyb_structs.h"
+
+//****************************************************************************
+//
+// The languages supported by this device.
+//
+//****************************************************************************
+const uint8_t g_pui8LangDescriptor[] =
+{
+ 4,
+ USB_DTYPE_STRING,
+ USBShort(USB_LANG_EN_US)
+};
+
+//****************************************************************************
+//
+// The manufacturer string.
+//
+//****************************************************************************
+const uint8_t g_pui8ManufacturerString[] =
+{
+ (17 + 1) * 2,
+ USB_DTYPE_STRING,
+ 'T', 0, 'e', 0, 'x', 0, 'a', 0, 's', 0, ' ', 0, 'I', 0, 'n', 0, 's', 0,
+ 't', 0, 'r', 0, 'u', 0, 'm', 0, 'e', 0, 'n', 0, 't', 0, 's', 0,
+};
+
+//****************************************************************************
+//
+// The product string.
+//
+//****************************************************************************
+const uint8_t g_pui8ProductString[] =
+{
+ (16 + 1) * 2,
+ USB_DTYPE_STRING,
+ 'K', 0, 'e', 0, 'y', 0, 'b', 0, 'o', 0, 'a', 0, 'r', 0, 'd', 0, ' ', 0,
+ 'E', 0, 'x', 0, 'a', 0, 'm', 0, 'p', 0, 'l', 0, 'e', 0
+};
+
+//****************************************************************************
+//
+// The serial number string.
+//
+//****************************************************************************
+const uint8_t g_pui8SeriailNumberString[] =
+{
+ (8 + 1) * 2,
+ USB_DTYPE_STRING,
+ '1', 0, '2', 0, '3', 0, '4', 0, '5', 0, '6', 0, '7', 0, '8', 0
+};
+
+//*****************************************************************************
+//
+// The interface description string.
+//
+//*****************************************************************************
+const uint8_t g_pui8HIDInterfaceString[] =
+{
+ (22 + 1) * 2,
+ USB_DTYPE_STRING,
+ 'H', 0, 'I', 0, 'D', 0, ' ', 0, 'K', 0, 'e', 0, 'y', 0, 'b', 0,
+ 'o', 0, 'a', 0, 'r', 0, 'd', 0, ' ', 0, 'I', 0, 'n', 0, 't', 0,
+ 'e', 0, 'r', 0, 'f', 0, 'a', 0, 'c', 0, 'e', 0
+};
+
+//*****************************************************************************
+//
+// The configuration description string.
+//
+//*****************************************************************************
+const uint8_t g_pui8ConfigString[] =
+{
+ (26 + 1) * 2,
+ USB_DTYPE_STRING,
+ 'H', 0, 'I', 0, 'D', 0, ' ', 0, 'K', 0, 'e', 0, 'y', 0, 'b', 0,
+ 'o', 0, 'a', 0, 'r', 0, 'd', 0, ' ', 0, 'C', 0, 'o', 0, 'n', 0,
+ 'f', 0, 'i', 0, 'g', 0, 'u', 0, 'r', 0, 'a', 0, 't', 0, 'i', 0,
+ 'o', 0, 'n', 0
+};
+
+//*****************************************************************************
+//
+// The descriptor string table.
+//
+//*****************************************************************************
+const uint8_t * const g_ppui8StringDescriptors[] =
+{
+ g_pui8LangDescriptor,
+ g_pui8ManufacturerString,
+ g_pui8ProductString,
+ g_pui8SeriailNumberString,
+ g_pui8HIDInterfaceString,
+ g_pui8ConfigString
+};
+
+#define NUM_STRING_DESCRIPTORS (sizeof(g_ppui8StringDescriptors) / \
+ sizeof(uint8_t *))
+
+//*****************************************************************************
+//
+// The HID keyboard device initialization and customization structures.
+//
+//*****************************************************************************
+tUSBDHIDKeyboardDevice g_sKeyboardDevice =
+{
+ USB_VID_TI_1CBE,
+ USB_PID_KEYBOARD,
+ 500,
+ USB_CONF_ATTR_SELF_PWR | USB_CONF_ATTR_RWAKE,
+ KeyboardHandler,
+ (void *)&g_sKeyboardDevice,
+ g_ppui8StringDescriptors,
+ NUM_STRING_DESCRIPTORS
+};