Skip to content

Commit 038169b

Browse files
committed
docs reset_value
1 parent 7b9d119 commit 038169b

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/generate/generic.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ pub fn render() -> Result<Vec<Tokens>> {
2424
///
2525
///This value is initial value for `write` method.
2626
///It can be also directly writed to register by `reset` method.
27-
pub trait ResetValue<U> {
27+
pub trait ResetValue {
28+
///Register size
29+
type Size;
2830
///Reset value of the register
29-
fn reset_value() -> U;
31+
fn reset_value() -> Self::Size;
3032
}
3133

3234
///Converting enumerated values to bits
@@ -61,7 +63,7 @@ pub fn render() -> Result<Vec<Tokens>> {
6163

6264
impl<U, REG> Reg<U, REG>
6365
where
64-
Self: ResetValue<U> + Writable,
66+
Self: ResetValue<Size=U> + Writable,
6567
U: Copy,
6668
{
6769
///Writes the reset value to `Writable` register
@@ -75,7 +77,7 @@ pub fn render() -> Result<Vec<Tokens>> {
7577
generic_items.push(quote! {
7678
impl<U, REG> Reg<U, REG>
7779
where
78-
Self: ResetValue<U> + Writable,
80+
Self: ResetValue<Size=U> + Writable,
7981
U: Copy
8082
{
8183
///Writes bits to `Writable` register

src/generate/register.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ pub fn render(
5050
#[doc = #desc]
5151
pub type R = crate::R<#rty, super::#name_pc>;
5252
});
53-
methods.push("`read`");
53+
methods.push("read");
5454
}
5555

5656
if can_write {
@@ -66,18 +66,19 @@ pub fn render(
6666
#[doc = #desc]
6767
pub type W = crate::W<#rty, super::#name_pc>;
6868
#[doc = #doc]
69-
impl crate::ResetValue<#rty> for super::#name_pc {
69+
impl crate::ResetValue for super::#name_pc {
70+
type Size = #rty;
7071
#[inline(always)]
71-
fn reset_value() -> #rty { #rv }
72+
fn reset_value() -> Self::Size { #rv }
7273
}
7374
});
74-
methods.push("`reset`");
75-
methods.push("`write`");
76-
methods.push("`write_with_zero`");
75+
methods.push("reset");
76+
methods.push("write");
77+
methods.push("write_with_zero");
7778
}
7879

7980
if can_read && can_write {
80-
methods.push("`modify`");
81+
methods.push("modify");
8182
}
8283

8384
if let Some(cur_fields) = register.fields.as_ref() {
@@ -141,6 +142,7 @@ pub fn render(
141142
}
142143

143144
let mut out = vec![];
145+
let methods = methods.iter().map(|s| format!("[`{0}`](crate::generic::Reg::{0})", s)).collect::<Vec<_>>();
144146
let mut doc = format!("{}\n\nThis register you can {}. See [API](https://docs.rs/svd2rust/#read--modify--write-api).",
145147
&description, methods.join(", "));
146148

0 commit comments

Comments
 (0)