0.12.1 - 2021-10-02
Instantcomparison returned wrong result if equal
0.12.0 - 2021-05-30
- make
Generic::integer()return a value
- limit Rate and Duration extension to u32
- removed all use os
unwrap()
0.11.0 - 2021-05-06
- generic duration comparisons
- serde support
- symmetric
Duration/Instantmath
- export
TimeInttrait FixedPoint::integer()returns by value
0.10.1 - 2020-11-15
- add Div bound to fix nightly build
0.10.0 - 2020-08-28
- multiplication and division (both operator and checked) of durations and rates by integers
- eliminate auto-widening in rate and duration conversions
- conversions between binary-rate (kibi, mebi) and decimal-rate (kilo, mega) types
- clarify and add documentation concerning
Generictypes - update intra-kind (duration/rate) conversion examples
0.9.1 - 2020-08-07
- Re-export
Fractiontype in thedurationandratemodule- Allows for a single import (eg
use duration::*) to supportGenericusage which usesFraction
- Allows for a single import (eg
- Unify readme's and crate-level documentation
- The GitHub
README.mdand crates.iocrates-io.mdare now generated usingcargo-readme
- The GitHub
0.9.0 - 2020-08-05
Fromimplementations for infallible intra-rate and intra-duration conversions- Implementations of common traits to types
- More frequency types: mebihertz (MiHz) and kibihertz(KiHz)
- More test coverage
- Fallible intra-rate and intra-duration conversions use
try_from()/try_into()rather than thetry_convert_methods - Replaced
try_into_generic()withto_generic() - Replaced
try_from_(duration/rate) withto_duration()andto_rate() - Return
Options fromchecked_methods rather thanResults - Remove impl-specific
Clockerror type (ImplError)
- trait module
- duration- and/or rate-specific functionality can be imported separately by using duration::* and rate::*
0.8.1 - 2020-07-25
The way the conversions from duration to rate (Rate::try_from_duration()) and from rate to duration (Duration::try_from_rate()) were causing unnecessary arithmetic overflows and type conversion failures. These functions are now optimized similar to the other similar conversion algorithms.
0.8.0 - 2020-07-24
-
A full range of rate types implemented at the same level as the duration types (as a fixed-point value)
Units Extension Megahertz MHz Kilohertz kHz Hertz Hz MebibytePerSecond MiBps MegabytePerSecond MBps KibibytePerSecond KiBps KiloBytePerSecond KBps BytePerSecond Bps MebibitPerSecond Mibps MegabitPerSecond Mbps KibibitPerSecond Kibps KilobitPerSecond kbps BitPerSecond bps Mebibaud MiBd Megabaud MBd Kibibaud KiBd Kilobaud kBd Baud Bd -
Conversion between duration and rate types
Microseconds::<u32>::try_from_rate(Kilohertz(2_u32)) -> Ok(Microseconds(500_u32)) Kilohertz::<u32>::try_from_duration(Microseconds(2_u32)) -> Ok(Kilohertz(500_u32))
-
Genericduration/rate types returned byInstantmethods that return a duration/rate and convertible to/from named durations/ratesSeconds(2_u64).try_into_generic(Fraction::new(1, 2_000)) -> Ok(Generic::new(4_000_u32, Fraction::new(1, 2_000)))) Seconds::<u64>::try_from(Generic::new(2_000_u32, Fraction::new(1, 1_000))) -> Ok(Seconds(2_u64)) Hertz(2_u64).try_into_generic(Fraction::new(1,2_000)) -> Ok(Generic::new(4_000_u32, Fraction::new(1,2_000)))) Hertz::<u64>::try_from(Generic::new(2_000_u32, Fraction::new(1,1_000))) -> Ok(Hertz(2_u64))
- Rename
frequencymodule torate - Updated crate description
- The
const PERIODs in duration and clock traits is nowconst SCALING_FACTOR - The
Periodtype is renamed toFractionand is no longer generic (now u32)
0.7.0 - 2020-07-13
- Error propagation for all fallible paths including conversion errors as well as
Clockimplementation-specific errors - Construct-and-read benchmark comparison to
core::time::durationshowingembedded-timeto be approximately 2.5 times faster
- Intermittent
Timertest failures - Derive
CopyforHertz
0.6.0 - 2020-07-03
- A
Timertype supporting one-shot and periodic software timers utilizing aClockimplementation - Fallibility and error handling for
Clockmethods Instant::duration_until()with order checking- Order checking to
Instant::duration_since() - Bounds checking on
Instantimpls of Add/Sub - Changelog back to v0.5.0 release
crossbeam-utilsdev-dependency for scoped threads in tests
- Add
&selftoClockfunctions (make stateful, or at least allow stateful implementations) - All time-type inner types from signed to unsigned
Instant::duration_since()return type toResult- Refactor
examples/nrf52_dk
0.5.2 - 2020-06-21
- Ability to convert to/from
core::time::Duration - Missing documentation
- Moved majority of
Duration-related documentation toDurationtrait - Minor refactoring
0.5.1 - 2020-06-21
- Repository location
Periodfrompreludemod as it is no longer a trait
0.5.0 - 2020-06-17
cargo docCI test- Frequency-based type (
Hertz) with conversion to/fromPeriod - CI tests for
stable
- Rename
duration::time_unitstoduration::units(unitsis also re-exported) - Rename
TimeReptoTimeInt - Update
numto v0.3.x - Make
Perioda struct that wraps aRatio, rather than a trait
associated_type_boundsfeature flag to allowstablebuild- Re-export of the
durationmodule (wasn't useful)