Skip to content

Commit 3a88a93

Browse files
added enableSleepWhenIdle() method for H7
1 parent f3005e0 commit 3a88a93

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/Board.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ void Board::enableWakeupFromPin(){
8080
}
8181
}
8282

83+
void Board::enableSleepWhenIdle(){
84+
LowPower.allowDeepSleep();
85+
}
8386
#endif
8487

8588

@@ -169,6 +172,20 @@ void Board::deepSleepUntilWakeupEvent(){
169172
this -> setAnalogDigitalConverterPower(on);
170173
Wire3.end();
171174
#else if defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
175+
if(on){
176+
PMIC.getControlPointer() -> turnLDO2On(Ldo2Mode::Normal);
177+
PMIC.getControlPointer() -> turnLDO2On(Ldo2Mode::Sleep);
178+
PMIC.getControlPointer() -> turnLDO2On(Ldo2Mode::Standby);
179+
PMIC.getControlPointer() -> turnLDO1On(Ldo1Mode::Normal);
180+
PMIC.getControlPointer() -> turnLDO1On(Ldo1Mode::Sleep);
181+
PMIC.getControlPointer() -> turnLDO1On(Ldo1Mode::Standby);
182+
PMIC.getControlPointer() -> turnLDO3On(Ldo3Mode::Normal);
183+
PMIC.getControlPointer() -> turnLDO3On(Ldo3Mode::Sleep);
184+
PMIC.getControlPointer() -> turnLDO3On(Ldo3Mode::Standby);
185+
PMIC.getControlPointer() -> turnSw1On(Sw1Mode::Normal);
186+
PMIC.getControlPointer() -> turnSw1On(Sw1Mode::Sleep);
187+
PMIC.getControlPointer() -> turnSw1On(Sw1Mode::Standby);
188+
} else {
172189
PMIC.getControlPointer() -> turnLDO2Off(Ldo2Mode::Normal);
173190
PMIC.getControlPointer() -> turnLDO2Off(Ldo2Mode::Sleep);
174191
PMIC.getControlPointer() -> turnLDO2Off(Ldo2Mode::Standby);
@@ -182,6 +199,8 @@ void Board::deepSleepUntilWakeupEvent(){
182199
PMIC.getControlPointer() -> turnSw1Off(Sw1Mode::Sleep);
183200
PMIC.getControlPointer() -> turnSw1Off(Sw1Mode::Standby);
184201
Wire1.end();
202+
}
203+
185204
#endif
186205

187206
/*

src/Board.h

+3
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ class Board {
7171

7272
#if defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || defined(ARDUINO_NICLA_VISION)
7373
void enableWakeupFromPin();
74+
75+
76+
void enableSleepWhenIdle();
7477
#endif
7578

7679
#if defined(ARDUINO_PORTENTA_C33)

0 commit comments

Comments
 (0)