#[cfg(all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
))]
pub mod pi;
#[cfg(all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
))]
pub use pi::HW;
#[cfg(not(all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
)))]
pub mod fake_pi;
#[cfg(not(all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
)))]
pub use fake_pi::HW;
mod pin_descriptions;
mod tests;
pub fn get_hardware() -> Option<HW> {
#[cfg(debug_assertions)]
return Some(HW::new(env!("CARGO_PKG_NAME")));
#[cfg(all(
not(debug_assertions),
not(all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
))
))]
return None;
#[cfg(all(
not(debug_assertions),
all(
target_os = "linux",
any(target_arch = "aarch64", target_arch = "arm"),
target_env = "gnu"
)
))]
return Some(HW::new(env!("CARGO_PKG_NAME")));
}