Skip to content

Commit 08d2caf

Browse files
authored
Merge pull request #170 from rust-embedded/m366
use register size as dimIncrement for 1-element arrays
2 parents 07cb852 + 64c56d4 commit 08d2caf

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
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
* Revert #145
99
* Improve "Could not find errors"
10+
* use register size as dimIncrement for 1-element arrays
1011

1112
## [v0.3.3] 2023-10-02
1213

src/patch/peripheral.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1202,7 +1202,15 @@ fn collect_in_array(
12021202
.iter()
12031203
.map(|r| r.address_offset)
12041204
.collect::<Vec<_>>();
1205-
let dim_increment = if dim > 1 { offsets[1] - offsets[0] } else { 0 };
1205+
let dim_increment = if dim > 1 {
1206+
offsets[1] - offsets[0]
1207+
} else {
1208+
registers[0]
1209+
.properties
1210+
.size
1211+
.map(|s| s / 8)
1212+
.unwrap_or_default()
1213+
};
12061214
if !check_offsets(&offsets, dim_increment) {
12071215
return Err(anyhow!(
12081216
"{}: registers cannot be collected into {rspec} array. Different addressOffset increments",

0 commit comments

Comments
 (0)