esp-iot-solution/components/features/ulp_monitor
InfiniteYuan1 15a43f8761 update components/platforms/alink/component.mk components/spi_devices/epaper/epaper.c components/spi_devices/xpt2046/include/iot_xpt2046.h examples/hmi/lvgl_coffee/main/app_main.cpp examples/smart_device/ examples/touch_pad_evb/Makefile
add CMakeList.txt of components
add CMake build for example(aws_iot_demo,check_pedestrian_flow,empty_project,esp32_azure_iot_kit,eth2wifi,hmi,lowpower_evb,oled_screen_module,touch_pad_evb)
add cmake support for ulp co-processor
add CMake build CI
update lvgl ugfx CMake
update example README.md
update solution README.md
add CMakeLists.txt for unit-test-app
update .gitlab-ci.yml
2019-04-10 11:12:42 +08:00
..
include style(license): Correct the licenses in source code, using Apache License, Version 2.0. 2018-02-26 14:18:11 +08:00
test style(license): Correct the licenses in source code, using Apache License, Version 2.0. 2018-02-26 14:18:11 +08:00
CMakeLists.txt update components/platforms/alink/component.mk components/spi_devices/epaper/epaper.c components/spi_devices/xpt2046/include/iot_xpt2046.h examples/hmi/lvgl_coffee/main/app_main.cpp examples/smart_device/ examples/touch_pad_evb/Makefile 2019-04-10 11:12:42 +08:00
component.mk style(component): add standalone mode 2018-05-19 15:09:06 +08:00
README.md style(framework): refactor the project framework 2017-11-07 14:11:42 +08:00
ulp_monitor.c style(license): Correct the licenses in source code, using Apache License, Version 2.0. 2018-02-26 14:18:11 +08:00

Component: Ulp_monitor

  • This component provides some apis for running simple ulp program in deep sleep.

  • A ulp_monitor component can provide:

    • read adc values from register during deep sleep
    • read temprature sensor value during deep sleep
    • store the values in RTC slow memory
    • set the sampling rate
    • wake up the chip if the value exceeds the threshold
    • wake up the chip if appointed numbers of value are sampled
  • Follow these steps to use ulp_monitor:

    • make menuconfig: Component config -> ESP32-specific -> choose "Enable Ultra Low Power (ULP) Coprocessor"
    • call iot_ulp_monitor_init() to set program address and data address
    • call adc1_config_width() and adc1_config_channel_atten() to config adc channel
    • call iot_ulp_add_adc_monitor() or(and) ulp_add_temperature_monitor() to add adc or temperature snesor sampling(they can be added at the same time and more than one adc channels can be added)
    • call iot_ulp_monitor_start() to run the ulp program and set the measurement period
    • call esp_deep_sleep_start() to enter deep sleep