Skip to content

Commit 2cf9544

Browse files
authored
Merge pull request #191 from kossnikita/modifiedWriteValues
Add modifiedWriteValues patch
2 parents 0da386b + b08ee9e commit 2cf9544

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-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` and `readAction` field patch (#156)
1011

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

src/patch/mod.rs

Lines changed: 9 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, ReadAction, RegisterCluster,
12+
RegisterInfo, RegisterInfoBuilder, RegisterProperties, Usage, ValidateLevel, WriteConstraint,
13+
WriteConstraintRange,
1314
};
1415
use svd_parser::SVDError::DimIndexParse;
1516
use svd_rs::{DimElement, DimElementBuilder, MaybeArray};
@@ -430,6 +431,12 @@ 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+
}
437+
if let Some(read_action) = fadd.get_str("readAction")? {
438+
fnew = fnew.read_action(ReadAction::parse_str(read_action))
439+
}
433440

434441
Ok(fnew)
435442
}

0 commit comments

Comments
 (0)