Bootstrap DD3 Rust port workspace with host-first compatibility tests
This commit is contained in:
12
crates/dd3_firmware/Cargo.toml
Normal file
12
crates/dd3_firmware/Cargo.toml
Normal file
@@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "dd3_firmware"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
esp-idf = []
|
||||
esp-hal = []
|
||||
|
||||
[dependencies]
|
||||
dd3_core = { path = "../dd3_core" }
|
||||
29
crates/dd3_firmware/src/main.rs
Normal file
29
crates/dd3_firmware/src/main.rs
Normal file
@@ -0,0 +1,29 @@
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
enum DeviceRole {
|
||||
Sender,
|
||||
Receiver,
|
||||
}
|
||||
|
||||
#[cfg(any(feature = "esp-idf", feature = "esp-hal"))]
|
||||
fn detect_role_from_gpio14() -> DeviceRole {
|
||||
// Placeholder: wire real GPIO14 read in hardware integration phase.
|
||||
DeviceRole::Receiver
|
||||
}
|
||||
|
||||
#[cfg(not(any(feature = "esp-idf", feature = "esp-hal")))]
|
||||
fn detect_role_from_gpio14() -> DeviceRole {
|
||||
// Host placeholder so crate compiles in non-embedded environments.
|
||||
DeviceRole::Receiver
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let role = detect_role_from_gpio14();
|
||||
match role {
|
||||
DeviceRole::Sender => {
|
||||
println!("dd3_firmware placeholder: sender mode");
|
||||
}
|
||||
DeviceRole::Receiver => {
|
||||
println!("dd3_firmware placeholder: receiver mode");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user