- Extract tock-registers to dedicated reposity.
There is a small breaking change, described below, which addresses semantic
confusion around matches_any()
. The interface has changed, so this should
result in compile-time awareness rather than any silent behavioral changes.
tock/tock#3336 480ee65139f1e51c149236a1b3e47cd61832ac80 Rename matches_any() to any_matching_bits_set(), implement matches_any()
The current implementation of matches_any() does not implement the functionality the name implies. This commit renames the existing implementation to a name which better describes its functionality, and introduces a new matches_any() function (with a different interface) that actually correctly implements the functionality suggested by the name. This commit also adds several tests to the tock-registers test suite to verify the new version works as expected, and removes a feature gate on a feature that no longer exists for the crate which was preventing some of the tock-registers teste suite from being run as part of
cargo test
.
- #3687: derive
Debug
onValue
- #3582: Update rust-toolchain to nightly of 2023-07-30
A point release to allow multiple invocations of register_fields!
in
the same module. See the PR and linked Issue for details.
- #3230: don't encapsulate test_fields! tests in mod
tock-registers
now supports stable Rust!
There is a small breaking change, documented below, required to support
Rust 2021 edition. Most of the remaining changes are improvements to the
internal self-testing infrastructure and documentation. There are also
some additions to FieldValue
to improve ergonomics.
- #2842: tock-registers: rename TryFromValue::try_from to try_from_value
- #2838: Update to Rust 2021 edition
- #3126: [trivial] tock-registers: mark two methods as
const
- #3088: tock_registers/test_fields: respect struct size padding w/ alignment
- #3072: Update Rust nightly version + Expose virtual-function-elimination
- libraries/tock-register-interface: Fixup register_structs documentation
- #2988: Remove const_fn_trait_bound feature and update nightly (Mar 2022)
- #3014: tock-registers: Implement From field enum value type for FieldValue
- #3013: tock-register-interface: Provide none method for FieldValue type
- #2916: tock-register-interface: improve read_as_enum documentation
- #2922: tock-register-interface: replace register tests by const assertions
- #2642: Rename
IntLike
toUIntLike
to match semantics - #2618: Reorganize, document, and feature-gate modules and exports
- #2589: Upgrade nightly for
const_fn
->const_fn_trait_bound
- #2517: Use traits for accessing / manipulating registers
- #2512: Fix
Copy
andClone
implementation onField
- #2300: Add support for
usize
- #2220: Remove duplicate code, make local register copy read-write
- #2210: Add
u128
toIntLike
- #2197: Accept trailing comma in bitfields and bitmasks
- #2095: Fix syntax errors and inconsistencies in documentation
- #2071: Clarify bit widths in documentation examples
- #2015: Use UnsafeCell in registers (see issue #2005)
- #1939: Make the Field::mask and FieldValue::mask fields private
- #1823: Allow large unsigned values as bitmasks + add bitmask! helper macro
- #1554: Allow lifetime parameters for
register_structs! { Foo<'a> { ..
- #1661: Add
Aliased
register type for MMIO with differing R/W behavior
-
#1510
- Register visibility granularity: don't automatically make everything
pub
, rather give creation macro callers visbility control.
- Register visibility granularity: don't automatically make everything
-
#1489
- Make
register_structs!
unit test generation opt-out, so thatcustom-test-frameworks
environments can disable them.
- Make
-
#1481
- Add
#[derive(Copy, Clone)]
to InMemoryRegister.
- Add
-
#1428
- Implement
mask()
forFieldValue<u16>
which seems to have been skipped at some point. - Implement
read()
forFieldValue
so that individual fields can be extracted from a registerFieldValue
representation.
- Implement
-
#1461: Update
register_structs
macro to support flexible visibility of each struct and each field. Also revert to private structs by default.
- #1458: Update struct macro to create
pub
structs
- #1368: Remove
new()
and addInMemoryRegister
- #1410: Add new macro for generating structs
- #1243: Update to Rust 2018 (nightly)
- #1250: Doc-only: Fix some rustdoc warnings
- #1161: Add
read_as_enum
toLocalRegisterCopy
; thanks @andre-richter