diff options
| author | Joël Schulz-Ansres <[email protected]> | 2024-04-22 00:52:37 +0200 |
|---|---|---|
| committer | Joël Schulz-Ansres <[email protected]> | 2024-04-22 00:52:37 +0200 |
| commit | 896d0e7cd846971eb472555eb13ebe28e0b2d536 (patch) | |
| tree | 3d0e4609d4b41244322ac639ce7b9457b70d91ea /examples/stm32f4 | |
| parent | 152d514f52fab3b6b1f58c5b5bc57b13b86b7126 (diff) | |
Add comment on vbus_detection to all USB examples
Diffstat (limited to 'examples/stm32f4')
| -rw-r--r-- | examples/stm32f4/src/bin/usb_ethernet.rs | 13 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_hid_keyboard.rs | 14 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_hid_mouse.rs | 13 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_raw.rs | 13 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_serial.rs | 13 |
5 files changed, 65 insertions, 1 deletions
diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs index d2cbeea1b..284c74564 100644 --- a/examples/stm32f4/src/bin/usb_ethernet.rs +++ b/examples/stm32f4/src/bin/usb_ethernet.rs | |||
| @@ -40,6 +40,11 @@ bind_interrupts!(struct Irqs { | |||
| 40 | HASH_RNG => rng::InterruptHandler<peripherals::RNG>; | 40 | HASH_RNG => rng::InterruptHandler<peripherals::RNG>; |
| 41 | }); | 41 | }); |
| 42 | 42 | ||
| 43 | // If you are trying this and your USB device doesn't connect, the most | ||
| 44 | // common issues are the RCC config and vbus_detection | ||
| 45 | // | ||
| 46 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 47 | // for more information. | ||
| 43 | #[embassy_executor::main] | 48 | #[embassy_executor::main] |
| 44 | async fn main(spawner: Spawner) { | 49 | async fn main(spawner: Spawner) { |
| 45 | info!("Hello World!"); | 50 | info!("Hello World!"); |
| @@ -71,7 +76,15 @@ async fn main(spawner: Spawner) { | |||
| 71 | static OUTPUT_BUFFER: StaticCell<[u8; 256]> = StaticCell::new(); | 76 | static OUTPUT_BUFFER: StaticCell<[u8; 256]> = StaticCell::new(); |
| 72 | let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..]; | 77 | let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..]; |
| 73 | let mut config = embassy_stm32::usb::Config::default(); | 78 | let mut config = embassy_stm32::usb::Config::default(); |
| 79 | |||
| 80 | // Enable vbus_detection | ||
| 81 | // Note: some boards don't have this wired up and might not require it, | ||
| 82 | // as they are powered through usb! | ||
| 83 | // If you hang on boot, try setting this to "false"! | ||
| 84 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 85 | // for more information | ||
| 74 | config.vbus_detection = true; | 86 | config.vbus_detection = true; |
| 87 | |||
| 75 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config); | 88 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config); |
| 76 | 89 | ||
| 77 | // Create embassy-usb Config | 90 | // Create embassy-usb Config |
diff --git a/examples/stm32f4/src/bin/usb_hid_keyboard.rs b/examples/stm32f4/src/bin/usb_hid_keyboard.rs index d6e0be5ea..4d9086156 100644 --- a/examples/stm32f4/src/bin/usb_hid_keyboard.rs +++ b/examples/stm32f4/src/bin/usb_hid_keyboard.rs | |||
| @@ -21,6 +21,11 @@ bind_interrupts!(struct Irqs { | |||
| 21 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; | 21 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; |
| 22 | }); | 22 | }); |
| 23 | 23 | ||
| 24 | // If you are trying this and your USB device doesn't connect, the most | ||
| 25 | // common issues are the RCC config and vbus_detection | ||
| 26 | // | ||
| 27 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 28 | // for more information. | ||
| 24 | #[embassy_executor::main] | 29 | #[embassy_executor::main] |
| 25 | async fn main(_spawner: Spawner) { | 30 | async fn main(_spawner: Spawner) { |
| 26 | let mut config = Config::default(); | 31 | let mut config = Config::default(); |
| @@ -49,8 +54,15 @@ async fn main(_spawner: Spawner) { | |||
| 49 | // Create the driver, from the HAL. | 54 | // Create the driver, from the HAL. |
| 50 | let mut ep_out_buffer = [0u8; 256]; | 55 | let mut ep_out_buffer = [0u8; 256]; |
| 51 | let mut config = embassy_stm32::usb::Config::default(); | 56 | let mut config = embassy_stm32::usb::Config::default(); |
| 52 | // If the board you’re using doesn’t have the VBUS pin wired up correctly for detecting the USB bus voltage (e.g. on the f4 blackpill board), set this to false | 57 | |
| 58 | // Enable vbus_detection | ||
| 59 | // Note: some boards don't have this wired up and might not require it, | ||
| 60 | // as they are powered through usb! | ||
| 61 | // If you hang on boot, try setting this to "false"! | ||
| 62 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 63 | // for more information | ||
| 53 | config.vbus_detection = true; | 64 | config.vbus_detection = true; |
| 65 | |||
| 54 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); | 66 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); |
| 55 | 67 | ||
| 56 | // Create embassy-usb Config | 68 | // Create embassy-usb Config |
diff --git a/examples/stm32f4/src/bin/usb_hid_mouse.rs b/examples/stm32f4/src/bin/usb_hid_mouse.rs index 0bc236119..2b8e2f147 100644 --- a/examples/stm32f4/src/bin/usb_hid_mouse.rs +++ b/examples/stm32f4/src/bin/usb_hid_mouse.rs | |||
| @@ -18,6 +18,11 @@ bind_interrupts!(struct Irqs { | |||
| 18 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; | 18 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; |
| 19 | }); | 19 | }); |
| 20 | 20 | ||
| 21 | // If you are trying this and your USB device doesn't connect, the most | ||
| 22 | // common issues are the RCC config and vbus_detection | ||
| 23 | // | ||
| 24 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 25 | // for more information. | ||
| 21 | #[embassy_executor::main] | 26 | #[embassy_executor::main] |
| 22 | async fn main(_spawner: Spawner) { | 27 | async fn main(_spawner: Spawner) { |
| 23 | let mut config = Config::default(); | 28 | let mut config = Config::default(); |
| @@ -46,7 +51,15 @@ async fn main(_spawner: Spawner) { | |||
| 46 | // Create the driver, from the HAL. | 51 | // Create the driver, from the HAL. |
| 47 | let mut ep_out_buffer = [0u8; 256]; | 52 | let mut ep_out_buffer = [0u8; 256]; |
| 48 | let mut config = embassy_stm32::usb::Config::default(); | 53 | let mut config = embassy_stm32::usb::Config::default(); |
| 54 | |||
| 55 | // Enable vbus_detection | ||
| 56 | // Note: some boards don't have this wired up and might not require it, | ||
| 57 | // as they are powered through usb! | ||
| 58 | // If you hang on boot, try setting this to "false"! | ||
| 59 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 60 | // for more information | ||
| 49 | config.vbus_detection = true; | 61 | config.vbus_detection = true; |
| 62 | |||
| 50 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); | 63 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); |
| 51 | 64 | ||
| 52 | // Create embassy-usb Config | 65 | // Create embassy-usb Config |
diff --git a/examples/stm32f4/src/bin/usb_raw.rs b/examples/stm32f4/src/bin/usb_raw.rs index 4e583aeb8..00fdff2bf 100644 --- a/examples/stm32f4/src/bin/usb_raw.rs +++ b/examples/stm32f4/src/bin/usb_raw.rs | |||
| @@ -69,6 +69,11 @@ bind_interrupts!(struct Irqs { | |||
| 69 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; | 69 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; |
| 70 | }); | 70 | }); |
| 71 | 71 | ||
| 72 | // If you are trying this and your USB device doesn't connect, the most | ||
| 73 | // common issues are the RCC config and vbus_detection | ||
| 74 | // | ||
| 75 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 76 | // for more information. | ||
| 72 | #[embassy_executor::main] | 77 | #[embassy_executor::main] |
| 73 | async fn main(_spawner: Spawner) { | 78 | async fn main(_spawner: Spawner) { |
| 74 | info!("Hello World!"); | 79 | info!("Hello World!"); |
| @@ -99,7 +104,15 @@ async fn main(_spawner: Spawner) { | |||
| 99 | // Create the driver, from the HAL. | 104 | // Create the driver, from the HAL. |
| 100 | let mut ep_out_buffer = [0u8; 256]; | 105 | let mut ep_out_buffer = [0u8; 256]; |
| 101 | let mut config = embassy_stm32::usb::Config::default(); | 106 | let mut config = embassy_stm32::usb::Config::default(); |
| 107 | |||
| 108 | // Enable vbus_detection | ||
| 109 | // Note: some boards don't have this wired up and might not require it, | ||
| 110 | // as they are powered through usb! | ||
| 111 | // If you hang on boot, try setting this to "false"! | ||
| 112 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 113 | // for more information | ||
| 102 | config.vbus_detection = true; | 114 | config.vbus_detection = true; |
| 115 | |||
| 103 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); | 116 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); |
| 104 | 117 | ||
| 105 | // Create embassy-usb Config | 118 | // Create embassy-usb Config |
diff --git a/examples/stm32f4/src/bin/usb_serial.rs b/examples/stm32f4/src/bin/usb_serial.rs index f3a375d31..94c6a4301 100644 --- a/examples/stm32f4/src/bin/usb_serial.rs +++ b/examples/stm32f4/src/bin/usb_serial.rs | |||
| @@ -16,6 +16,11 @@ bind_interrupts!(struct Irqs { | |||
| 16 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; | 16 | OTG_FS => usb::InterruptHandler<peripherals::USB_OTG_FS>; |
| 17 | }); | 17 | }); |
| 18 | 18 | ||
| 19 | // If you are trying this and your USB device doesn't connect, the most | ||
| 20 | // common issues are the RCC config and vbus_detection | ||
| 21 | // | ||
| 22 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 23 | // for more information. | ||
| 19 | #[embassy_executor::main] | 24 | #[embassy_executor::main] |
| 20 | async fn main(_spawner: Spawner) { | 25 | async fn main(_spawner: Spawner) { |
| 21 | info!("Hello World!"); | 26 | info!("Hello World!"); |
| @@ -46,7 +51,15 @@ async fn main(_spawner: Spawner) { | |||
| 46 | // Create the driver, from the HAL. | 51 | // Create the driver, from the HAL. |
| 47 | let mut ep_out_buffer = [0u8; 256]; | 52 | let mut ep_out_buffer = [0u8; 256]; |
| 48 | let mut config = embassy_stm32::usb::Config::default(); | 53 | let mut config = embassy_stm32::usb::Config::default(); |
| 54 | |||
| 55 | // Enable vbus_detection | ||
| 56 | // Note: some boards don't have this wired up and might not require it, | ||
| 57 | // as they are powered through usb! | ||
| 58 | // If you hang on boot, try setting this to "false"! | ||
| 59 | // See https://embassy.dev/book/dev/faq.html#_the_usb_examples_are_not_working_on_my_board_is_there_anything_else_i_need_to_configure | ||
| 60 | // for more information | ||
| 49 | config.vbus_detection = true; | 61 | config.vbus_detection = true; |
| 62 | |||
| 50 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); | 63 | let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config); |
| 51 | 64 | ||
| 52 | // Create embassy-usb Config | 65 | // Create embassy-usb Config |
