Skip to content

Commit 9496060

Browse files
Victor Costasalkinium
authored andcommitted
[stm32] add advanced initialize on iwdg
1 parent 1a89fbe commit 9496060

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/modm/platform/iwdg/stm32/iwdg.hpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ class Iwdg : public ::modm::PeripheralDriver
4646
};
4747

4848
public:
49+
static inline void
50+
initialize(Prescaler prescaler, uint16_t reload)
51+
{
52+
writeKey(writeCommand);
53+
IWDG->PR = uint32_t(prescaler);
54+
IWDG->RLR = reload;
55+
writeKey(0); // disable access to PR and RLR registers
56+
}
57+
4958
template< class SystemClock, milliseconds_t timeout, percent_t tolerance=pct(1) >
5059
static void
5160
initialize()
@@ -55,10 +64,9 @@ class Iwdg : public ::modm::PeripheralDriver
5564
SystemClock::Iwdg, frequency, 1ul << 12, 256, 4);
5665
assertDurationInTolerance< 1.0 / result.frequency, 1.0 / frequency, tolerance >();
5766

58-
configure(Prescaler(result.index), result.counter - 1);
67+
initialize(Prescaler(result.index), result.counter - 1);
5968
}
6069

61-
6270
static inline void
6371
enable()
6472
{
@@ -78,15 +86,6 @@ class Iwdg : public ::modm::PeripheralDriver
7886
}
7987

8088
private:
81-
static inline void
82-
configure(Prescaler prescaler, uint16_t reload)
83-
{
84-
writeKey(writeCommand);
85-
IWDG->PR = uint32_t(prescaler);
86-
IWDG->RLR = reload;
87-
writeKey(0); // disable access to PR and RLR registers
88-
}
89-
9089
static inline void
9190
writeKey(uint16_t key)
9291
{

0 commit comments

Comments
 (0)