@@ -122,13 +122,7 @@ void Board::enableWakeupFromPin(uint8_t pin, PinStatus direction){
122
122
123
123
#if defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || defined(ARDUINO_NICLA_VISION)
124
124
void Board::enableWakeupFromPin (){
125
- // If no wake up method is selected yet, set it to wake up from pin activity
126
- if (standbyType == LowPowerStandbyType::None){
127
- standbyType = LowPowerStandbyType::UntilPinActivity;
128
- // If there is already a wake up method selected, set it to wake up from both pin activity and time elapsed
129
- } else if (standbyType == LowPowerStandbyType::UntilTimeElapsed){
130
- standbyType = LowPowerStandbyType::UntilBothAreTrue;
131
- }
125
+ standbyType |= StandbyType::untilPinActivity;
132
126
}
133
127
134
128
void Board::enableSleepWhenIdle (){
@@ -141,12 +135,7 @@ void Board::enableWakeupFromRTC(){
141
135
#if defined(ARDUINO_PORTENTA_C33)
142
136
lowPower->enableWakeupFromRTC ();
143
137
#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || defined(ARDUINO_NICLA_VISION)
144
- // If no wake up method is selected yet, set it to wake up from RTC
145
- if (standbyType == LowPowerStandbyType::None){
146
- standbyType = LowPowerStandbyType::UntilTimeElapsed;
147
- } else if (standbyType == LowPowerStandbyType::UntilPinActivity){
148
- standbyType = LowPowerStandbyType::UntilBothAreTrue;
149
- }
138
+ standbyType |= StandbyType::untilTimeElapsed;
150
139
#endif
151
140
}
152
141
@@ -210,12 +199,12 @@ void Board::deepSleepUntilWakeupEvent(){
210
199
#if defined(ARDUINO_PORTENTA_C33)
211
200
lowPower -> deepSleep ();
212
201
#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4) || defined(ARDUINO_NICLA_VISION)
213
- if (standbyType == LowPowerStandbyType::UntilBothAreTrue )
214
- LowPower.standbyM7 (LowPowerStandbyType::UntilPinActivity | LowPowerStandbyType::UntilTimeElapsed , rtcWakeupDelay);
215
- else if (standbyType == LowPowerStandbyType::UntilPinActivity )
216
- LowPower.standbyM7 (LowPowerStandbyType::UntilPinActivity );
217
- else if (standbyType == LowPowerStandbyType::UntilTimeElapsed )
218
- LowPower.standbyM7 (LowPowerStandbyType::UntilTimeElapsed , rtcWakeupDelay);
202
+ if (standbyType == StandbyType::untilEither )
203
+ LowPower.standbyM7 (LowPowerStandbyType::untilPinActivity | LowPowerStandbyType::untilTimeElapsed , rtcWakeupDelay);
204
+ else if (standbyType == StandbyType::untilPinActivity )
205
+ LowPower.standbyM7 (LowPowerStandbyType::untilPinActivity );
206
+ else if (standbyType == StandbyType::untilTimeElapsed )
207
+ LowPower.standbyM7 (LowPowerStandbyType::untilTimeElapsed , rtcWakeupDelay);
219
208
#endif
220
209
}
221
210
0 commit comments