Skip to content

Commit 5ecfdfc

Browse files
committed
add modifiedWriteValues patch
1 parent 0da386b commit 5ecfdfc

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

CHANGELOG-rust.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This changelog tracks the Rust `svdtools` project. See
77

88
* Add `--enum_derive` flag
99
* Strip `alternateRegister` too
10+
* Add `modifiedWriteValues` field patch (#156)
1011

1112
## [v0.3.6] 2023-11-01
1213

src/patch/mod.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ use svd_parser::svd::{
88
addressblock::AddressBlockBuilder, interrupt::InterruptBuilder, Access, AddressBlock,
99
AddressBlockUsage, ClusterInfo, ClusterInfoBuilder, Cpu, CpuBuilder, Endian, EnumeratedValue,
1010
EnumeratedValues, EnumeratedValuesBuilder, FieldInfo, FieldInfoBuilder, Interrupt,
11-
PeripheralInfo, PeripheralInfoBuilder, RegisterCluster, RegisterInfo, RegisterInfoBuilder,
12-
RegisterProperties, Usage, ValidateLevel, WriteConstraint, WriteConstraintRange,
11+
ModifiedWriteValues, PeripheralInfo, PeripheralInfoBuilder, RegisterCluster, RegisterInfo,
12+
RegisterInfoBuilder, RegisterProperties, Usage, ValidateLevel, WriteConstraint,
13+
WriteConstraintRange,
1314
};
1415
use svd_parser::SVDError::DimIndexParse;
1516
use svd_rs::{DimElement, DimElementBuilder, MaybeArray};
@@ -430,6 +431,9 @@ fn make_field(fadd: &Hash) -> Result<FieldInfoBuilder> {
430431
if let Some(width) = fadd.get_i64("bitWidth")? {
431432
fnew = fnew.bit_width(width as u32)
432433
}
434+
if let Some(modified_write_values) = fadd.get_str("modifiedWriteValues")? {
435+
fnew = fnew.modified_write_values(ModifiedWriteValues::parse_str(modified_write_values))
436+
}
433437

434438
Ok(fnew)
435439
}

0 commit comments

Comments
 (0)