Преглед на файлове

Modify kconfig for better template choose

MDLZCOOL преди 6 месеца
родител
ревизия
9de928d6af
променени са 4 файла, в които са добавени 215 реда и са изтрити 98 реда
  1. 52 28
      Kconfig
  2. 77 22
      Kconfig.rtt
  3. 68 30
      Kconfig.rttpkg
  4. 18 18
      demo/usb_host.c

+ 52 - 28
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

+ 77 - 22
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

+ 68 - 30
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

+ 18 - 18
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