273 lines
9.8 KiB
C
273 lines
9.8 KiB
C
/*================================================================
|
|
Copyright (c) 2018 Quectel Wireless Solution, Co., Ltd. All Rights Reserved.
|
|
Quectel Wireless Solution Proprietary and Confidential.
|
|
=================================================================*/
|
|
#include "telatci.h"
|
|
|
|
#ifndef _QUEC_ATCMD_NETWORK_H
|
|
#define _QUEC_ATCMD_NETWORK_H
|
|
|
|
typedef struct
|
|
{
|
|
UINT8 pdp_act_status; // 1:act 0:deact
|
|
}Quec_pdp_act_status_type;
|
|
|
|
RETURNCODE_T quectel_exec_qgdcnt_cmd
|
|
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
RETURNCODE_T quec_cell_cmd
|
|
(
|
|
const utlAtParameterOp_T op,
|
|
const char *command_name_p,
|
|
const utlAtParameterValue_P2c parameter_values_p,
|
|
const size_t num_parameters,
|
|
const char *info_text_p,
|
|
unsigned int *xid_p,
|
|
void *arg_p
|
|
);
|
|
RETURNCODE_T quectel_exec_qeng_cmd
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
#ifdef QUECTEL_AT_RFTEST_SUPPORT
|
|
RETURNCODE_T quectel_exec_qrftestmode_cmd
|
|
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
RETURNCODE_T quectel_exec_qrftest_cmd
|
|
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
RETURNCODE_T quectel_exec_qrxftm_cmd
|
|
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
typedef enum
|
|
{
|
|
QUEC_NETMODE_NONE = 0,
|
|
|
|
QUEC_NETMODE_GSM = 1,
|
|
QUEC_NETMODE_WCDMA = 2,
|
|
QUEC_NETMODE_LTE = 3,
|
|
|
|
//OTHERS
|
|
|
|
QUEC_NETMODE_MAX,
|
|
}quec_network_mode_type;
|
|
|
|
typedef struct
|
|
{
|
|
char act[10] ;
|
|
char plmn[10] ;
|
|
char band_description[20] ;
|
|
UINT32 active_channel;
|
|
UINT8 service_domain;// 0:cs only 1:ps only 2:cs+ps
|
|
UINT8 roam_status;//0:home 1:roaming
|
|
UINT8 sim_state;//0:valid 1:invalid 2:not_insert
|
|
}Quec_qnwinfo_type;
|
|
|
|
typedef struct tx_band_label_s {
|
|
quec_network_mode_type mode;
|
|
char *name;
|
|
UINT32 band;
|
|
UINT32 tx_chanel_min;
|
|
UINT32 tx_chanel_max;
|
|
UINT32 rx_chanel_min;
|
|
UINT32 rx_chanel_max;
|
|
} tx_band_label_type;
|
|
|
|
typedef struct quec_rftestmode_param{
|
|
quec_network_mode_type mode;
|
|
UINT8 tx_enable;
|
|
UINT8 rx_enable;
|
|
} quec_rftestmode_param_type;
|
|
|
|
#define QUEC_MAX_TX_POWER 2047
|
|
#define QUEC_MIN_TX_POWER 0
|
|
|
|
#define QUEC_MAX_RX_POWER 2047
|
|
#define QUEC_MIN_RX_POWER 0
|
|
|
|
#endif
|
|
|
|
extern Quec_pdp_act_status_type quec_pdp_act_state[CI_PS_MAX_CID];
|
|
|
|
#ifdef QUEC_USB_QWIFISCAN_SUPPORT
|
|
typedef int QuecOSStatus;
|
|
typedef unsigned int uint32;
|
|
#define WIFISCAN_IND_BUFFER_LEN (600 * 3)
|
|
|
|
typedef struct
|
|
{
|
|
CHAR respTempBuffer[WIFISCAN_IND_BUFFER_LEN];
|
|
BOOL bwifiscan_repeat_flag;
|
|
UINT8 hot_Spot_Num;
|
|
unsigned long long wifiscan_globle_rx_byte;
|
|
unsigned long long wifiscan_globle_tx_byte;
|
|
}wifiScanCache_t;
|
|
|
|
#define QUEC_WIFI_QCWLAP_TIME_MIN (4*1000)
|
|
#define QUEC_WIFI_QCWLAP_TIME_MAX (255*1000)
|
|
#define QUEC_WIFI_QCWLAP_TIME_DEFALUT (12*1000)
|
|
#define QUEC_WIFI_QCWLAP_SCANTIME_OFFSET 2
|
|
#define QUEC_WIFI_QCWLAP_MAXBSSIDNUM_MIN 4
|
|
#define QUEC_WIFI_QCWLAP_MAXBSSIDNUM_MAX 30
|
|
#define QUEC_WIFI_QCWLAP_MAXBSSIDNUM_DEFALUT 5
|
|
#define QUEC_WIFI_QCWLAP_ROUNDNUM_MIN 1
|
|
#define QUEC_WIFI_QCWLAP_ROUNDNUM_MAX 3
|
|
#define QUEC_WIFI_QCWLAP_ROUNDNUM_DEFALUT 1
|
|
#define QUEC_WIFI_QCWLAP_TIMEOUT_MIN 0
|
|
#define QUEC_WIFI_QCWLAP_TIMEOUT_MAX 255
|
|
#define QUEC_WIFI_QCWLAP_TIMEOUT_DEFALUT 5
|
|
#define QUEC_QCWLAP_PRIORITY_4G Ps_High
|
|
#define QUEC_QCWLAP_PRIORITY_WIFISCAN Wifi_High
|
|
|
|
//ICAT EXPORTED ENUM
|
|
typedef enum {
|
|
Ps_High =0,
|
|
Wifi_High
|
|
}ScanPriority_te;
|
|
|
|
//ICAT EXPORTED STRUCT
|
|
typedef struct{
|
|
|
|
UINT8 ScanRoundNum; //from 1 to 3. and the default value is 3
|
|
UINT8 ScanMaxBssidNum; //from 4 to 10, and the default value is 5
|
|
UINT8 ScanTimeout; // uint:second and the default value is 25s
|
|
ScanPriority_te ScanPriority; //the prioprity of PS and wifi
|
|
}MMWFScanStartReq_ts;
|
|
|
|
|
|
|
|
int quec_loac_get_wifi_band_state(void);
|
|
|
|
void quec_loac_set_wifi_band_state(int state);
|
|
|
|
void quec_wifiscan_timer_callback(UINT32 argv);
|
|
|
|
QuecOSStatus quec_wifiscan_timer_start(uint32 init_time, bool cyclical_enable, void(* callback_routine)(UINT32), uint32 timer_argc);
|
|
|
|
QuecOSStatus quec_wifiscan_timer_creat(void);
|
|
|
|
QuecOSStatus quec_wifiscan_timer_stop(void);
|
|
|
|
QuecOSStatus quec_wifiscan_timer_delete(void);
|
|
|
|
void quec_wifiscan_release(void);
|
|
|
|
void quec_wifiscan_timeout_release(void);
|
|
|
|
typedef void (*quec_wifiscan_callback) (const unsigned short scan_count, const char *scan_info);
|
|
|
|
void quec_wifiscan_release(void);
|
|
void quec_wifiscan_timeout_release(void);
|
|
void quec_wifiscan_traffic_statistics_event_handle(void);
|
|
|
|
RETURNCODE_T quec_exec_qcwlap_cmd(const utlAtParameterOp_T op,
|
|
const char *command_name_p,
|
|
const utlAtParameterValue_P2c parameter_values_p,
|
|
const size_t num_parameters,
|
|
const char *info_text_p,
|
|
unsigned int *xid_p,
|
|
void *arg_p);
|
|
#endif
|
|
|
|
|
|
#ifdef QUEC_NETWORK_CARD_ENABLE
|
|
|
|
|
|
/*===========================================================================
|
|
|
|
FUNCTION QUEC_EXEC_QNETDEVCTL_CMD
|
|
|
|
DESCRIPTION
|
|
This function takes the result from the command line parser
|
|
and executes it. It executes +QNETDEVCTL command.
|
|
This command controls the format of error result codes:
|
|
ERROR, error numbers, or verbose message.
|
|
|
|
DEPENDENCIES
|
|
None
|
|
|
|
RETURN VALUE
|
|
returns an enum that describes the result of the command execution.
|
|
possible values:
|
|
utlSUCCESS : if it is a success.
|
|
|
|
SIDE EFFECTS
|
|
None
|
|
===========================================================================*/
|
|
RETURNCODE_T quec_exec_qnetdevctl_cmd
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
|
|
#endif
|
|
|
|
#ifdef QUECTEL_NETWORK_SUPPORT
|
|
RETURNCODE_T quectel_exec_qnwinfo_cmd
|
|
(
|
|
const utlAtParameterOp_T op, /* AT cmd type */
|
|
const char *command_name_p, /* AT cmd name */
|
|
const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */
|
|
const size_t num_parameters, /* AT cmd number */
|
|
const char *info_text_p, /* AT cmd usage string */
|
|
unsigned int *xid_p, /* AT cmd handle */
|
|
void *arg_p /* AT cmd parser number */
|
|
);
|
|
#if QUEC_DUAL_SIM_SUPPORT
|
|
extern Quec_qnwinfo_type quec_qnwinfo[2];
|
|
#else
|
|
extern Quec_qnwinfo_type quec_qnwinfo;
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|