mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-25 00:02:28 +00:00
Merge pull request #2934 from embassy-rs/example-papercuts
Fix misc example papercuts.
This commit is contained in:
commit
aaf4cb0cb2
@ -291,7 +291,7 @@ pub struct Config {
|
||||
|
||||
impl Default for Config {
|
||||
fn default() -> Self {
|
||||
Self { vbus_detection: true }
|
||||
Self { vbus_detection: false }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -62,9 +62,9 @@ async fn main(spawner: Spawner) -> ! {
|
||||
|
||||
let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF];
|
||||
|
||||
static PACKETS: StaticCell<PacketQueue<16, 16>> = StaticCell::new();
|
||||
static PACKETS: StaticCell<PacketQueue<4, 4>> = StaticCell::new();
|
||||
let device = Ethernet::new(
|
||||
PACKETS.init(PacketQueue::<16, 16>::new()),
|
||||
PACKETS.init(PacketQueue::<4, 4>::new()),
|
||||
p.ETH,
|
||||
Irqs,
|
||||
p.PA1,
|
||||
|
@ -77,13 +77,11 @@ async fn main(spawner: Spawner) {
|
||||
let ep_out_buffer = &mut OUTPUT_BUFFER.init([0; 256])[..];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, ep_out_buffer, config);
|
||||
|
||||
|
@ -55,13 +55,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -105,13 +105,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -63,9 +63,9 @@ async fn main(spawner: Spawner) -> ! {
|
||||
|
||||
let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF];
|
||||
|
||||
static PACKETS: StaticCell<PacketQueue<16, 16>> = StaticCell::new();
|
||||
static PACKETS: StaticCell<PacketQueue<4, 4>> = StaticCell::new();
|
||||
let device = Ethernet::new(
|
||||
PACKETS.init(PacketQueue::<16, 16>::new()),
|
||||
PACKETS.init(PacketQueue::<4, 4>::new()),
|
||||
p.ETH,
|
||||
Irqs,
|
||||
p.PA1,
|
||||
|
@ -52,13 +52,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -64,10 +64,10 @@ async fn main(spawner: Spawner) -> ! {
|
||||
|
||||
let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF];
|
||||
|
||||
static PACKETS: StaticCell<PacketQueue<16, 16>> = StaticCell::new();
|
||||
static PACKETS: StaticCell<PacketQueue<4, 4>> = StaticCell::new();
|
||||
|
||||
let device = Ethernet::new(
|
||||
PACKETS.init(PacketQueue::<16, 16>::new()),
|
||||
PACKETS.init(PacketQueue::<4, 4>::new()),
|
||||
p.ETH,
|
||||
Irqs,
|
||||
p.PA1,
|
||||
|
@ -64,10 +64,10 @@ async fn main(spawner: Spawner) -> ! {
|
||||
|
||||
let mac_addr = [0x00, 0x00, 0xDE, 0xAD, 0xBE, 0xEF];
|
||||
|
||||
static PACKETS: StaticCell<PacketQueue<16, 16>> = StaticCell::new();
|
||||
static PACKETS: StaticCell<PacketQueue<4, 4>> = StaticCell::new();
|
||||
|
||||
let device = Ethernet::new_mii(
|
||||
PACKETS.init(PacketQueue::<16, 16>::new()),
|
||||
PACKETS.init(PacketQueue::<4, 4>::new()),
|
||||
p.ETH,
|
||||
Irqs,
|
||||
p.PA1,
|
||||
|
@ -53,13 +53,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
42
examples/stm32h7rs/src/bin/i2c.rs
Normal file
42
examples/stm32h7rs/src/bin/i2c.rs
Normal file
@ -0,0 +1,42 @@
|
||||
#![no_std]
|
||||
#![no_main]
|
||||
|
||||
use defmt::*;
|
||||
use embassy_executor::Spawner;
|
||||
use embassy_stm32::i2c::{Error, I2c};
|
||||
use embassy_stm32::time::Hertz;
|
||||
use embassy_stm32::{bind_interrupts, i2c, peripherals};
|
||||
use {defmt_rtt as _, panic_probe as _};
|
||||
|
||||
const ADDRESS: u8 = 0x5F;
|
||||
const WHOAMI: u8 = 0x0F;
|
||||
|
||||
bind_interrupts!(struct Irqs {
|
||||
I2C2_EV => i2c::EventInterruptHandler<peripherals::I2C2>;
|
||||
I2C2_ER => i2c::ErrorInterruptHandler<peripherals::I2C2>;
|
||||
});
|
||||
|
||||
#[embassy_executor::main]
|
||||
async fn main(_spawner: Spawner) {
|
||||
info!("Hello world!");
|
||||
let p = embassy_stm32::init(Default::default());
|
||||
|
||||
let mut i2c = I2c::new(
|
||||
p.I2C2,
|
||||
p.PB10,
|
||||
p.PB11,
|
||||
Irqs,
|
||||
p.GPDMA1_CH4,
|
||||
p.GPDMA1_CH5,
|
||||
Hertz(100_000),
|
||||
Default::default(),
|
||||
);
|
||||
|
||||
let mut data = [0u8; 1];
|
||||
|
||||
match i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data) {
|
||||
Ok(()) => info!("Whoami: {}", data[0]),
|
||||
Err(Error::Timeout) => error!("Operation timed out"),
|
||||
Err(e) => error!("I2c Error: {:?}", e),
|
||||
}
|
||||
}
|
@ -47,13 +47,11 @@ async fn main(_spawner: Spawner) {
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
|
||||
// Enable vbus_detection
|
||||
// Note: some boards don't have this wired up and might not require it,
|
||||
// as they are powered through usb!
|
||||
// If you hang on boot, try setting this to "false"!
|
||||
// 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
|
||||
// for more information
|
||||
config.vbus_detection = true;
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
@ -43,6 +43,10 @@ async fn main(_spawner: Spawner) {
|
||||
// Create the driver, from the HAL.
|
||||
let mut ep_out_buffer = [0u8; 256];
|
||||
let mut config = embassy_stm32::usb::Config::default();
|
||||
// Do not enable vbus_detection. This is a safe default that works in all boards.
|
||||
// However, if your USB device is self-powered (can stay powered on if USB is unplugged), you need
|
||||
// to enable vbus_detection to comply with the USB spec. If you enable it, the board
|
||||
// has to support it or USB won't work at all. See docs on `vbus_detection` for details.
|
||||
config.vbus_detection = false;
|
||||
let driver = Driver::new_fs(p.USB_OTG_FS, Irqs, p.PA12, p.PA11, &mut ep_out_buffer, config);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user