use std::path::{Path, PathBuf};
use crate::config::FusibleConfig;
pub fn resolve_mcu(explicit: Option<String>) -> Option<String> {
explicit.or_else(|| {
FusibleConfig::find_and_load(Path::new("."))
.ok()
.flatten()
.and_then(|(_, cfg)| cfg.mcu.and_then(|m| m.chip))
})
}
pub fn resolve_pins_rs(explicit: Option<PathBuf>) -> Option<PathBuf> {
explicit.or_else(|| {
FusibleConfig::find_and_load(Path::new("."))
.ok()
.flatten()
.and_then(|(_, cfg)| cfg.firmware.and_then(|f| f.pins_rs))
})
}
pub fn resolve_board_name() -> String {
FusibleConfig::find_and_load(Path::new("."))
.ok()
.flatten()
.and_then(|(_, cfg)| cfg.name)
.unwrap_or_else(|| "Hardware Board".to_string())
}