From 175bb222d1538e43bea4f45e4f3d829f9bb8aa3d Mon Sep 17 00:00:00 2001 From: Samuel Tardieu <sam@rfc1149.net> Date: Wed, 10 Jul 2024 00:02:00 +0200 Subject: [PATCH] Rename i2c2-target into i2c2-slave and remove i2c-bootloader --- Cargo.lock | 19 +------- Cargo.toml | 2 +- controller/Cargo.toml | 2 +- controller/src/logic.rs | 2 +- controller/src/main.rs | 2 +- i2c-bootloader/Cargo.toml | 16 ------- i2c-bootloader/src/main.rs | 62 -------------------------- {i2c2-slave => i2c2-target}/Cargo.toml | 2 +- {i2c2-slave => i2c2-target}/src/lib.rs | 0 9 files changed, 7 insertions(+), 100 deletions(-) delete mode 100644 i2c-bootloader/Cargo.toml delete mode 100644 i2c-bootloader/src/main.rs rename {i2c2-slave => i2c2-target}/Cargo.toml (93%) rename {i2c2-slave => i2c2-target}/src/lib.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 2a42843..fe712ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -146,7 +146,7 @@ dependencies = [ "embassy-stm32", "embassy-time", "heapless", - "i2c2-slave", + "i2c2-target", "panic-probe", ] @@ -527,22 +527,7 @@ dependencies = [ ] [[package]] -name = "i2c-bootloader" -version = "0.1.0" -dependencies = [ - "cortex-m", - "cortex-m-rt", - "defmt", - "defmt-rtt", - "embassy-executor", - "embassy-stm32", - "embassy-time", - "i2c2-slave", - "panic-probe", -] - -[[package]] -name = "i2c2-slave" +name = "i2c2-target" version = "0.1.0" dependencies = [ "defmt", diff --git a/Cargo.toml b/Cargo.toml index 1fedf49..0421365 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["controller", "i2c-bootloader", "i2c2-slave"] +members = ["controller", "i2c2-target"] exclude = ["pid"] resolver = "2" diff --git a/controller/Cargo.toml b/controller/Cargo.toml index 2dca186..90f59b0 100644 --- a/controller/Cargo.toml +++ b/controller/Cargo.toml @@ -13,5 +13,5 @@ embassy-executor = { git = "https://github.com/embassy-rs/embassy", features = [ embassy-stm32 = { git = "https://github.com/embassy-rs/embassy", features = ["defmt", "stm32f103c8", "unstable-pac", "time-driver-tim4", "memory-x"] } embassy-time = { git = "https://github.com/embassy-rs/embassy", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } heapless = "0.8.0" -i2c2-slave = { path = "../i2c2-slave" } +i2c2-target = { path = "../i2c2-target" } panic-probe = { version = "0.3.1", features = ["print-defmt"] } diff --git a/controller/src/logic.rs b/controller/src/logic.rs index a9438bd..38a7db7 100644 --- a/controller/src/logic.rs +++ b/controller/src/logic.rs @@ -3,7 +3,7 @@ use crate::{ tb6612fng::{Movement, Tb6612fng}, }; use heapless::Deque; -use i2c2_slave::{I2C2, MESSAGE_SIZE}; +use i2c2_target::{I2C2, MESSAGE_SIZE}; struct State { _i2c: I2C2, diff --git a/controller/src/main.rs b/controller/src/main.rs index d824107..560c8c0 100644 --- a/controller/src/main.rs +++ b/controller/src/main.rs @@ -46,7 +46,7 @@ async fn main(spawner: Spawner) { let encoders = Encoders::new(p.PA0, p.PA1, p.PA6, p.PA7, p.TIM2, p.TIM3); // spawner.spawn(debug_encoders(encoders)).unwrap(); - let i2c2 = i2c2_slave::I2C2::new(p.I2C2, p.PB10, p.PB11, 0x57, Priority::P4, Priority::P3); + let i2c2 = i2c2_target::I2C2::new(p.I2C2, p.PB10, p.PB11, 0x57, Priority::P4, Priority::P3); spawner .spawn(logic::start_i2c_target(i2c2, motors, encoders)) .unwrap(); diff --git a/i2c-bootloader/Cargo.toml b/i2c-bootloader/Cargo.toml deleted file mode 100644 index 17ea1d7..0000000 --- a/i2c-bootloader/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "i2c-bootloader" -version = "0.1.0" -authors = ["Samuel Tardieu <sam@rfc1149.net>"] -edition = "2021" - -[dependencies] -cortex-m = { version = "0.7.7", features = ["critical-section-single-core", "inline-asm"] } -cortex-m-rt = "0.7.3" -defmt = "0.3.5" -defmt-rtt = "0.4.0" -embassy-executor = { git = "https://github.com/embassy-rs/embassy", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } -embassy-stm32 = { git = "https://github.com/embassy-rs/embassy", features = ["defmt", "stm32f103c8", "unstable-pac", "time-driver-tim4", "memory-x"] } -embassy-time = { git = "https://github.com/embassy-rs/embassy", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } -i2c2-slave = { path = "../i2c2-slave" } -panic-probe = { version = "0.3.1", features = ["print-defmt"] } diff --git a/i2c-bootloader/src/main.rs b/i2c-bootloader/src/main.rs deleted file mode 100644 index e8ef00b..0000000 --- a/i2c-bootloader/src/main.rs +++ /dev/null @@ -1,62 +0,0 @@ -#![no_std] -#![no_main] - -use defmt_rtt as _; -use embassy_executor::Spawner; -use embassy_stm32::{ - gpio::{Level, Output, Speed}, - interrupt::Priority, - peripherals::PB15, - time::mhz, - Config, -}; -use embassy_time::Timer; -use panic_probe as _; - -#[embassy_executor::main] -async fn main(spawner: Spawner) { - let mut config = Config::default(); - config.rcc.hse = Some(mhz(8)); - config.rcc.sys_ck = Some(mhz(72)); - config.rcc.pclk1 = Some(mhz(36)); - let p = embassy_stm32::init(config); - - defmt::info!("I²C bootloader starting"); - - spawner.spawn(blink(p.PB15)).unwrap(); - - let mut i2c2 = i2c2_slave::I2C2::new(p.I2C2, p.PB10, p.PB11, 0x57, Priority::P4, Priority::P3); - loop { - let mut buffer = [0; 8]; - match i2c2.receive(&mut buffer).await { - Ok(n) => { - defmt::info!("Received command {:#x}, reversing", &buffer[..n]); - buffer[..n].reverse(); - i2c2.send(&buffer[..n]).unwrap(); - } - Err(i2c2_slave::Error::ExtraBytes(n)) => { - defmt::info!( - "Received {} extra bytes after command {:#x}, sending 0xDE 0xAD", - n, - buffer - ); - i2c2.send(&[0xDE, 0xAD]).unwrap(); - } - Err(e) => { - defmt::info!("Received another error: {:?}", defmt::Debug2Format(&e)); - } - } - } -} - -#[embassy_executor::task] -async fn blink(pin: PB15) { - let mut led = Output::new(pin, Level::High, Speed::Low); - loop { - for _ in 0..4 { - led.toggle(); - Timer::after_millis(100).await; - } - Timer::after_secs(1).await; - } -} diff --git a/i2c2-slave/Cargo.toml b/i2c2-target/Cargo.toml similarity index 93% rename from i2c2-slave/Cargo.toml rename to i2c2-target/Cargo.toml index c8431e8..5d6abad 100644 --- a/i2c2-slave/Cargo.toml +++ b/i2c2-target/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "i2c2-slave" +name = "i2c2-target" version = "0.1.0" authors = ["Samuel Tardieu <sam@rfc1149.net>"] edition = "2021" diff --git a/i2c2-slave/src/lib.rs b/i2c2-target/src/lib.rs similarity index 100% rename from i2c2-slave/src/lib.rs rename to i2c2-target/src/lib.rs -- GitLab