Skip to content

Commit 3013e37

Browse files
committed
evs name
1 parent 81bd5da commit 3013e37

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

CHANGELOG-rust.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ This changelog tracks the Rust `svdtools` project. See
55

66
## [Unreleased]
77

8+
* Allow to specify `name` for `enumeratedValues`
9+
810
## [v0.3.9] 2024-01-19
911

1012
* Use `<details>` instead of JavaScript in `html` template

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,8 @@ _rebase:
306306

307307
# A field in this register, matches an SVD <field> tag
308308
FIELD:
309+
# You can optionally specify name for `enumeratedValues`
310+
_name: NAME
309311
# By giving the field a dictionary we construct an enumerateValues
310312
VARIANT: [VALUE, DESCRIPTION]
311313
VARIANT: [VALUE, DESCRIPTION]

src/patch/register.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,11 @@ impl RegisterExt for Register {
742742
let (min_offset, fname, min_offset_pos) =
743743
offsets.iter().min_by_key(|&on| on.0).unwrap();
744744
let min_pos = offsets.iter().map(|on| on.2).min().unwrap();
745-
let name = make_ev_name(&fname.replace("%s", ""), usage)?;
745+
let name = if let Some(name) = fmod.get_str("_name")? {
746+
name.to_string()
747+
} else {
748+
make_ev_name(&fname.replace("%s", ""), usage)?
749+
};
746750
for ftag in self.iter_fields(fspec) {
747751
let access = ftag.access.or(reg_access).unwrap_or_default();
748752
let checked_usage = check_usage(access, usage)

0 commit comments

Comments
 (0)