File tree Expand file tree Collapse file tree 5 files changed +11
-26
lines changed Expand file tree Collapse file tree 5 files changed +11
-26
lines changed Original file line number Diff line number Diff line change @@ -68,8 +68,7 @@ impl Encode for Cluster {
68
68
fn encode ( & self ) -> Result < Element , SVDError > {
69
69
match self {
70
70
Cluster :: Single ( i) => {
71
- let mut e = i. encode ( ) ?;
72
- Ok ( e)
71
+ i. encode ( )
73
72
}
74
73
Cluster :: Array ( i, a) => {
75
74
let mut e = i. encode ( ) ?;
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ use xmltree::Element;
4
4
use types:: Parse ;
5
5
6
6
#[ cfg( feature = "unproven" ) ]
7
- use encode:: Encode ;
7
+ use encode:: { Encode , EncodeChildren } ;
8
8
#[ cfg( feature = "unproven" ) ]
9
9
use new_element;
10
10
@@ -69,26 +69,7 @@ impl Encode for ClusterInfo {
69
69
Some ( format ! ( "{}" , self . address_offset) ) ,
70
70
) ) ;
71
71
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 ( ) ?) ;
92
73
93
74
for c in & self . children {
94
75
e. children . push ( c. encode ( ) ?) ;
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ use parse;
7
7
use types:: Parse ;
8
8
9
9
#[ cfg( feature = "unproven" ) ]
10
- use encode:: Encode ;
10
+ use encode:: { Encode , EncodeChildren } ;
11
11
use error:: SVDError ;
12
12
#[ cfg( feature = "unproven" ) ]
13
13
use new_element;
@@ -120,6 +120,8 @@ impl Encode for Device {
120
120
None => ( ) ,
121
121
}
122
122
123
+ elem. children . extend ( self . default_register_properties . encode ( ) ?) ;
124
+
123
125
match self . cpu {
124
126
Some ( ref v) => {
125
127
elem. children . push ( v. encode ( ) ?) ;
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ use failure::ResultExt;
8
8
use parse;
9
9
10
10
#[ cfg( feature = "unproven" ) ]
11
- use encode:: Encode ;
11
+ use encode:: { Encode , EncodeChildren } ;
12
12
#[ cfg( feature = "unproven" ) ]
13
13
use new_element;
14
14
use types:: Parse ;
@@ -171,6 +171,9 @@ impl Encode for Peripheral {
171
171
"baseAddress" ,
172
172
Some ( format ! ( "0x{:.08x}" , self . base_address) ) ,
173
173
) ) ;
174
+
175
+ elem. children . extend ( self . default_register_properties . encode ( ) ?) ;
176
+
174
177
match self . address_block {
175
178
Some ( ref v) => {
176
179
elem. children . push ( v. encode ( ) ?) ;
Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ impl Encode for Register {
60
60
Register :: Single ( ref info) => info. encode ( ) ,
61
61
Register :: Array ( ref info, ref array_info) => {
62
62
// TODO: is this correct? probably not, need tests
63
- let mut base = info. encode ( ) ?;
63
+ let base = info. encode ( ) ?;
64
64
base. merge ( & array_info. encode ( ) ?) ;
65
65
Ok ( base)
66
66
}
You can’t perform that action at this time.
0 commit comments