@@ -81,8 +81,24 @@ pub fn render(
81
81
} else {
82
82
return Err ( anyhow ! ( "Incorrect access of register {}" , register. name) ) ;
83
83
} ;
84
- let alias_doc =
85
- format ! ( "{name} ({accs}) register accessor: an alias for `Reg<{regspec_ident}>`" ) ;
84
+
85
+ let mut alias_doc = format ! (
86
+ "{name} ({accs}) register accessor: {description}\n \n {}" ,
87
+ api_docs(
88
+ access. can_read( ) ,
89
+ access. can_write( ) ,
90
+ register. properties. reset_value. is_some( ) ,
91
+ & name_snake_case,
92
+ false ,
93
+ register. read_action,
94
+ ) ?
95
+ ) ;
96
+ if name_snake_case != "cfg" {
97
+ alias_doc += format ! (
98
+ "\n \n For information about available fields see [`{name_snake_case}`] module"
99
+ )
100
+ . as_str ( ) ;
101
+ }
86
102
let mut out = TokenStream :: new ( ) ;
87
103
out. extend ( quote ! {
88
104
#[ doc = #alias_doc]
@@ -112,6 +128,7 @@ fn api_docs(
112
128
can_write : bool ,
113
129
can_reset : bool ,
114
130
module : & Ident ,
131
+ inmodule : bool ,
115
132
read_action : Option < ReadAction > ,
116
133
) -> Result < String , std:: fmt:: Error > {
117
134
fn method ( s : & str ) -> String {
@@ -123,8 +140,9 @@ fn api_docs(
123
140
if can_read {
124
141
write ! (
125
142
doc,
126
- "You can {} this register and get [`{module}::R`](R)." ,
127
- method( "read" )
143
+ "You can {} this register and get [`{module}::R`]{}." ,
144
+ method( "read" ) ,
145
+ if inmodule { "(R)" } else { "" } ,
128
146
) ?;
129
147
130
148
if let Some ( action) = read_action {
@@ -148,21 +166,18 @@ fn api_docs(
148
166
methods. push ( "write_with_zero" ) ;
149
167
writeln ! (
150
168
doc,
151
- "You can {} this register using [`{module}::W`](W) .<br>" ,
169
+ "You can {} this register using [`{module}::W`]{} .<br>" ,
152
170
methods
153
171
. iter( )
154
172
. map( |m| method( m) )
155
173
. collect:: <Vec <_>>( )
156
- . join( ", " )
174
+ . join( ", " ) ,
175
+ if inmodule { "(W)" } else { "" } ,
157
176
) ?;
158
177
}
159
178
160
179
if can_read && can_write {
161
- writeln ! (
162
- doc,
163
- "You can also {} this register using [`{module}::R`](R) and [`{module}::W`](W).<br>" ,
164
- method( "modify" )
165
- ) ?;
180
+ writeln ! ( doc, "You can also {} this register.<br>" , method( "modify" ) , ) ?;
166
181
}
167
182
168
183
doc. push_str ( "See [API](https://docs.rs/svd2rust/#read--modify--write-api)." ) ;
@@ -370,7 +385,8 @@ pub fn render_register_mod(
370
385
can_write,
371
386
can_reset,
372
387
& name_snake_case,
373
- register. read_action
388
+ true ,
389
+ register. read_action,
374
390
) ?
375
391
) ;
376
392
0 commit comments