From 8181a0c905a591caef684a2d7487feedbec84c10 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Mon, 27 Aug 2007 16:04:32 +0000 Subject: Usb Stack: only setup packet handling, and not enabled by default as there is a lot to do. * settings code is not fully ready -> changing device driver has no effect * clean ups * check copyriths * find a way to detect IN transfers * support for full and highspeed * ... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14470 a1c6a512-1295-4272-9138-f99709370657 --- apps/lang/english.lang | 70 ++++++++++++++++++++++++++++++++++++ apps/main.c | 9 ++++- apps/menus/settings_menu.c | 89 +++++++++++++++++++++++++++++++++++++++++++++- apps/settings.c | 10 ++++-- apps/settings.h | 4 +++ apps/settings_list.c | 11 ++++++ 6 files changed, 189 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/lang/english.lang b/apps/lang/english.lang index adc3041..2503fa5 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -11156,3 +11156,73 @@ recording: "" + + id: LANG_USBSTACK + desc: in settings_menu + user: + + *: "USB Stack" + + + *: "USB Stack" + + + *: "USB Stack" + + + + id: LANG_USBSTACK_MODE + desc: in usbstack settings + user: + + *: "USB Stack Mode" + + + *: "USB Stack Mode" + + + *: "USB Stack Mode" + + + + id: LANG_USBSTACK_DEVICE + desc: in usbstack settings + user: + + *: "Device" + + + *: "Device" + + + *: "Device" + + + + id: LANG_USBSTACK_HOST + desc: in usbstack settings + user: + + *: "Host" + + + *: "Host" + + + *: "Host" + + + + id: LANG_USBSTACK_DEVICE_DRIVER + desc: in usbstack settings + user: + + *: "Device Driver" + + + *: "Device Driver" + + + *: "Device Driver" + + \ No newline at end of file diff --git a/apps/main.c b/apps/main.c index df25084..54787d6 100644 --- a/apps/main.c +++ b/apps/main.c @@ -99,6 +99,10 @@ #include "lcd-remote.h" #endif +#ifdef HAVE_USBSTACK +#include "usbstack.h" +#endif + #if CONFIG_USBOTG == USBOTG_ISP1362 #include "isp1362.h" #endif @@ -373,7 +377,10 @@ static void init(void) #endif adc_init(); - + +#ifdef HAVE_USBSTACK + usb_stack_init(); +#endif usb_init(); #if CONFIG_USBOTG == USBOTG_ISP1362 isp1362_init(); diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 0399498..5c97ac2 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -42,6 +42,13 @@ #include "radio.h" #endif +#ifdef HAVE_USBSTACK +#include "list.h" +#include "usbstack.h" +#include "statusbar.h" +#include "misc.h" +#endif + /***********************************/ /* TAGCACHE MENU */ #ifdef HAVE_TAGCACHE @@ -442,6 +449,82 @@ MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, Icon_Voice, /* VOICE MENU */ /***********************************/ +#ifdef HAVE_USBSTACK +/***********************************/ +/* USB STACK MENU */ +char drivers[16][32]; +static char* usb_menu_getname(int item, void * data, char *buffer) +{ + (void)data; (void)buffer; + return drivers[item]; +} +int usbdriver_menuitem(void) +{ + struct gui_synclist lists; + int action, count = 0; + char *s = device_driver_names, *e; + do { + e = strchr(s, ','); + if (e) + { + strncpy(drivers[count++], s, e-s); + s = e+1; + } + } while (e && count < 16); + if (count < 16) + strcpy(drivers[count++], s); + for (action=0; action