2525 * THE SOFTWARE.
2626 */
2727
28- #include <sys/time.h>
29-
30- #include "common-hal/alarm/__init__.h"
3128#include "shared-bindings/alarm/__init__.h"
29+ #include "shared-bindings/alarm_io/__init__.h"
30+ #include "shared-bindings/alarm_time/__init__.h"
3231
3332#include "esp_sleep.h"
34- #include "soc/rtc_periph.h"
35- #include "driver/rtc_io.h"
36-
37- static RTC_DATA_ATTR struct timeval sleep_enter_time ;
38- static RTC_DATA_ATTR struct timeval sleep_exit_time ;
39- static RTC_DATA_ATTR uint8_t wake_io ;
40-
41- int common_hal_alarm_get_sleep_time (void ) {
42- return (sleep_exit_time .tv_sec - sleep_enter_time .tv_sec ) * 1000 + (sleep_exit_time .tv_usec - sleep_enter_time .tv_usec ) / 1000 ;
43- }
44-
45- void RTC_IRAM_ATTR esp_wake_deep_sleep (void ) {
46- esp_default_wake_deep_sleep ();
47- wake_io = rtc_gpio_get_level (6 );
48- gettimeofday (& sleep_exit_time , NULL );
49- }
5033
5134mp_obj_t common_hal_alarm_get_wake_alarm (void ) {
5235 switch (esp_sleep_get_wakeup_cause ()) {
@@ -57,23 +40,12 @@ mp_obj_t common_hal_alarm_get_wake_alarm(void) {
5740 return timer ;
5841 case ESP_SLEEP_WAKEUP_EXT0 : ;
5942 //Wake up from GPIO
60- /* alarm_io_obj_t *ext0 = m_new_obj(alarm_io_obj_t);
43+ alarm_io_obj_t * ext0 = m_new_obj (alarm_io_obj_t );
6144 ext0 -> base .type = & alarm_io_type ;
62- return ext0;*/
63- return mp_obj_new_int (wake_io );
64- case ESP_SLEEP_WAKEUP_EXT1 :
65- //Wake up from GPIO, returns -> esp_sleep_get_ext1_wakeup_status()
66- /*uint64_t wakeup_pin_mask = esp_sleep_get_ext1_wakeup_status();
67- if (wakeup_pin_mask != 0) {
68- int pin = __builtin_ffsll(wakeup_pin_mask) - 1;
69- printf("Wake up from GPIO %d\n", pin);
70- } else {
71- printf("Wake up from GPIO\n");
72- }*/
73- break ;
45+ return ext0 ;
7446 case ESP_SLEEP_WAKEUP_TOUCHPAD :
7547 //TODO: implement TouchIO
76- //Wake up from touch on pad, returns -> esp_sleep_get_touchpad_wakeup_status()
48+ //Wake up from touch on pad, esp_sleep_get_touchpad_wakeup_status()
7749 break ;
7850 case ESP_SLEEP_WAKEUP_UNDEFINED :
7951 default :
0 commit comments