diff options
| author | Ha Thach <[email protected]> | 2023-01-07 23:46:46 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-01-07 23:46:46 +0700 |
| commit | 949950e592d9a23a4b449784b0f8e7e274129318 (patch) | |
| tree | 9a9df1391a8227395d13a90458d6b56aa93a85ac /examples/host/hid_controller | |
| parent | 2683deb0dd2e049de6c9b15f49d28a2fef4380f6 (diff) | |
| parent | 83cc71feaf442842e498343b5a3128f4735216bb (diff) | |
Merge branch 'master' into ch32v307
Diffstat (limited to 'examples/host/hid_controller')
| -rw-r--r-- | examples/host/hid_controller/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | examples/host/hid_controller/Makefile | 3 | ||||
| -rw-r--r-- | examples/host/hid_controller/only.txt | 2 | ||||
| -rw-r--r-- | examples/host/hid_controller/src/hid_app.c | 1 | ||||
| -rw-r--r-- | examples/host/hid_controller/src/main.c | 5 | ||||
| -rw-r--r-- | examples/host/hid_controller/src/tusb_config.h | 39 |
6 files changed, 46 insertions, 17 deletions
diff --git a/examples/host/hid_controller/CMakeLists.txt b/examples/host/hid_controller/CMakeLists.txt index 6227e0790..39adf9093 100644 --- a/examples/host/hid_controller/CMakeLists.txt +++ b/examples/host/hid_controller/CMakeLists.txt @@ -27,5 +27,14 @@ target_include_directories(${PROJECT} PUBLIC # in hw/bsp/FAMILY/family.cmake for details. family_configure_host_example(${PROJECT}) -# For rp2040, un-comment to enable pico-pio-usb -# family_configure_pico_pio_usb_example(${PROJECT}) +# For rp2040 enable pico-pio-usb +if(FAMILY STREQUAL "rp2040") + family_add_pico_pio_usb(${PROJECT}) + + # due to warnings from Pico-PIO-USB + target_compile_options(${PROJECT} PUBLIC + -Wno-error=cast-qual + -Wno-error=sign-conversion + -Wno-error=conversion + ) +endif()
\ No newline at end of file diff --git a/examples/host/hid_controller/Makefile b/examples/host/hid_controller/Makefile index 06dc56914..e7fbd741f 100644 --- a/examples/host/hid_controller/Makefile +++ b/examples/host/hid_controller/Makefile @@ -12,9 +12,6 @@ EXAMPLE_SOURCE += \ SRC_C += $(addprefix $(CURRENT_PATH)/, $(EXAMPLE_SOURCE)) -# TODO: suppress warning caused by host stack -CFLAGS += -Wno-error=cast-align -Wno-error=null-dereference - # TinyUSB Host Stack source SRC_C += \ src/class/cdc/cdc_host.c \ diff --git a/examples/host/hid_controller/only.txt b/examples/host/hid_controller/only.txt index 7fe4e3f5c..fa9c14857 100644 --- a/examples/host/hid_controller/only.txt +++ b/examples/host/hid_controller/only.txt @@ -3,7 +3,9 @@ mcu:LPC177X_8X mcu:LPC18XX mcu:LPC40XX mcu:LPC43XX +mcu:MIMXRT mcu:MIMXRT10XX +mcu:MIMXRT11XX mcu:RP2040 mcu:MSP432E4 mcu:RX65X diff --git a/examples/host/hid_controller/src/hid_app.c b/examples/host/hid_controller/src/hid_app.c index 582e01959..75c91400e 100644 --- a/examples/host/hid_controller/src/hid_app.c +++ b/examples/host/hid_controller/src/hid_app.c @@ -162,7 +162,6 @@ void tuh_hid_mount_cb(uint8_t dev_addr, uint8_t instance, uint8_t const* desc_re void tuh_hid_umount_cb(uint8_t dev_addr, uint8_t instance) { printf("HID device address = %d, instance = %d is unmounted\r\n", dev_addr, instance); - } // check if different than 2 diff --git a/examples/host/hid_controller/src/main.c b/examples/host/hid_controller/src/main.c index b9b37a4d2..299a3ff10 100644 --- a/examples/host/hid_controller/src/main.c +++ b/examples/host/hid_controller/src/main.c @@ -49,9 +49,10 @@ int main(void) board_init(); printf("TinyUSB Host HID Controller Example\r\n"); - printf("Note: Events only displayed for explictly supported controllers\r\n"); + printf("Note: Events only displayed for explicit supported controllers\r\n"); - tusb_init(); + // init host stack on configured roothub port + tuh_init(BOARD_TUH_RHPORT); while (1) { diff --git a/examples/host/hid_controller/src/tusb_config.h b/examples/host/hid_controller/src/tusb_config.h index 74b471ae4..e6d6f873d 100644 --- a/examples/host/hid_controller/src/tusb_config.h +++ b/examples/host/hid_controller/src/tusb_config.h @@ -30,27 +30,48 @@ extern "C" { #endif +//--------------------------------------------------------------------+ +// Board Specific Configuration +//--------------------------------------------------------------------+ + + #if CFG_TUSB_MCU == OPT_MCU_RP2040 +// change to 1 if using pico-pio-usb as host controller for raspberry rp2040 +#define CFG_TUH_RPI_PIO_USB 0 +#define BOARD_TUH_RHPORT CFG_TUH_RPI_PIO_USB +#endif + +// RHPort number used for host can be defined by board.mk, default to port 0 +#ifndef BOARD_TUH_RHPORT +#define BOARD_TUH_RHPORT 0 +#endif + +// RHPort max operational speed can defined by board.mk +#ifndef BOARD_TUH_MAX_SPEED +#define BOARD_TUH_MAX_SPEED OPT_MODE_DEFAULT_SPEED +#endif + //-------------------------------------------------------------------- // COMMON CONFIGURATION //-------------------------------------------------------------------- // defined by compiler flags for flexibility #ifndef CFG_TUSB_MCU - #error CFG_TUSB_MCU must be defined +#error CFG_TUSB_MCU must be defined #endif -#if CFG_TUSB_MCU == OPT_MCU_LPC43XX || CFG_TUSB_MCU == OPT_MCU_LPC18XX || CFG_TUSB_MCU == OPT_MCU_MIMXRT10XX - #define CFG_TUSB_RHPORT0_MODE (OPT_MODE_HOST | OPT_MODE_HIGH_SPEED) -#else - #define CFG_TUSB_RHPORT0_MODE OPT_MODE_HOST +#ifndef CFG_TUSB_OS +#define CFG_TUSB_OS OPT_OS_NONE #endif -#ifndef CFG_TUSB_OS -#define CFG_TUSB_OS OPT_OS_NONE +#ifndef CFG_TUSB_DEBUG +#define CFG_TUSB_DEBUG 0 #endif -// CFG_TUSB_DEBUG is defined by compiler in DEBUG build -// #define CFG_TUSB_DEBUG 0 +// Enable Host stack +#define CFG_TUH_ENABLED 1 + +// Default is max speed that hardware controller could support with on-chip PHY +#define CFG_TUH_MAX_SPEED BOARD_TUH_MAX_SPEED /* USB DMA on some MCUs can only access a specific SRAM region with restriction on alignment. * Tinyusb use follows macros to declare transferring memory so that they can be put |
