68 lines
1.3 KiB
C
68 lines
1.3 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
#include "sdkconfig.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if CONFIG_PM_ENABLE && CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
|
#include "esp_err.h"
|
|
/**
|
|
* @brief This function initializes the Zigbee sleep.
|
|
*
|
|
* @return
|
|
* - ESP_OK on success
|
|
* - ESP_FAIL on failure
|
|
*
|
|
*/
|
|
esp_err_t zb_esp_sleep_init(void);
|
|
|
|
/**
|
|
* @brief This function performs the Zigbee sleep process.
|
|
*
|
|
*/
|
|
void zb_esp_sleep_process(uint32_t sleep_time_ms);
|
|
|
|
/**
|
|
* @brief This function performs the Zigbee wakeup process.
|
|
*
|
|
*/
|
|
void zb_esp_wakeup_process(void);
|
|
|
|
/**
|
|
* @brief This function enable the Zigbee sleep.
|
|
*
|
|
* @param[in] enable Zigbee sleep enable set
|
|
*
|
|
*/
|
|
void zb_esp_sleep_enable_set(bool enable);
|
|
|
|
/**
|
|
* @brief This function get the Zigbee sleep enable or not.
|
|
*
|
|
* @return
|
|
* - True Zigbee sleep has been enable
|
|
* - False Zigbee sleep has been disable
|
|
*
|
|
*/
|
|
bool zb_esp_sleep_enable_get(void);
|
|
|
|
/**
|
|
* @brief The sleep task iteration.
|
|
*
|
|
* @param[in] time_ms The max block time for each iteration, in milliseconds.
|
|
*
|
|
*/
|
|
void zb_osif_sleep_iteration(uint32_t time_ms);
|
|
|
|
#endif // CONFIG_PM_ENABLE && CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|