summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMDLZCOOL <[email protected]>2025-07-10 20:19:16 +0800
committerGitHub <[email protected]>2025-07-10 20:19:16 +0800
commit9de928d6af1b3dcd121c4ebf5d8761b90e72b0c1 (patch)
tree4a7dbd35c9344e1afd9dcb495fdbe126a5857286
parent5a94ed80cb4a0fa01f99b21a649f12f9d030cd85 (diff)
Modify kconfig for better template choose
-rw-r--r--Kconfig80
-rw-r--r--Kconfig.rtt99
-rw-r--r--Kconfig.rttpkg98
-rw-r--r--demo/usb_host.c36
4 files changed, 215 insertions, 98 deletions
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