Add RIL 5G support.

Change-Id: I06020103aad9a5f1975b49fbe494cbecbfac4b7f
diff --git a/mbtk/test/libmbtk_ril/mbtk_ril_test.c b/mbtk/test/libmbtk_ril/mbtk_ril_test.c
index 83d05b2..db7fff2 100755
--- a/mbtk/test/libmbtk_ril/mbtk_ril_test.c
+++ b/mbtk/test/libmbtk_ril/mbtk_ril_test.c
@@ -61,8 +61,8 @@
     printf("sel_mode: Get network select mode.\n");
     printf("sel_mode <sel_mode> <net_type> <plmn>: Set network select mode.\n");
     printf("band: Get current bands.\n");
-    printf("band support: Get support bands.\n");
-    printf("band <net_pref> <gsm_band> <umts_band> <tdlte_band> <fddlte_band>: Set current bands.\n");
+    printf("band_support: Get support bands.\n");
+    printf("band <net_pref> <gsm_band> <umts_band> <tdlte_band> <fddlte_band> <nr_band_3> <nr_band_2> <nr_band_1> <nr_band_0>: Set current bands.\n");
     printf("signal: Get network signal.\n");
     printf("reg: Get network registe information.\n");
     printf("cell: Get current cell information.\n");
@@ -123,8 +123,8 @@
 {
     if(data) {
         mbtk_ril_net_reg_state_info_t *state = (mbtk_ril_net_reg_state_info_t*)data;
-        printf("net reg state change : type - %d, tech - %d, reg_state - %d\n", state->type,
-            state->tech, state->reg_state);
+        printf("net reg state change : type - %d, tech - %d, reg_state - %d, TAG - %llx, ci - %llx\n", state->type,
+            state->tech, state->reg_state, state->tac, state->ci);
     }
 }
 
@@ -751,16 +751,19 @@
                     if(err != MBTK_RIL_ERR_SUCCESS) {
                         printf("Error : %d\n", err);
                     } else {
-                        printf("Band : %d, %d, %d, %d, %d, %d\n", band.net_pref, band.gsm_band, band.umts_band, band.tdlte_band, band.fddlte_band, band.lte_ext_band);
+                        printf("Band : %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", band.net_pref, band.gsm_band, band.umts_band, band.tdlte_band, band.fddlte_band, band.lte_ext_band,
+                            band.nr_3_band, band.nr_2_band, band.nr_1_band, band.nr_0_band);
                     }
