Copper Robot Clock implementation. It is a monotonic high precision clock for real time applications. It has a mock feature for testing time dependent behaviors. It is part of the Copper project but can be used independently.
// Source: `std::time::SystemTime` as a last-resort counter for unsupported
// `std` targets.
// Guarantee: availability, not strict monotonicity. Real-time targets should
// use a target-specific monotonic counter backend instead of this fallback.
pubfninitialize(){}#[inline(always)]pubfnread_raw_counter()->u64{// Fallback implementation for unsupported architectures
#[cfg(feature ="std")]{std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_nanos()asu64}#[cfg(not(feature ="std"))]{// For no-std environments on unsupported platforms, we need a compile-time error
compile_error!("Unsupported target architecture for high-precision timing");}}