Clean up the code. Manage the reconnection. Use the lwip error, insted
[bertos.git] / bertos / drv / usbkbd.c
index 24608770c91fbad5ff168de67239254e5d9274a8..bdacc41c2c3549d1ad8b585254fb26ac3e12901a 100644 (file)
@@ -36,6 +36,9 @@
  *
  */
 
+#include "usb_hid.h"
+#include "usbkbd.h"
+
 #include "cfg/cfg_usbkbd.h"
 
 #define LOG_LEVEL  USB_KEYBOARD_LOG_LEVEL
 #include <cpu/power.h> // cpu_relax()
 
 #include <drv/usb.h>
+#include <drv/usb_endpoint.h>
 
-#include "drv/usb_hid.h"
-#include "drv/usbkbd.h"
 
 /*
  * HID device configuration (usb-keyboard)
  */
-#define USB_HID_VENDOR_ID      0xffff /* custom */
-#define USB_HID_PRODUCT_ID     0x0000
+#define USB_HID_VENDOR_ID      USB_KEYBOARD_VENDOR_ID
+#define USB_HID_PRODUCT_ID     USB_KEYBOARD_PRODUCT_ID
 
 #define USB_HID_INTERFACES     1
 #define USB_HID_ENDPOINTS      1
@@ -66,7 +68,7 @@
 #define USB_STRING_MANUFACTURER 1
 #define USB_STRING_PRODUCT     2
 
-#define USB_HID_REPORT_EP      (USB_DIR_IN | 1)
+#define USB_HID_REPORT_EP      (USB_DIR_IN | USB_KBD_EP_REPORT)
 
 static UsbDeviceDesc usb_hid_device_descriptor =
 {
@@ -182,18 +184,18 @@ static const UsbDescHeader *usb_hid_config[] =
        NULL,
 };
 
-static DEFINE_USB_STRING(language_str, "\x09\x04"); // Language ID: en_US
-static DEFINE_USB_STRING(manufacturer_str,
+static const DEFINE_USB_STRING(language_str, "\x09\x04"); // Language ID: en_US
+static const DEFINE_USB_STRING(manufacturer_str,
                USB_STRING("B", "e", "R", "T", "O", "S"));
-static DEFINE_USB_STRING(product_str,
+static const DEFINE_USB_STRING(product_str,
                USB_STRING("U", "S", "B", " ",
                                "K", "e", "y", "b", "o", "a", "r", "d"));
 
 static const UsbStringDesc *usb_hid_strings[] =
 {
-       (UsbStringDesc *)&language_str,
-       (UsbStringDesc *)&manufacturer_str,
-       (UsbStringDesc *)&product_str,
+       (const UsbStringDesc *)&language_str,
+       (const UsbStringDesc *)&manufacturer_str,
+       (const UsbStringDesc *)&product_str,
        NULL,
 };