-                } else if(!strcasecmp(cmd, "band support")) { // Get
+                } else if(!strcasecmp(cmd, "band_support")) { // Get
                     err = mbtk_support_band_get(handle_def, &band);
                     if(err != MBTK_RIL_ERR_SUCCESS) {
                         printf("Error : %d\n", err);
                     } else {
-                        printf("Band : %d, %d, %d, %d, %d, %d\n", band.net_pref, band.gsm_band, band.umts_band, band.tdlte_band, band.fddlte_band, band.lte_ext_band);
+                        printf("Band : %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", band.net_pref, band.gsm_band, band.umts_band, band.tdlte_band, band.fddlte_band, band.lte_ext_band,
+                            band.nr_3_band, band.nr_2_band, band.nr_1_band, band.nr_0_band);
                     }
-                } else { // "band 0 79 147 482 524503"
+                } else { // "band 0 79 147 482 524503 x x x x"
+#if 0
                     char *ptr = strstr(cmd, " ");
                     if(ptr == NULL)
                         continue;
@@ -795,7 +798,15 @@
                     while(*ptr != '\0' && *ptr == ' ')
                         ptr++;
                     band.fddlte_band = (uint32)atoi(ptr);
+#else
+                    int count = sscanf(cmd, "band %d %d %d %d %d %d %d %d %d %d", &band.net_pref, &band.gsm_band, &band.umts_band,
+                                    &band.tdlte_band, &band.fddlte_band, &band.lte_ext_band, &band.nr_3_band, &band.nr_2_band, &band.nr_1_band, &band.nr_0_band);
 
+                    if(count != 10 && count != 1) {
+                        printf("band set error.\n");
+                        continue;
+                    }
+#endif
                     err = mbtk_current_band_set(handle_def, &band);
                     if(err != MBTK_RIL_ERR_SUCCESS) {
                         printf("Error : %d\n", err);
@@ -809,8 +820,8 @@
                 if(err != MBTK_RIL_ERR_SUCCESS) {
                     printf("Error : %d\n", err);
                 } else {
-                    printf("Signal : %d, %d, %d, %d, %d, %d, %d, %d\n", signal.type, signal.rssi, signal.rxlev, signal.ber,
-                        signal.rscp, signal.ecno, signal.rsrq, signal.rsrp);
+                    printf("Signal : %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", signal.type, signal.rssi, signal.rxlev, signal.ber,
+                        signal.rscp, signal.ecno, signal.rsrq, signal.rsrp, signal.ss_rsrq, signal.ss_rsrp, signal.ss_sinr);
                 }
             } else if(!strncasecmp(cmd, "reg", 3)){
                 mbtk_net_reg_info_t reg;
@@ -818,7 +829,7 @@
                 if(err != MBTK_RIL_ERR_SUCCESS) {
                     printf("Error : %d\n", err);
                 } else {
-                    printf("REG : call_state=%d, data_state=%d, ims_state=%d, net_type=%d, %04x, %08x\n", reg.call_state, reg.data_state, reg.ims_state, reg.type, reg.lac, reg.ci);
+                    printf("REG : call_state=%d, data_state=%d, ims_state=%d, net_type=%d, %08x, %09x\n", reg.call_state, reg.data_state, reg.ims_state, reg.type, reg.lac, reg.ci);
                 }
             } else if(!strncasecmp(cmd, "apn_del", 7)) {
                 mbtk_apn_info_t apn;
@@ -1045,6 +1056,13 @@
                             case MBTK_CELL_TYPE_LTE:
                                 printf("LTE : tac=%d, PCI=%d, dlEuarfcn=%d, ulEuarfcn=%d, band=%d\n", cell.cell[0].value1, cell.cell[0].value2, cell.cell[0].value3, cell.cell[0].value4, cell.cell[0].value5);
                                 break;
+                            // mcc,mnc,tac,PCI,dlNrArfcn,ulNrArfcn,band,rsrp,rsrq,sinr,rssi
+                            // cellID
+                            case MBTK_CELL_TYPE_NR:
+                                printf("NR : mcc=%d, mnc_len=%d, mnc=%d, tac=%d, PCI=%d, dlNrArfcn=%d, ulNrArfcn=%d, band=%d, rsrp=%d, rsrq=%d, sinr=%d, rssi=%d, cellID=%lld\n",
+                                    cell.cell[0].value1, cell.cell[0].value2, cell.cell[0].value3, cell.cell[0].value4, cell.cell[0].value5, cell.cell[0].value6, cell.cell[0].value7
+                                    , cell.cell[0].value8, cell.cell[0].value9, cell.cell[0].value10, cell.cell[0].value11, cell.cell[0].value12, cell.cell[0].value64_1);
+                                break;
                             default:
                                 break;
                         }
@@ -1063,6 +1081,10 @@
                                 case MBTK_CELL_TYPE_LTE:
                                     printf("CELL : phyCellId=%d, euArfcn=%d, rsrp=%d, rsrq=%d\n", cell.cell[i].value1, cell.cell[i].value2, cell.cell[i].value3, cell.cell[i].value4);
                                     break;
+                                // phyCellId,nrArfcn,rsrp,rsrq
+                                case MBTK_CELL_TYPE_NR:
+                                    printf("CELL : phyCellId=%d, nrArfcn=%d, rsrp=%d, rsrq=%d\n", cell.cell[i].value1, cell.cell[i].value2, cell.cell[i].value3, cell.cell[i].value4);
+                                    break;
                                 default:
                                     break;
                             }
@@ -1594,8 +1616,8 @@
             else if(!strcasecmp(cmd, "h") || !strcasecmp(cmd, "help")) {
                 help();
             } else if(!strcasecmp(cmd, "q")) {
-                mbtk_ril_close(MBTK_AT_PORT_DEF);
-                mbtk_ril_close(ATPORTTYPE_1);
+                //mbtk_ril_close(MBTK_AT_PORT_DEF);
+                //mbtk_ril_close(ATPORTTYPE_1);
                 break;
             } else {
                 printf("\n");
@@ -1607,9 +1629,8 @@
     thread_exit_with_wait();
 exit:
 #endif
-    mbtk_ril_close(MBTK_AT_PORT_DEF);
     mbtk_ril_close(ATPORTTYPE_1);
-
+    mbtk_ril_close(MBTK_AT_PORT_DEF);
 
     LOG("Client exec complete.");