Skip to content

Commit 628e4b1

Browse files
authored
Merge pull request #28 from FluenTech/v0.6
V0.6 Release
2 parents 0386cc1 + c04a901 commit 628e4b1

16 files changed

+1306
-526
lines changed

CHANGELOG.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Changelog
2+
3+
## [Unreleased]
4+
5+
6+
[unreleased]: https://github.com/FluenTech/embedded-time/compare/v0.6.0...HEAD
7+
8+
## [0.6.0] - 2020-07-03
9+
10+
### Added
11+
12+
- A `Timer` type supporting one-shot and periodic software timers utilizing a `Clock` implementation
13+
- Fallibility and error handling for `Clock` methods
14+
- `Instant::duration_until()` with order checking
15+
- Order checking to `Instant::duration_since()`
16+
- Bounds checking on `Instant` impls of Add/Sub
17+
- Changelog back to v0.5.0 release
18+
- [`crossbeam-utils`](https://crates.io/crates/crossbeam-utils) dev-dependency for scoped threads in tests
19+
20+
### Changed
21+
22+
- Add `&self` to `Clock` functions (make stateful, or at least allow stateful implementations)
23+
- All time-type inner types from signed to unsigned
24+
- `Instant::duration_since()` return type to `Result`
25+
- Refactor `examples/nrf52_dk`
26+
27+
[0.6.0]: https://github.com/FluenTech/embedded-time/compare/v0.5.2...v0.6.0
28+
29+
## [0.5.2] - 2020-06-21
30+
31+
### Added
32+
33+
- Ability to convert to/from [`core::time::Duration`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html)
34+
- Missing documentation
35+
36+
### Changed
37+
38+
- Moved majority of `Duration`-related documentation to `Duration` trait
39+
- Minor refactoring
40+
41+
[0.5.2]: https://github.com/FluenTech/embedded-time/compare/v0.5.1...v0.5.2
42+
43+
44+
## [0.5.1] - 2020-06-21
45+
46+
### Changed
47+
48+
- Repository location
49+
50+
### Removed
51+
52+
- `Period` from `prelude` mod as it is no longer a trait
53+
54+
[0.5.1]: https://github.com/FluenTech/embedded-time/compare/v0.5.0...v0.5.1
55+
56+
57+
## [0.5.0] - 2020-06-17
58+
59+
### Added
60+
61+
- `cargo doc` CI test
62+
- Frequency-based type (`Hertz`) with conversion to/from `Period`
63+
- CI tests for `stable`
64+
65+
### Changed
66+
67+
- Rename `duration::time_units` to `duration::units` (`units` is also re-exported)
68+
- Rename `TimeRep` to `TimeInt`
69+
- Update `num` to v0.3.x
70+
- Make `Period` a struct that wraps a `Ratio`, rather than a trait
71+
72+
### Removed
73+
74+
- `associated_type_bounds` feature flag to allow `stable` build
75+
- Re-export of the `duration` module (wasn't useful)
76+
77+
[0.5.0]: https://github.com/FluenTech/embedded-time/compare/v0.4.0...v0.5.0

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

Cargo.lock

Lines changed: 75 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "embedded-time"
3-
version = "0.5.2"
3+
version = "0.6.0"
44
authors = ["Peter Taylor <[email protected]>"]
55
edition = "2018"
66
description = "A library for abstracting clocks and handling time(ing) in embedded systems"
@@ -20,7 +20,6 @@ cortex-m = "0.6.2"
2020
cortex-m-rt = "0.6.12"
2121
panic_rtt = "0.3.0"
2222
nrf52832-hal = { version = "0.10.0", default-features = false, features = ["rt", "xxAA-package"] }
23-
mutex-trait = "0.2.0"
2423

25-
[patch.crates-io]
26-
cortex-m = { git = "https://github.com/rust-embedded/cortex-m", branch = "mutex_add" }
24+
[target.'cfg(not(target_arch = "arm"))'.dev-dependencies]
25+
crossbeam-utils = "0.7.2"

README.md

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,42 @@
55
[docs.rs]: https://docs.rs/embedded-time/badge.svg
66

77
`embedded-time` provides a comprehensive library for implementing abstractions over
8-
hardware and work with _clocks_, _instants_, _durations_, _periods_, and _frequencies_ in a more intuitive way.
9-
8+
hardware and work with _clocks_, _timers_, _instants_, _durations_, _periods_, and _frequencies_ in a more intuitive way.
9+
10+
## Hardware Abstraction
11+
1012
- `Clock` trait allowing abstraction of hardware timers for timekeeping.
11-
- Work with time using _milliseconds_, _seconds_, _hertz_, etc. rather than _cycles_ or _ticks_.
12-
- Includes example for the nRF52_DK board
13-
- Conversion to/from core::time::Duration
13+
14+
## Timers
15+
16+
- Software timers spawned from a `Clock` impl object.
17+
- One-shot or periodic/continuous
18+
- Blocking delay
19+
- Poll for expiration
20+
- Read elapsed/remaining duration
21+
22+
## Duration Types
23+
24+
- Nanoseconds
25+
- Microseconds
26+
- Milliseconds
27+
- Seconds
28+
- Minutes
29+
- Hours
30+
31+
## Frequency Type
32+
33+
- Hertz
34+
35+
## `core` Compatibility
36+
37+
- Conversion to/from `core::time::Duration`
38+
39+
## Reliability and Usability
40+
- Extensive tests
41+
- Thorough documentation with examples
42+
- Example for the nRF52_DK board
43+
1444

1545
## License
1646
This project is licensed under either of

0 commit comments

Comments
 (0)