diff --git a/Kconfig b/Kconfig index 98e33151..77e431dd 100644 --- a/Kconfig +++ b/Kconfig @@ -123,7 +123,6 @@ if CHERRYUSB prompt "Enable usb mtp device, it is commercial charge" default n - config CHERRYUSB_DEVICE_ADB bool prompt "Enable usb adb device" @@ -135,44 +134,75 @@ if CHERRYUSB default n choice - prompt "Select usb device template" + prompt "Select usb device template, please select class driver first" default CHERRYUSB_DEVICE_TEMPLATE_NONE config CHERRYUSB_DEVICE_TEMPLATE_NONE - bool "none (Implement it yourself)" + bool + prompt "none (Implement it yourself)" config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM - bool "cdc_acm" + bool + prompt "cdc_acm" + depends on CHERRYUSB_DEVICE_CDC_ACM config CHERRYUSB_DEVICE_TEMPLATE_MSC - bool "msc" + bool + prompt "msc_ram" + depends on CHERRYUSB_DEVICE_MSC config CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD - bool "hid_keyboard" + bool + prompt "hid_keyboard" + depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE - bool "hid_mouse" + bool + prompt "hid_mouse" + depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM - bool "hid_custom" + bool + prompt "hid_custom" + depends on CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_VIDEO - bool "video" + bool + prompt "video" + depends on CHERRYUSB_DEVICE_VIDEO config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER - bool "audio_v1_mic_speaker_multichan" + bool + prompt "audio_v1_mic_speaker_multichan" + depends on CHERRYUSB_DEVICE_AUDIO config CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER - bool "audio_v2_mic_speaker_multichan" + bool + prompt "audio_v2_mic_speaker_multichan" + depends on CHERRYUSB_DEVICE_AUDIO config CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS - bool "cdc_rndis" + bool + prompt "cdc_rndis" + depends on CHERRYUSB_DEVICE_CDC_RNDIS config CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM - bool "cdc_ecm" + bool + prompt "cdc_ecm" + depends on CHERRYUSB_DEVICE_CDC_ECM config CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM - bool "cdc_ncm" + bool + prompt "cdc_ncm" + depends on CHERRYUSB_DEVICE_CDC_NCM config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC - bool "cdc_acm_msc" + bool + prompt "cdc_acm_msc" + depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC config CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID - bool "cdc_acm_msc_hid" + bool + prompt "cdc_acm_msc_hid" + depends on CHERRYUSB_DEVICE_CDC_ACM && CHERRYUSB_DEVICE_MSC && CHERRYUSB_DEVICE_HID config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 - bool "winusbv1" + bool + prompt "winusbv1" config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC - bool "winusbv2_cdc" + bool + prompt "winusbv2_cdc" + depends on CHERRYUSB_DEVICE_CDC_ACM config CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID - bool "winusbv2_hid" + bool + prompt "winusbv2_hid" + depends on CHERRYUSB_DEVICE_HID endchoice - endif menuconfig CHERRYUSB_HOST @@ -335,12 +365,7 @@ if CHERRYUSB config USBHOST_PLATFORM_RTL8152 bool - config CHERRYUSB_HOST_TEMPLATE - bool - prompt "Use usb host template" - default n - - if CHERRYUSB_HOST_TEMPLATE + menu "Select USB host template, please select class driver first" config TEST_USBH_CDC_ACM int prompt "demo for test cdc acm" @@ -356,7 +381,6 @@ if CHERRYUSB prompt "demo for test msc" default 0 depends on CHERRYUSB_HOST_MSC - endif + endmenu endif - endif diff --git a/Kconfig.rtt b/Kconfig.rtt index 2d35b4ca..7cd13291 100644 --- a/Kconfig.rtt +++ b/Kconfig.rtt @@ -141,48 +141,86 @@ if RT_USING_CHERRYUSB default n choice - prompt "Select usb device template" + prompt "Select usb device template, please select class driver first" default RT_CHERRYUSB_DEVICE_TEMPLATE_NONE config RT_CHERRYUSB_DEVICE_TEMPLATE_NONE - bool "none (Implement it yourself)" + bool + prompt "none (Implement it yourself)" config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM - bool "cdc_acm" + bool + prompt "cdc_acm" + depends on RT_CHERRYUSB_DEVICE_CDC_ACM config RT_CHERRYUSB_DEVICE_TEMPLATE_MSC - bool "msc_ram" + bool + prompt "msc_ram" + depends on RT_CHERRYUSB_DEVICE_MSC config RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV - bool "msc_blkdev" + bool + prompt "msc_blkdev" + depends on RT_CHERRYUSB_DEVICE_MSC config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD - bool "hid_keyboard" + bool + prompt "hid_keyboard" + depends on RT_CHERRYUSB_DEVICE_HID config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE - bool "hid_mouse" + bool + prompt "hid_mouse" + depends on RT_CHERRYUSB_DEVICE_HID config RT_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM - bool "hid_custom" + bool + prompt "hid_custom" + depends on RT_CHERRYUSB_DEVICE_HID config RT_CHERRYUSB_DEVICE_TEMPLATE_VIDEO - bool "video" + bool + prompt "video" + depends on RT_CHERRYUSB_DEVICE_VIDEO config RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER - bool "audio_v1_mic_speaker_multichan" + bool + prompt "audio_v1_mic_speaker_multichan" + depends on RT_CHERRYUSB_DEVICE_AUDIO config RT_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER - bool "audio_v2_mic_speaker_multichan" + bool + prompt "audio_v2_mic_speaker_multichan" + depends on RT_CHERRYUSB_DEVICE_AUDIO config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS - bool "cdc_rndis" + bool + prompt "cdc_rndis" + depends on RT_CHERRYUSB_DEVICE_CDC_RNDIS config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM - bool "cdc_ecm" + bool + prompt "cdc_ecm" + depends on RT_CHERRYUSB_DEVICE_CDC_ECM config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM - bool "cdc_ncm" + bool + prompt "cdc_ncm" + depends on RT_CHERRYUSB_DEVICE_CDC_NCM config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC - bool "cdc_acm_msc" + bool + prompt "cdc_acm_msc" + depends on RT_CHERRYUSB_DEVICE_CDC_ACM && RT_CHERRYUSB_DEVICE_MSC config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID - bool "cdc_acm_msc_hid" + bool + prompt "cdc_acm_msc_hid" + depends on RT_CHERRYUSB_DEVICE_CDC_ACM && RT_CHERRYUSB_DEVICE_MSC && RT_CHERRYUSB_DEVICE_HID config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 - bool "winusbv1" + bool + prompt "winusbv1" config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC - bool "winusbv2_cdc" + bool + prompt "winusbv2_cdc" + depends on RT_CHERRYUSB_DEVICE_CDC_ACM config RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID - bool "winusbv2_hid" + bool + prompt "winusbv2_hid" + depends on RT_CHERRYUSB_DEVICE_HID config RT_CHERRYUSB_DEVICE_TEMPLATE_ADB - bool "adb" + bool + prompt "adb" + depends on RT_CHERRYUSB_DEVICE_ADB config RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_CHARDEV - bool "cdc_acm_chardev" + bool + prompt "cdc_acm_chardev" + depends on RT_CHERRYUSB_DEVICE_CDC_ACM_CHARDEV endchoice config CONFIG_USBDEV_MSC_BLOCK_DEV_NAME @@ -373,6 +411,23 @@ if RT_USING_CHERRYUSB default 0 depends on CHERRYUSB_HOST_HID endif - endif + menu "Select USB host template, please select class driver first" + config CONFIG_TEST_USBH_CDC_ACM + int + prompt "demo for test cdc acm" + default 0 + depends on RT_CHERRYUSB_HOST_CDC_ACM + config CONFIG_TEST_USBH_HID + int + prompt "demo for test hid" + default 0 + depends on RT_CHERRYUSB_HOST_HID + config CONFIG_TEST_USBH_MSC + int + prompt "demo for test msc" + default 0 + depends on RT_CHERRYUSB_HOST_MSC + endmenu + endif endif diff --git a/Kconfig.rttpkg b/Kconfig.rttpkg index 63614327..11f7d968 100644 --- a/Kconfig.rttpkg +++ b/Kconfig.rttpkg @@ -140,48 +140,86 @@ if PKG_USING_CHERRYUSB default n choice - prompt "Select usb device template" + prompt "Select usb device template, please select class driver first" default PKG_CHERRYUSB_DEVICE_TEMPLATE_NONE config PKG_CHERRYUSB_DEVICE_TEMPLATE_NONE - bool "none (Implement it yourself)" + bool + prompt "none (Implement it yourself)" config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM - bool "cdc_acm" + bool + prompt "cdc_acm" + depends on PKG_CHERRYUSB_DEVICE_CDC_ACM config PKG_CHERRYUSB_DEVICE_TEMPLATE_MSC - bool "msc_ram" + bool + prompt "msc_ram" + depends on PKG_CHERRYUSB_DEVICE_MSC config PKG_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV - bool "msc_blkdev" + bool + prompt "msc_blkdev" + depends on PKG_CHERRYUSB_DEVICE_MSC config PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_KEYBOARD - bool "hid_keyboard" + bool + prompt "hid_keyboard" + depends on PKG_CHERRYUSB_DEVICE_HID config PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_MOUSE - bool "hid_mouse" + bool + prompt "hid_mouse" + depends on PKG_CHERRYUSB_DEVICE_HID config PKG_CHERRYUSB_DEVICE_TEMPLATE_HID_CUSTOM - bool "hid_custom" + bool + prompt "hid_custom" + depends on PKG_CHERRYUSB_DEVICE_HID config PKG_CHERRYUSB_DEVICE_TEMPLATE_VIDEO - bool "video" + bool + prompt "video" + depends on PKG_CHERRYUSB_DEVICE_VIDEO config PKG_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V1_MIC_SPEAKER - bool "audio_v1_mic_speaker_multichan" + bool + prompt "audio_v1_mic_speaker_multichan" + depends on PKG_CHERRYUSB_DEVICE_AUDIO config PKG_CHERRYUSB_DEVICE_TEMPLATE_AUDIO_V2_MIC_SPEAKER - bool "audio_v2_mic_speaker_multichan" + bool + prompt "audio_v2_mic_speaker_multichan" + depends on PKG_CHERRYUSB_DEVICE_AUDIO config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_RNDIS - bool "cdc_rndis" + bool + prompt "cdc_rndis" + depends on PKG_CHERRYUSB_DEVICE_CDC_RNDIS config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ECM - bool "cdc_ecm" + bool + prompt "cdc_ecm" + depends on PKG_CHERRYUSB_DEVICE_CDC_ECM config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_NCM - bool "cdc_ncm" + bool + prompt "cdc_ncm" + depends on PKG_CHERRYUSB_DEVICE_CDC_NCM config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC - bool "cdc_acm_msc" + bool + prompt "cdc_acm_msc" + depends on PKG_CHERRYUSB_DEVICE_CDC_ACM && PKG_CHERRYUSB_DEVICE_MSC config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC_HID - bool "cdc_acm_msc_hid" + bool + prompt "cdc_acm_msc_hid" + depends on PKG_CHERRYUSB_DEVICE_CDC_ACM && PKG_CHERRYUSB_DEVICE_MSC && PKG_CHERRYUSB_DEVICE_HID config PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 - bool "winusbv1" + bool + prompt "winusbv1" config PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC - bool "winusbv2_cdc" + bool + prompt "winusbv2_cdc" + depends on PKG_CHERRYUSB_DEVICE_CDC_ACM config PKG_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_HID - bool "winusbv2_hid" + bool + prompt "winusbv2_hid" + depends on PKG_CHERRYUSB_DEVICE_HID config PKG_CHERRYUSB_DEVICE_TEMPLATE_ADB - bool "adb" + bool + prompt "adb" + depends on PKG_CHERRYUSB_DEVICE_ADB config PKG_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_CHARDEV - bool "cdc_acm_chardev" + bool + prompt "cdc_acm_chardev" + depends on PKG_CHERRYUSB_DEVICE_CDC_ACM_CHARDEV endchoice config CONFIG_USBDEV_MSC_BLOCK_DEV_NAME @@ -355,23 +393,23 @@ if PKG_USING_CHERRYUSB depends on RT_CHERRYUSB_HOST_MSC default "/" - config PKG_CHERRYUSB_HOST_TEMPLATE - bool - prompt "Use usb host template" - default n - - if PKG_CHERRYUSB_HOST_TEMPLATE - config TEST_USBH_CDC_ACM + menu "Select USB host template, please select class driver first" + config CONFIG_TEST_USBH_CDC_ACM int prompt "demo for test cdc acm" default 0 depends on PKG_CHERRYUSB_HOST_CDC_ACM - config TEST_USBH_HID + config CONFIG_TEST_USBH_HID int prompt "demo for test hid" default 0 depends on PKG_CHERRYUSB_HOST_HID - endif + config CONFIG_TEST_USBH_MSC + int + prompt "demo for test msc" + default 0 + depends on PKG_CHERRYUSB_HOST_MSC + endmenu endif config PKG_CHERRYUSB_PATH diff --git a/demo/usb_host.c b/demo/usb_host.c index 92537350..0863970e 100644 --- a/demo/usb_host.c +++ b/demo/usb_host.c @@ -10,17 +10,17 @@ #include "usbh_video.h" #include "usbh_audio.h" -#ifndef TEST_USBH_CDC_ACM -#define TEST_USBH_CDC_ACM 1 +#ifndef CONFIG_TEST_USBH_CDC_ACM +#define CONFIG_TEST_USBH_CDC_ACM 1 #endif #ifndef TEST_USBH_CDC_SPEED #define TEST_USBH_CDC_SPEED 0 #endif -#ifndef TEST_USBH_HID -#define TEST_USBH_HID 1 +#ifndef CONFIG_TEST_USBH_HID +#define CONFIG_TEST_USBH_HID 1 #endif -#ifndef TEST_USBH_MSC -#define TEST_USBH_MSC 1 +#ifndef CONFIG_TEST_USBH_MSC +#define CONFIG_TEST_USBH_MSC 1 #endif #ifndef TEST_USBH_MSC_FATFS #define TEST_USBH_MSC_FATFS 0 @@ -28,18 +28,18 @@ #ifndef TEST_USBH_MSC_FATFS_SPEED #define TEST_USBH_MSC_FATFS_SPEED 0 #endif -#ifndef TEST_USBH_AUDIO -#define TEST_USBH_AUDIO 0 +#ifndef CONFIG_TEST_USBH_AUDIO +#define CONFIG_TEST_USBH_AUDIO 0 #endif -#ifndef TEST_USBH_VIDEO -#define TEST_USBH_VIDEO 0 +#ifndef CONFIG_TEST_USBH_VIDEO +#define CONFIG_TEST_USBH_VIDEO 0 #endif #if defined(TEST_USBH_CDC_ECM) || defined(TEST_USBH_CDC_RNDIS) || defined(TEST_USBH_ASIX) || defined(TEST_USBH_RTL8152) #error we have move those class implements into platform/none/usbh_lwip.c, and you should call tcpip_init(NULL, NULL) in your app #endif -#if TEST_USBH_CDC_ACM +#if CONFIG_TEST_USBH_CDC_ACM USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t cdc_buffer[4096]; #if TEST_USBH_CDC_SPEED @@ -115,7 +115,7 @@ delete: } #endif -#if TEST_USBH_HID +#if CONFIG_TEST_USBH_HID USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t hid_buffer[128]; void usbh_hid_callback(void *arg, int nbytes) @@ -157,7 +157,7 @@ delete: } #endif -#if TEST_USBH_MSC +#if CONFIG_TEST_USBH_MSC #if TEST_USBH_MSC_FATFS #include "ff.h" @@ -326,7 +326,7 @@ delete: } #endif -#if TEST_USBH_CDC_ACM +#if CONFIG_TEST_USBH_CDC_ACM void usbh_cdc_acm_run(struct usbh_cdc_acm *cdc_acm_class) { usb_osal_thread_create("usbh_cdc", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_cdc_acm_thread, cdc_acm_class); @@ -337,7 +337,7 @@ void usbh_cdc_acm_stop(struct usbh_cdc_acm *cdc_acm_class) } #endif -#if TEST_USBH_HID +#if CONFIG_TEST_USBH_HID void usbh_hid_run(struct usbh_hid *hid_class) { usb_osal_thread_create("usbh_hid", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_hid_thread, hid_class); @@ -348,7 +348,7 @@ void usbh_hid_stop(struct usbh_hid *hid_class) } #endif -#if TEST_USBH_MSC +#if CONFIG_TEST_USBH_MSC void usbh_msc_run(struct usbh_msc *msc_class) { usb_osal_thread_create("usbh_msc", 2048, CONFIG_USBHOST_PSC_PRIO + 1, usbh_msc_thread, msc_class); @@ -359,11 +359,11 @@ void usbh_msc_stop(struct usbh_msc *msc_class) } #endif -#if TEST_USBH_AUDIO +#if CONFIG_TEST_USBH_AUDIO #error "commercial charge" #endif -#if TEST_USBH_VIDEO +#if CONFIG_TEST_USBH_VIDEO #error "commercial charge" #endif