Skip to content

Commit 78b4cc4

Browse files
committed
register properties encode
1 parent 142145e commit 78b4cc4

File tree

5 files changed

+11
-26
lines changed

5 files changed

+11
-26
lines changed

src/svd/cluster.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ impl Encode for Cluster {
6868
fn encode(&self) -> Result<Element, SVDError> {
6969
match self {
7070
Cluster::Single(i) => {
71-
let mut e = i.encode()?;
72-
Ok(e)
71+
i.encode()
7372
}
7473
Cluster::Array(i, a) => {
7574
let mut e = i.encode()?;

src/svd/clusterinfo.rs

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use xmltree::Element;
44
use types::Parse;
55

66
#[cfg(feature = "unproven")]
7-
use encode::Encode;
7+
use encode::{Encode, EncodeChildren};
88
#[cfg(feature = "unproven")]
99
use new_element;
1010

@@ -69,26 +69,7 @@ impl Encode for ClusterInfo {
6969
Some(format!("{}", self.address_offset)),
7070
));
7171

72-
if let Some(ref v) = self.size {
73-
e.children
74-
.push(new_element("size", Some(format!("{}", v))));
75-
}
76-
77-
if let Some(ref v) = self.access {
78-
e.children.push(v.encode()?);
79-
}
80-
81-
if let Some(ref v) = self.reset_value {
82-
e.children.push(new_element(
83-
"resetValue",
84-
Some(format!("{}", v)),
85-
));
86-
}
87-
88-
if let Some(ref v) = self.reset_mask {
89-
e.children
90-
.push(new_element("resetMask", Some(format!("{}", v))));
91-
}
72+
e.children.extend(self.default_register_properties.encode()?);
9273

9374
for c in &self.children {
9475
e.children.push(c.encode()?);

src/svd/device.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use parse;
77
use types::Parse;
88

99
#[cfg(feature = "unproven")]
10-
use encode::Encode;
10+
use encode::{Encode, EncodeChildren};
1111
use error::SVDError;
1212
#[cfg(feature = "unproven")]
1313
use new_element;
@@ -120,6 +120,8 @@ impl Encode for Device {
120120
None => (),
121121
}
122122

123+
elem.children.extend(self.default_register_properties.encode()?);
124+
123125
match self.cpu {
124126
Some(ref v) => {
125127
elem.children.push(v.encode()?);

src/svd/peripheral.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use failure::ResultExt;
88
use parse;
99

1010
#[cfg(feature = "unproven")]
11-
use encode::Encode;
11+
use encode::{Encode, EncodeChildren};
1212
#[cfg(feature = "unproven")]
1313
use new_element;
1414
use types::Parse;
@@ -171,6 +171,9 @@ impl Encode for Peripheral {
171171
"baseAddress",
172172
Some(format!("0x{:.08x}", self.base_address)),
173173
));
174+
175+
elem.children.extend(self.default_register_properties.encode()?);
176+
174177
match self.address_block {
175178
Some(ref v) => {
176179
elem.children.push(v.encode()?);

src/svd/register.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ impl Encode for Register {
6060
Register::Single(ref info) => info.encode(),
6161
Register::Array(ref info, ref array_info) => {
6262
// TODO: is this correct? probably not, need tests
63-
let mut base = info.encode()?;
63+
let base = info.encode()?;
6464
base.merge(&array_info.encode()?);
6565
Ok(base)
6666
}

0 commit comments

Comments
 (0)