57
57
#include "badge_first_run.h"
58
58
#include <badge_input.h>
59
59
#include <badge.h>
60
- #include "powerdown.h"
61
60
62
61
// MicroPython runs as a task under FreeRTOS
63
62
#define MP_TASK_PRIORITY (ESP_TASK_PRIO_MIN + 1)
@@ -141,36 +140,6 @@ void do_bpp_bgnd() {
141
140
esp_restart ();
142
141
}
143
142
144
- //PowerDownManager callback. If all objects that call into the powerdown manager are OK to sleep,
145
- //it will calculate the time it can sleep and the mode to wake up in.
146
- void do_deep_sleep (int delayMs , void * arg , PowerMode mode ) {
147
- PowerMode currMode = (PowerMode )arg ;
148
- delayMs -= 8000 ; //to compensate for startup delay
149
- if (delayMs < 0 ) delayMs = 0 ;
150
- if (currMode == mode && delayMs < 5000 ) return ; //not worth sleeping
151
-
152
- printf ("Sleeping for %d ms...\n" , delayMs );
153
-
154
- //Shutdown anything running
155
- if (currMode == POWER_MODE_BPP ) {
156
- bpp_shutdown ();
157
- }
158
-
159
- //Select wake mode
160
- uint8_t rtcmodebit = 0 ;
161
- if (mode == POWER_MODE_BPP ) rtcmodebit = 2 ;
162
- if (mode == POWER_MODE_UPY ) rtcmodebit = 0 ;
163
- esp_rtcmem_write (0 , rtcmodebit );
164
- esp_rtcmem_write (1 , ~rtcmodebit );
165
-
166
- // TODO the wake on touch should be in badge_input_init
167
- esp_deep_sleep_enable_ext0_wakeup (GPIO_NUM_25 , 0 );
168
- // FIXME don't use hardcoded GPIO_NUM_25
169
- esp_deep_sleep_enable_timer_wakeup (delayMs * 1000 );
170
- esp_deep_sleep_start ();
171
- }
172
-
173
-
174
143
void app_main (void ) {
175
144
badge_check_first_run ();
176
145
badge_base_init ();
@@ -191,22 +160,20 @@ void app_main(void) {
191
160
badge_init ();
192
161
if (badge_input_button_state == 0 ) {
193
162
printf ("Starting bpp.\n" );
194
- powerDownMgrInit (do_deep_sleep , (void * )POWER_MODE_BPP , POWER_MODE_BPP , true);
195
163
do_bpp_bgnd ();
196
164
} else {
197
- printf ("Touch wake after bpp.\n" );
198
- powerDownMgrInit (do_deep_sleep , (void * )POWER_MODE_UPY , POWER_MODE_UPY , false);
199
- xTaskCreateStaticPinnedToCore (mp_task , "mp_task" , MP_TASK_STACK_LEN , NULL , MP_TASK_PRIORITY ,
200
- & mp_task_stack [0 ], & mp_task_tcb , 0 );
201
- }
165
+ printf ("Touch wake after bpp.\n" );
166
+ xTaskCreateStaticPinnedToCore (mp_task , "mp_task" , MP_TASK_STACK_LEN , NULL , MP_TASK_PRIORITY ,
167
+ & mp_task_stack [0 ], & mp_task_tcb , 0 );
168
+ }
202
169
break ;
203
170
#endif
171
+
204
172
case 3 :
205
173
badge_first_run ();
206
174
}
207
175
208
176
} else {
209
- powerDownMgrInit (do_deep_sleep , (void * )POWER_MODE_UPY , POWER_MODE_UPY , false);
210
177
xTaskCreateStaticPinnedToCore (mp_task , "mp_task" , MP_TASK_STACK_LEN , NULL , MP_TASK_PRIORITY ,
211
178
& mp_task_stack [0 ], & mp_task_tcb , 0 );
212
179
}
0 commit comments