优化LYNQ_CALL添加音量控制和优化LYNQ_SMS添加存储器位置的判断上库LYNQ_NW接口以及添加对应测试demo
Change-Id: Ic19a55f139d6fbf194dffc7ec878a51d1abf656c
diff --git a/mbtk/test/asr1806/lynq_call_test.c b/mbtk/test/asr1806/lynq_call_test.c
index 00fe145..7885848 100755
--- a/mbtk/test/asr1806/lynq_call_test.c
+++ b/mbtk/test/asr1806/lynq_call_test.c
@@ -360,7 +360,7 @@
}
case 8:
{
- qser_voice_set_speech_volume(&lv_voll);
+ qser_voice_get_speech_volume(&lv_voll);
printf("volume level = %d\n",lv_voll);
break;
}
diff --git a/mbtk/test/asr1806/lynq_nw_test.c b/mbtk/test/asr1806/lynq_nw_test.c
new file mode 100755
index 0000000..62c231d
--- /dev/null
+++ b/mbtk/test/asr1806/lynq_nw_test.c
@@ -0,0 +1,389 @@
+#include "lynq_qser_network.h"
+#include "mbtk_type.h"
+#include "mbtk_info_api.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+char *tech_domain[] = {"NONE", "3GPP", "3GPP2"};
+char *radio_tech[] = {"unknown",
+ "TD_SCDMA", "GSM", "HSPAP", "LTE", "EHRPD", "EVDO_B",
+ "HSPA", "HSUPA", "HSDPA", "EVDO_A", "EVDO_0", "1xRTT",
+ "IS95B", "IS95A", "UMTS", "EDGE", "GPRS", "NONE"};
+
+void nw_event_ind_handler (
+ nw_client_handle_type h_nw,
+ u_int32_t ind_flag,
+ void *ind_msg_buf,
+ u_int32_t ind_msg_len,
+ void *contextPtr)
+{
+ switch(ind_flag) {
+ case NW_IND_VOICE_REG_EVENT_IND_FLAG:
+ {
+ printf(">>>>>NW_IND_VOICE_REG_EVENT_IND_FLAG!!! \n");
+ QSER_NW_VOICE_REG_EVENT_IND_T *ind = (QSER_NW_VOICE_REG_EVENT_IND_T*)ind_msg_buf;
+ printf("Recv event indication : VOICE REG EVENT\n");
+
+ if(ind==NULL)
+ {
+ printf("ind is NULL\n");
+ break;
+ }
+ /*
+ if(ind->registration_valid)
+ {
+ printf("voice_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
+ ind->registration.tech_domain,
+ ind->registration.radio_tech,
+ ind->registration.roaming,
+ ind->registration.registration_state);
+ }
+ */
+ if(ind->registration_details_3gpp_valid)
+ {
+ printf("voice_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ ind->registration_details_3gpp.tech_domain,
+ ind->registration_details_3gpp.radio_tech,
+ ind->registration_details_3gpp.mcc,
+ ind->registration_details_3gpp.mnc,
+ ind->registration_details_3gpp.roaming,
+ ind->registration_details_3gpp.forbidden,
+ ind->registration_details_3gpp.cid,
+ ind->registration_details_3gpp.lac,
+ ind->registration_details_3gpp.psc,
+ ind->registration_details_3gpp.tac);
+ }
+ /*
+ if(ind->registration_details_3gpp2_valid)
+ {
+ printf("voice_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, sid=%d, nid=%d, bsid=%d\n",
+ ind->registration_details_3gpp2.tech_domain,
+ ind->registration_details_3gpp2.radio_tech,
+ ind->registration_details_3gpp2.mcc,
+ ind->registration_details_3gpp2.mnc,
+ ind->registration_details_3gpp2.roaming,
+ ind->registration_details_3gpp2.forbidden,
+ ind->registration_details_3gpp2.sid,
+ ind->registration_details_3gpp2.nid,
+ ind->registration_details_3gpp2.bsid);
+ }
+ */
+ break;
+ }
+ case NW_IND_DATA_REG_EVENT_IND_FLAG:
+ {
+ printf(">>>>>NW_IND_DATA_REG_EVENT_IND_FLAG!!! \n");
+ QSER_NW_DATA_REG_EVENT_IND_T *ind = (QSER_NW_DATA_REG_EVENT_IND_T*)ind_msg_buf;
+
+ printf("Recv event indication : DATA REG EVENT\n");
+
+ if(ind==NULL)
+ {
+ printf("ind is NULL\n");
+ break;
+ }
+ /*
+ if(ind->registration_valid)
+ {
+ printf("data_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
+ ind->registration.tech_domain,
+ ind->registration.radio_tech,
+ ind->registration.roaming,
+ ind->registration.registration_state);
+ }
+ */
+ if(ind->registration_details_3gpp_valid)
+ {
+ printf("data_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ ind->registration_details_3gpp.tech_domain,
+ ind->registration_details_3gpp.radio_tech,
+ ind->registration_details_3gpp.mcc,
+ ind->registration_details_3gpp.mnc,
+ ind->registration_details_3gpp.roaming,
+ ind->registration_details_3gpp.forbidden,
+ ind->registration_details_3gpp.cid,
+ ind->registration_details_3gpp.lac,
+ ind->registration_details_3gpp.psc,
+ ind->registration_details_3gpp.tac);
+ }
+ /*
+ if(ind->registration_details_3gpp2_valid)
+ {
+ printf("data_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, prl=%d, css=%d, sid=%d, nid=%d, bsid=%d\n",
+ ind->registration_details_3gpp2.tech_domain,
+ ind->registration_details_3gpp2.radio_tech,
+ ind->registration_details_3gpp2.mcc,
+ ind->registration_details_3gpp2.mnc,
+ ind->registration_details_3gpp2.roaming,
+ ind->registration_details_3gpp2.forbidden,
+ ind->registration_details_3gpp2.inPRL,
+ ind->registration_details_3gpp2.css,
+ ind->registration_details_3gpp2.sid,
+ ind->registration_details_3gpp2.nid,
+ ind->registration_details_3gpp2.bsid);
+ }
+ */
+ break;
+ }
+ case NW_IND_SIGNAL_STRENGTH_EVENT_IND_FLAG:
+ {
+ printf(">>>>>NW_IND_SIGNAL_STRENGTH_EVENT_IND_FLAG!!! \n");
+ QSER_NW_SINGNAL_EVENT_IND_T *ind = (QSER_NW_SINGNAL_EVENT_IND_T*)ind_msg_buf;
+
+ printf("Recv event indication : SIGNAL STRENGTH EVENT\n");
+
+ if(ind==NULL)
+ {
+ printf("ind is NULL\n");
+ break;
+ }
+
+ if(ind->gsm_sig_info_valid)
+ {
+ printf("gsm_sig_info: rssi=%d\n",
+ ind->gsm_sig_info.rssi);
+ }
+
+ if(ind->wcdma_sig_info_valid)
+ {
+ printf("wcdma_sig_info: rssi=%d, ecio=%d\n",
+ ind->wcdma_sig_info.rssi,
+ ind->wcdma_sig_info.ecio);
+ }
+ /*
+ if(ind->tdscdma_sig_info_valid)
+ {
+ printf("tdscdma_sig_info: rssi=%d, rscp=%d, ecio=%d, sinr=%d\n",
+ ind->tdscdma_sig_info.rssi,
+ ind->tdscdma_sig_info.rscp,
+ ind->tdscdma_sig_info.ecio,
+ ind->tdscdma_sig_info.sinr);
+ }
+ */
+ if(ind->lte_sig_info_valid)
+ {
+ printf("lte_sig_info: rssi=%d, rsrq=%d, rsrp=%d, snr=%d\n",
+ ind->lte_sig_info.rssi,
+ ind->lte_sig_info.rsrq,
+ ind->lte_sig_info.rsrp,
+ ind->lte_sig_info.snr);
+ }
+ /*
+ if(ind->cdma_sig_info_valid)
+ {
+ printf("cdma_sig_info: rssi=%d, ecio=%d\n",
+ ind->cdma_sig_info.rssi,
+ ind->cdma_sig_info.ecio);
+ }
+ if(ind->hdr_sig_info_valid)
+ {
+ printf("hdr_sig_info: rssi=%d, ecio=%d, sinr=%d, io=%d\n",
+ ind->hdr_sig_info.rssi,
+ ind->hdr_sig_info.ecio,
+ ind->hdr_sig_info.sinr,
+ ind->hdr_sig_info.io);
+ }
+ */
+ break;
+ }
+ default:
+ printf(">>>>>NO DATA!!! \n");
+ break;
+ }
+}
+
+
+int main(int argc, char *argv[])
+{
+ char operator[10];
+ int opt;
+ int lv_voll = 0;
+ nw_client_handle_type handle = -1;
+ mbtk_log_init("radio", "NW_TEST");
+
+ while(1)
+ {
+ printf("=========network main=========\n"
+ "\t0 exit\n"
+ "\t1 network init\n"
+ "\t2 network add rx msg handle\n"
+ "\t3 network band set config\n"
+ "\t4 network get operator name\n"
+ "\t5 network get reg status\n"
+ "\t6 network get signal strength\n"
+ "\t7 network set oos config\n"
+ "\t8 network get oos config\n"
+ "\t9 network set rf config\n"
+ "\t10 network get rf config\n"
+ "\t11 network deinit\n"
+ "operator: >> ");
+
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+ switch (opt)
+ {
+ case 0:
+ printf("main exit\n");
+ return 0;
+ case 1:
+ qser_nw_client_init(&handle);
+ printf("test>>: handle = %d\n",handle);
+ break;
+ case 2:
+ qser_nw_add_rx_msg_handler(handle, nw_event_ind_handler, NULL);
+ break;
+ case 3:
+ {
+ //漫游开关现在不支持,所以就不用配置
+ printf("please input \n"
+ "\t1:GSM \n"
+ "\t2:WCDMA \n"
+ "\t4:CDMA \n"
+ "\t8:EVDO \n"
+ "\t16:LTE \n"
+ "\t32:TDSCDMA \n"
+ );
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+ QSER_NW_CONFIG_INFO_T t_info;
+ switch(opt)
+ {
+ case 1:
+ t_info.preferred_nw_mode = QSER_NW_MODE_GSM;//2G CMCC/CU
+ break;
+ case 2:
+ t_info.preferred_nw_mode = QSER_NW_MODE_WCDMA;//3G CU
+ break;
+ case 4:
+ t_info.preferred_nw_mode = QSER_NW_MODE_CDMA;//3G CT
+ break;
+ case 8:
+ t_info.preferred_nw_mode = QSER_NW_MODE_EVDO;//3G CT
+ break;
+ case 16:
+ t_info.preferred_nw_mode = QSER_NW_MODE_LTE;//4G 全网通
+ break;
+ case 32:
+ t_info.preferred_nw_mode = QSER_NW_MODE_TDSCDMA;//3G CMCC
+ break;
+ default:
+ t_info.preferred_nw_mode = QSER_NW_MODE_LTE;//4G
+ break;
+ }
+ //t_info.preferred_nw_mode = QSER_NW_MODE_LTE;
+ qser_nw_set_config(handle, &t_info);
+ break;
+ }
+ case 4:
+ {
+ QSER_NW_OPERATOR_NAME_INFO_T t_info;
+ int err = qser_nw_get_operator_name(handle, &t_info);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ printf("Operator : %s, %s, %s, %s\n", t_info.long_eons, t_info.short_eons, t_info.mcc, t_info.mnc);
+ }
+ break;
+ }
+ case 5:
+ {
+ QSER_NW_REG_STATUS_INFO_T reg;
+ int err = qser_nw_get_reg_status(handle, ®);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ if(reg.voice_registration_details_3gpp_valid)
+ {
+ printf("voice_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ tech_domain[reg.voice_registration_details_3gpp.tech_domain],
+ radio_tech[reg.voice_registration_details_3gpp.radio_tech],
+ reg.voice_registration_details_3gpp.mcc,
+ reg.voice_registration_details_3gpp.mnc,
+ reg.voice_registration_details_3gpp.roaming,
+ reg.voice_registration_details_3gpp.forbidden,
+ reg.voice_registration_details_3gpp.cid,
+ reg.voice_registration_details_3gpp.lac,
+ reg.voice_registration_details_3gpp.psc,
+ reg.voice_registration_details_3gpp.tac);
+ }
+ if(reg.data_registration_details_3gpp_valid)
+ {
+ printf("data_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ tech_domain[reg.data_registration_details_3gpp.tech_domain],
+ radio_tech[reg.data_registration_details_3gpp.radio_tech],
+ reg.data_registration_details_3gpp.mcc,
+ reg.data_registration_details_3gpp.mnc,
+ reg.data_registration_details_3gpp.roaming,
+ reg.data_registration_details_3gpp.forbidden,
+ reg.data_registration_details_3gpp.cid,
+ reg.data_registration_details_3gpp.lac,
+ reg.data_registration_details_3gpp.psc,
+ reg.data_registration_details_3gpp.tac);
+ }
+ //printf("Data Reg: radio_tech = %d, lac = %x, cid = %x\n", reg.data_registration_details_3gpp.radio_tech, reg.data_registration_details_3gpp.lac, reg.data_registration_details_3gpp.cid);
+ //printf("Voice Reg: radio_tech = %d, lac = %x, cid = %x\n", reg.voice_registration_details_3gpp.radio_tech, reg.voice_registration_details_3gpp.lac, reg.voice_registration_details_3gpp.cid);
+ }
+ break;
+ }
+ case 6:
+ {
+ QSER_NW_SIGNAL_STRENGTH_INFO_T sig;
+ int err = qser_nw_get_signal_strength(handle, &sig);
+ if(err) {
+ printf("Error : %d\n", err);
+ } else {
+ if (sig.gsm_sig_info_valid == TRUE)
+ printf("Signal GSM: rssi = %d\n", sig.gsm_sig_info.rssi);
+ else if (sig.lte_sig_info_valid == TRUE)
+ printf("Signal LTE: rssi = %d, rsrp = %d, rsrq = %d, snr = %d\n", sig.lte_sig_info.rssi , sig.lte_sig_info.rsrp, sig.lte_sig_info.rsrq, sig.lte_sig_info.snr);
+ else if (sig.wcdma_sig_info_valid == TRUE)
+ printf("Signal UTRAN: rssi = %d, ecio = %d\n", sig.wcdma_sig_info.rssi , sig.wcdma_sig_info.ecio);
+ else
+ printf("Signal type not supported \n");
+ }
+ break;
+ }
+ case 7:
+ {
+ qser_nw_set_oos_config(NULL, NULL);
+ break;
+ }
+ case 8:
+ {
+ qser_nw_get_oos_config(NULL, NULL);
+ break;
+ }
+ case 9:
+ {
+ printf("please input 0 or 1: \n");
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+ if (opt == 0 || opt == 1)
+ qser_nw_set_rf_mode(handle, opt);
+ else
+ printf(">>>Please re-enter\n");
+ break;
+ }
+ case 10:
+ {
+ int rf_t;
+ qser_nw_get_rf_mode(handle, &rf_t);
+ printf(">>>rf_mode = [%d]\n",rf_t);
+ break;
+ }
+ case 11:
+ qser_nw_client_deinit(handle);
+ break;
+ default:
+ break;
+ }
+
+ }
+
+ return 0;
+}
+
diff --git a/mbtk/test/asr1806/lynq_qser_sms_test.c b/mbtk/test/asr1806/lynq_qser_sms_test.c
index 143ffac..358464c 100755
--- a/mbtk/test/asr1806/lynq_qser_sms_test.c
+++ b/mbtk/test/asr1806/lynq_qser_sms_test.c
@@ -275,7 +275,7 @@
while(1)
{
- printf("=========audio main=========\n"
+ printf("=========sms main=========\n"
"\t0 exit\n"
"\t1 sms init\n"
"\t2 send text sms\n"
@@ -316,6 +316,7 @@
int len = strlen(tmp);
int num_len = strlen(num);
test_sms_info.format = 0;
+ test_sms_info.storage = 1; //默认 ME
//test_sms_info.sms_data_len = len;
memcpy(test_sms_info.sms_data, tmp, len);
memcpy(test_sms_info.src_addr, num, num_len);
@@ -333,6 +334,7 @@
int len = strlen(tmp);
int num_len = strlen(num);
test_sms_info.format = 2;
+ test_sms_info.storage = 1; //默认 ME
//test_sms_info.sms_data_len = len;
memcpy(test_sms_info.sms_data, tmp, len);
memcpy(test_sms_info.src_addr, num, num_len);
@@ -340,23 +342,46 @@
qser_sms_send_sms(handle, &test_sms_info);
break;
}
- // printf("please input volume (0~100): \n");
- // fgets(operator, sizeof(operator), stdin);
- // fflush(stdin);
- // opt = atoi(operator);
- // lynq_delete_sms(opt);
break;
case 5:
- printf("please input index (0~50): \n");
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
- // lynq_list_sms(1, opt, "ALL" );
- break;
+ {
+ printf("No such interface \n");
+ /*
+ memset(operator, 0x00, sizeof(operator));
+ printf("please input index (0~50): \n");
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+ */
+ break;
+ }
case 6:
{
memset(&test_sms_storage, 0x00, sizeof(QSER_sms_storage_info_t));
- test_sms_storage.storage_idx = 1;
+ memset(operator,0x00, sizeof(operator));
+ printf("please input index \n");
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+ int t_index = opt;
+ memset(operator,0x00, sizeof(operator));
+ printf("please input Storage area\n"
+ "\t 0 : Message store to UIM(SIM) \n"
+ "\t 1 : Message store to NV(ME) \n"
+ "\t default : store to NV(ME) \n");
+ fgets(operator, sizeof(operator), stdin);
+ fflush(stdin);
+ opt = atoi(operator);
+
+ if (opt == 0 || opt == 1)
+ {
+ test_sms_storage.storage = opt;
+ }
+ else
+ {
+ test_sms_storage.storage = 1;
+ }
+ test_sms_storage.storage_idx = t_index;
qser_sms_deletefromstorage(handle, &test_sms_storage);
break;
}
@@ -369,15 +394,9 @@
break;
}
case 8:
- // printf("please input service num: \n");
- // fgets(phonenumter, sizeof(phonenumter), stdin);
- // fflush(stdin);
- // memcpy(phonenumter, "+8613800280500", "+8613800280500");
-
- // ret= ql_sms_set_sms_center_address(phonenumter);
{
memset(&test_sca_cfg, 0x00, sizeof(QSER_sms_service_center_cfg_t));
- char *num = "+8613800280500";//成都移动中心号码不用更改
+ char *num = "+8613800280500";//成都移动中心号码不用更改(根据情况可以写死值或者动态获取)
int len = strlen(num);
memcpy(test_sca_cfg.service_center_addr, num, len);