Files
banban/ql-kernel/threadx/common/include/quec_power_manager.h

95 lines
2.9 KiB
C

/** @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