Bootstrap DD3 Rust port workspace with host-first compatibility tests

This commit is contained in:
2026-02-21 00:59:03 +01:00
parent d3f9a2e62d
commit d0212f4e38
63 changed files with 3914 additions and 0 deletions

View 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" }

View 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");
}
}
}