qcdm: add Novatel ERI subsystem support

Returns various ERI information like Indicator ID/Index, Icon
ID/Index, Icon Mode, and banner.
This commit is contained in:
Dan Williams
2013-02-06 11:57:00 -06:00
parent bf07f02cff
commit 74e94e624d
6 changed files with 194 additions and 1 deletions
+60
View File
@@ -1701,6 +1701,66 @@ test_com_nw_subsys_modem_snapshot_cdma (void *f, void *data)
qcdm_result_unref (result);
}
void
test_com_nw_subsys_eri (void *f, void *data)
{
TestComData *d = data;
gboolean success;
int err = QCDM_SUCCESS;
char buf[200];
gint len;
QcdmResult *result;
gsize reply_len;
guint8 num8 = 0;
const char *str = NULL;
len = qcdm_cmd_nw_subsys_eri_new (buf, sizeof (buf), QCDM_NW_CHIPSET_6800);
g_assert_cmpint (len, ==, 7);
/* Send the command */
success = send_command (d, buf, len);
g_assert (success);
/* Get a response */
reply_len = wait_reply (d, buf, sizeof (buf));
g_print ("\n");
/* Parse the response into a result structure */
result = qcdm_cmd_nw_subsys_eri_result (buf, reply_len, &err);
if (!result) {
/* Obviously not all devices implement this command */
if ( err == -QCDM_ERROR_RESPONSE_BAD_COMMAND
|| err == -QCDM_ERROR_RESPONSE_BAD_LENGTH)
return;
g_assert_cmpint (err, ==, QCDM_SUCCESS);
}
g_assert (result);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ROAM, &num8);
g_message ("%s: Roam: %d", __func__, num8);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_INDICATOR_ID, &num8);
g_message ("%s: Indicator ID: %d", __func__, num8);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ICON_ID, &num8);
g_message ("%s: Icon ID: %d", __func__, num8);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ICON_MODE, &num8);
g_message ("%s: Icon Mode: %d", __func__, num8);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_CALL_PROMPT_ID, &num8);
g_message ("%s: Call Prompt ID: %d", __func__, num8);
qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ALERT_ID, &num8);
g_message ("%s: Alert ID: %d", __func__, num8);
qcdm_result_get_string (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_TEXT, &str);
g_message ("%s: Banner: '%s'", __func__, str);
qcdm_result_unref (result);
}
void
test_com_wcdma_subsys_state_info (void *f, void *data)
{
+2
View File
@@ -59,6 +59,8 @@ void test_com_zte_subsys_status (void *f, void *data);
void test_com_nw_subsys_modem_snapshot_cdma (void *f, void *data);
void test_com_nw_subsys_eri (void *f, void *data);
void test_com_wcdma_subsys_state_info (void *f, void *data);
void test_com_gsm_subsys_state_info (void *f, void *data);
+1
View File
@@ -116,6 +116,7 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_com_log_config, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_zte_subsys_status, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_nw_subsys_modem_snapshot_cdma, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_nw_subsys_eri, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_wcdma_subsys_state_info, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_gsm_subsys_state_info, data->com_data));
}