@@ -8,8 +8,9 @@ use svd_parser::svd::{
8
8
addressblock:: AddressBlockBuilder , interrupt:: InterruptBuilder , Access , AddressBlock ,
9
9
AddressBlockUsage , ClusterInfo , ClusterInfoBuilder , Cpu , CpuBuilder , Endian , EnumeratedValue ,
10
10
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 ,
13
14
} ;
14
15
use svd_parser:: SVDError :: DimIndexParse ;
15
16
use svd_rs:: { DimElement , DimElementBuilder , MaybeArray } ;
@@ -430,6 +431,12 @@ fn make_field(fadd: &Hash) -> Result<FieldInfoBuilder> {
430
431
if let Some ( width) = fadd. get_i64 ( "bitWidth" ) ? {
431
432
fnew = fnew. bit_width ( width as u32 )
432
433
}
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
+ }
433
440
434
441
Ok ( fnew)
435
442
}
0 commit comments