/** @file quec_power_manager.h @brief This file is used to define at command parameter for different Quectel Project. */ /*================================================================ Copyright (c) 2018 Quectel Wireless Solution, Co., Ltd. All Rights Reserved. Quectel Wireless Solution Proprietary and Confidential. =================================================================*/ /*================================================================= EDIT HISTORY FOR MODULE This section contains comments describing changes made to the module. Notice that changes are listed in reverse chronological order. WHEN WHO WHAT, WHERE, WHY ------------ ------- ------------------------------------------------------------------------------- 11/19/2018 Chaim Init version =================================================================*/ #ifndef __QUEC_POWER_MANAGER_H__ #define __QUEC_POWER_MANAGER_H__ #include "quec_cust_feature.h" #include "quec_common.h" #include "teldef.h" #include "quec_rtos.h" #ifdef QUEC_POWER_MANAGER_ENABLE #define QUEC_POWER_MANAGER_LOG_ENABLE #ifdef QUEC_QSCLKEX_ENABLE #define QUEC_RRC_RELEASE_FASTER_FUNC_DISABLE 0 #define QUEC_RRC_RELEASE_FASTER_FUNC_ENABLE 1 #define QUEC_QSCLK_EX_NO_DATA_MIN 1 #define QUEC_QSCLK_EX_NO_DATA_MAX 50 #define QUEC_QSCLK_EX_NO_DATA_DEFAULT 3 #define QUEC_QSCLK_EX_RETRY_TIME_MIN 0 #define QUEC_QSCLK_EX_RETRY_TIME_DEFAULT 30 //Chaim 20200411 unit:min #define QUEC_QSCLK_EX_RETRY_TIME_MAX 600 //Chaim 20200411 unit:min #define QUEC_QSCLK_EX_CMD_PARAM_NUM_MAX 3 #define QUEC_RRC_RELEASE_FASTER_MEDCR_POSITION 34 #define QSLKEX_PUNISH_TIME_UNIT 60 //Chaim 20200822 min -->second #define QSCLKEX_RELEASE_TIME_DISABLE ((uint8)0) typedef struct { bool en; uint8 no_data_time; uint16 punish_time; uint16 punish_remain_time; bool punish_act; uint8 l_release_time; }quec_qsclk_ex_s; typedef enum{ QSCLKEX_EN=0, QSCLKEX_NO_DATA_TIME, QSCLKEX_PUNISH_TIME, }quec_qsclk_param_name; int quec_qsclkex_disable_punishtime(void); int quec_qsclkex_punishtime_init(void); int quec_qsclkex_param_set(quec_qsclk_param_name name,uint16 value); void quec_rrc_release_faster_handle(void); void quec_l_rrc_release_faster_process(void); QuecOSStatus quec_qsclkex_punishtimer_create(void); void quec_qsclkex_punish_timer_handle(UINT32 val); void quec_qsclkex_clear_punish_timer(void); QuecOSStatus quec_qsclkex_punishtimer_start(uint16 time_s); QuecOSStatus quec_qsclkex_punishtimer_stop(void); uint16 quec_qsclkex_punishtime_get(void); int quec_qsclkex_punishtime_set(uint16 punish_time_s); int quec_qsclkex_read_punishtime(void); #endif extern void QuecPowerControlEntrance(UINT8 urc_cnt, char * p_normal_urc, UINT8 reset); extern void quec_cfun_reset_wait_maxtime(void); #endif #endif