Add Multiple AT channels supported for ril api v2
Change-Id: I53f574c85d07bd7b8e0dd15d2e596d23c8772907
diff --git a/mbtk/mbtk_rild_v2/src/ril_dev.c b/mbtk/mbtk_rild_v2/src/ril_dev.c
index 4d267de..d2d8c9f 100755
--- a/mbtk/mbtk_rild_v2/src/ril_dev.c
+++ b/mbtk/mbtk_rild_v2/src/ril_dev.c
@@ -17,7 +17,7 @@
#include "mbtk_utils.h"
#include "ril_info.h"
-void ril_rsp_pack_send(int fd, int ril_id, int msg_index, const void* data, int data_len);
+void ril_rsp_pack_send(ATPortType_enum port, int fd, int ril_id, int msg_index, const void* data, int data_len);
/*
AT+CGSN
@@ -25,10 +25,10 @@
OK
*/
-static int req_imei_get(void *data, int *cme_err)
+static int req_imei_get(ATPortType_enum port, void *data, int *cme_err)
{
ATResponse *response = NULL;
- int err = at_send_command_numeric("AT+CGSN", &response);
+ int err = at_send_command_numeric(port, "AT+CGSN", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates) {
*cme_err = at_get_cme_error(response);
@@ -48,11 +48,11 @@
OK
*/
-static int req_sn_get(void *data, int *cme_err)
+static int req_sn_get(ATPortType_enum port, void *data, int *cme_err)
{
ATResponse *response = NULL;
char *tmp_ptr = NULL;
- int err = at_send_command_singleline("AT+MRD_SN=R", "+MRD_SN:", &response);
+ int err = at_send_command_singleline(port, "AT+MRD_SN=R", "+MRD_SN:", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates){
*cme_err = at_get_cme_error(response);
@@ -102,10 +102,10 @@
OK
*/
-static int req_version_get(void *data, int *cme_err)
+static int req_version_get(ATPortType_enum port, void *data, int *cme_err)
{
ATResponse *response = NULL;
- int err = at_send_command_multiline("ATI", "", &response);
+ int err = at_send_command_multiline(port, "ATI", "", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates){
*cme_err = at_get_cme_error(response);
@@ -146,10 +146,10 @@
OK
*/
-static int req_model_get(void *data, int *cme_err)
+static int req_model_get(ATPortType_enum port, void *data, int *cme_err)
{
ATResponse *response = NULL;
- int err = at_send_command_multiline("ATI", "", &response);
+ int err = at_send_command_multiline(port, "ATI", "", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates){
*cme_err = at_get_cme_error(response);
@@ -187,7 +187,7 @@
OK
*/
-static int req_volte_set(int state, int *cme_err)
+static int req_volte_set(ATPortType_enum port, int state, int *cme_err)
{
ATResponse *response = NULL;
char cmd[30] = {0};
@@ -199,7 +199,7 @@
{
strcpy(cmd, "AT+ACONFIG=\"IMSD=0\"");
}
- int err = at_send_command(cmd, &response);
+ int err = at_send_command(port, cmd, &response);
if (err < 0 || response->success == 0) {
*cme_err = at_get_cme_error(response);
@@ -218,11 +218,11 @@
OK
*/
-static int req_volte_get(int *state, int *cme_err)
+static int req_volte_get(ATPortType_enum port, int *state, int *cme_err)
{
ATResponse *response = NULL;
// char *tmp_ptr = NULL;
- int err = at_send_command_singleline("AT+ACONFIG?", "", &response);
+ int err = at_send_command_singleline(port, "AT+ACONFIG?", "", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates){
*cme_err = at_get_cme_error(response);
@@ -264,15 +264,15 @@
OK
*/
-static int req_temp_get(mbtk_temp_type_enum type, int16 *temp, int *cme_err)
+static int req_temp_get(ATPortType_enum port, mbtk_temp_type_enum type, int16 *temp, int *cme_err)
{
ATResponse *response = NULL;
int err = -1;
int tmp_int;
if(type == MBTK_TEMP_TYPE_SOC) { // Soc
- err = at_send_command_singleline("AT*SOCTEMP", "*SOCTEMP:", &response);
+ err = at_send_command_singleline(port, "AT*SOCTEMP", "*SOCTEMP:", &response);
} else { // RF
- err = at_send_command_singleline("AT*RFTEMP", "*RFTEMP:", &response);
+ err = at_send_command_singleline(port, "AT*RFTEMP", "*RFTEMP:", &response);
}
if (err < 0 || response->success == 0 || !response->p_intermediates){
@@ -316,11 +316,11 @@
OK
*/
-static int req_cell_time_get(char *data, int *cme_err)
+static int req_cell_time_get(ATPortType_enum port, char *data, int *cme_err)
{
ATResponse *response = NULL;
char *tmp_ptr = NULL;
- int err = at_send_command_singleline("AT+CCLK?", "+CCLK:", &response);
+ int err = at_send_command_singleline(port, "AT+CCLK?", "+CCLK:", &response);
if (err < 0 || response->success == 0 || !response->p_intermediates){
*cme_err = at_get_cme_error(response);
@@ -354,14 +354,14 @@
6: turn off full secondary receive.
-1: fail
*/
-mbtk_radio_state_enum ril_radio_state_get()
+mbtk_radio_state_enum ril_radio_state_get(ATPortType_enum port)
{
ATResponse *p_response = NULL;
int err;
char *line;
int ret;
- err = at_send_command_singleline("AT+CFUN?", "+CFUN:", &p_response);
+ err = at_send_command_singleline(port, "AT+CFUN?", "+CFUN:", &p_response);
if (err < 0 || p_response->success == 0 || !p_response->p_intermediates)
{
@@ -387,7 +387,7 @@
return MBTK_RADIO_STATE_UNKNOWN;
}
-mbtk_ril_err_enum ril_radio_state_set(mbtk_radio_state_enum state, bool reset)
+mbtk_ril_err_enum ril_radio_state_set(ATPortType_enum port, mbtk_radio_state_enum state, bool reset)
{
int err;
ATResponse *p_response = NULL;
@@ -407,13 +407,13 @@
} else {
snprintf(cmd, sizeof(cmd), "AT+CFUN=%d", state);
}
- err = at_send_command(cmd, &p_response);
+ err = at_send_command(port, cmd, &p_response);
if (err || !p_response->success) {
goto done;
}
if(state == MBTK_RADIO_STATE_FULL_FUNC) { // +CFUN=1
- if(ril_radio_state_get() == MBTK_RADIO_STATE_FULL_FUNC) { // success
+ if(ril_radio_state_get(port) == MBTK_RADIO_STATE_FULL_FUNC) { // success
ril_info.radio_state = MBTK_RADIO_STATE_FULL_FUNC;
ret = MBTK_RIL_ERR_SUCCESS;
LOGD("Radio open success.");
@@ -446,7 +446,7 @@
if(pack->data_len == 0 || pack->data == NULL) // Get IMEI
{
char imei[20] = {0};
- if(req_imei_get(imei, &cme_err) || strlen(imei) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_imei_get(cli_info->port, imei, &cme_err) || strlen(imei) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -457,7 +457,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, imei, strlen(imei));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, imei, strlen(imei));
}
}
else // Set IMEI(Unsupport).
@@ -472,7 +472,7 @@
if(pack->data_len == 0 || pack->data == NULL)
{
char sn[20] = {0};
- if(req_sn_get(sn, &cme_err) || strlen(sn) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_sn_get(cli_info->port, sn, &cme_err) || strlen(sn) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -483,7 +483,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, sn, strlen(sn));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, sn, strlen(sn));
}
}
else // Set
@@ -512,7 +512,7 @@
if(pack->data_len == 0 || pack->data == NULL)
{
char version[50] = {0};
- if(req_version_get(version, &cme_err) || strlen(version) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_version_get(cli_info->port, version, &cme_err) || strlen(version) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -523,7 +523,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, version, strlen(version));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, version, strlen(version));
}
}
else // Set
@@ -538,7 +538,7 @@
if(pack->data_len == 0 || pack->data == NULL)
{
char model[50] = {0};
- if(req_model_get(model, &cme_err) || strlen(model) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_model_get(cli_info->port, model, &cme_err) || strlen(model) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -549,7 +549,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, model, strlen(model));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, model, strlen(model));
}
}
else // Set
@@ -564,7 +564,7 @@
if(pack->data_len == 0 || pack->data == NULL) // Get VoLTE state.
{
int state;
- if(req_volte_get(&state, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_volte_get(cli_info->port, &state, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -575,7 +575,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, &state, sizeof(uint8));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, &state, sizeof(uint8));
}
}
else // Set VoLTE state.
@@ -589,7 +589,7 @@
}
uint8 on = *(pack->data);
- if(req_volte_set(on, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_volte_set(cli_info->port, on, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -600,7 +600,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, NULL, 0);
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, NULL, 0);
// Restart is required to take effect.
// LOG("Will reboot system...");
@@ -613,7 +613,7 @@
if(pack->data && pack->data_len == sizeof(uint8)) {
int16 temp;
mbtk_temp_type_enum type = (mbtk_temp_type_enum)(*(pack->data));
- if(req_temp_get(type, &temp, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_temp_get(cli_info->port, type, &temp, &cme_err) || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -624,7 +624,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, &temp, sizeof(int16));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, &temp, sizeof(int16));
}
} else {
err = MBTK_RIL_ERR_UNSUPPORTED;
@@ -637,7 +637,7 @@
if(pack->data_len == 0 || pack->data == NULL) // Get Time
{
char time[100] = {0};
- if(req_cell_time_get(time, &cme_err) || strlen(time) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
+ if(req_cell_time_get(cli_info->port, time, &cme_err) || strlen(time) == 0 || cme_err != MBTK_RIL_ERR_CME_NON)
{
if(cme_err != MBTK_RIL_ERR_CME_NON) {
err = MBTK_RIL_ERR_CME + cme_err;
@@ -648,7 +648,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, time, strlen(time));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, time, strlen(time));
}
}
else // Set Time
@@ -662,7 +662,7 @@
{
if(pack->data_len == 0 || pack->data == NULL)
{
- mbtk_radio_state_enum radio_state = ril_radio_state_get();
+ mbtk_radio_state_enum radio_state = ril_radio_state_get(cli_info->port);
if(radio_state == MBTK_RADIO_STATE_UNKNOWN)
{
err = MBTK_RIL_ERR_UNKNOWN;
@@ -670,7 +670,7 @@
}
else
{
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, &radio_state, sizeof(uint8));
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, &radio_state, sizeof(uint8));
}
}
else // Set
@@ -679,9 +679,9 @@
if(pack->data && pack->data_len == 2) {
mbtk_radio_state_enum radio_state = (mbtk_radio_state_enum)(*(pack->data));
bool reset = *(pack->data + 1);
- err = ril_radio_state_set(radio_state, reset);
+ err = ril_radio_state_set(cli_info->port, radio_state, reset);
if(MBTK_RIL_ERR_SUCCESS == err) {
- ril_rsp_pack_send(cli_info->fd, pack->msg_id, pack->msg_index, NULL, 0);
+ ril_rsp_pack_send(cli_info->port, cli_info->fd, pack->msg_id, pack->msg_index, NULL, 0);
}
} else {
err = MBTK_RIL_ERR_FORMAT;