r4174 - in trunk/src/target/gsm: include/gsmd src/gsmd src/libgsmd src/util
erin_yueh at sita.openmoko.org
erin_yueh at sita.openmoko.org
Thu Mar 6 10:35:19 CET 2008
Author: erin_yueh
Date: 2008-03-06 10:35:12 +0100 (Thu, 06 Mar 2008)
New Revision: 4174
Modified:
trunk/src/target/gsm/include/gsmd/usock.h
trunk/src/target/gsm/src/gsmd/usock.c
trunk/src/target/gsm/src/libgsmd/libgsmd_phone.c
trunk/src/target/gsm/src/util/shell.c
Log:
gsmd: Query Antenna Status (Erin Yueh)
Modified: trunk/src/target/gsm/include/gsmd/usock.h
===================================================================
--- trunk/src/target/gsm/include/gsmd/usock.h 2008-03-05 20:26:56 UTC (rev 4173)
+++ trunk/src/target/gsm/include/gsmd/usock.h 2008-03-06 09:35:12 UTC (rev 4174)
@@ -142,6 +142,7 @@
GSMD_PHONE_GET_BATTERY = 8,
GSMD_PHONE_VIB_ENABLE = 9,
GSMD_PHONE_VIB_DISABLE = 10,
+ GSMD_PHONE_POWER_STATUS = 11,
};
enum gsmd_msg_modem {
Modified: trunk/src/target/gsm/src/gsmd/usock.c
===================================================================
--- trunk/src/target/gsm/src/gsmd/usock.c 2008-03-05 20:26:56 UTC (rev 4173)
+++ trunk/src/target/gsm/src/gsmd/usock.c 2008-03-06 09:35:12 UTC (rev 4174)
@@ -613,6 +613,15 @@
cmd->id, sizeof(ret), &ret);
}
+static int phone_power_status_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
+{
+ DEBUGP("resp: %s\n", resp);
+ if (!strncmp(resp, "+CFUN: ", 7))
+ resp += 7;
+ return gsmd_ucmd_submit(ctx, GSMD_MSG_PHONE, GSMD_PHONE_POWER_STATUS,
+ cmd->id, strlen(resp) + 1, resp);
+}
+
static int phone_get_manuf_cb(struct gsmd_atcmd *cmd, void *ctx, char *resp)
{
struct gsmd_user *gu = ctx;
@@ -721,6 +730,11 @@
&phone_powerdown_cb, gu, 0, NULL);
gu->gsmd->dev_state.on = 0;
break;
+ case GSMD_PHONE_POWER_STATUS:
+ cmd = atcmd_fill("AT+CFUN?", 8+1,
+ &phone_power_status_cb, gu, 0, NULL);
+ break;
+
case GSMD_PHONE_GET_IMSI:
return gsmd_ucmd_submit(gu, GSMD_MSG_PHONE, GSMD_PHONE_GET_IMSI,
0, strlen(gu->gsmd->imsi) + 1, gu->gsmd->imsi);
Modified: trunk/src/target/gsm/src/libgsmd/libgsmd_phone.c
===================================================================
--- trunk/src/target/gsm/src/libgsmd/libgsmd_phone.c 2008-03-05 20:26:56 UTC (rev 4173)
+++ trunk/src/target/gsm/src/libgsmd/libgsmd_phone.c 2008-03-06 09:35:12 UTC (rev 4174)
@@ -45,6 +45,11 @@
return lgsm_send_simple(lh, GSMD_MSG_PHONE, type);
}
+int lgsm_get_power_status(struct lgsm_handle *lh)
+{
+ return lgsm_send_simple(lh, GSMD_MSG_PHONE, GSMD_PHONE_POWER_STATUS);
+}
+
int lgsm_get_imsi(struct lgsm_handle *lh)
{
return lgsm_send_simple(lh, GSMD_MSG_PHONE, GSMD_PHONE_GET_IMSI);
Modified: trunk/src/target/gsm/src/util/shell.c
===================================================================
--- trunk/src/target/gsm/src/util/shell.c 2008-03-05 20:26:56 UTC (rev 4173)
+++ trunk/src/target/gsm/src/util/shell.c 2008-03-06 09:35:12 UTC (rev 4174)
@@ -425,6 +425,9 @@
else
printf("Modem down\n");
break;
+ case GSMD_PHONE_POWER_STATUS:
+ printf("Antenna Status: %s\n", payload);
+ break;
case GSMD_PHONE_GET_BATTERY:
printf("<BCS>: %d <BCL>: %d \n", bc->bcs, bc->bcl);
break;
@@ -546,6 +549,7 @@
"\tH\tHangup call\n"
"\tO\tAntenna Power On\n"
"\to\tAntenna Power Off\n"
+ "\tgos\tGet Antenna Status\n"
"\tV\tVibrator Enable (CVIB=1)\n"
"\tv\tVibrator Disable (CVIB=0)\n"
"\tM\tModem Power On\n"
@@ -680,6 +684,9 @@
} else if (!strcmp(buf, "o")) {
printf("Power-Off\n");
lgsm_phone_power(lgsmh, 0);
+ } else if (!strcmp(buf, "gos")) {
+ printf("Get Antenna status\n");
+ lgsm_get_power_status(lgsmh, 0);
} else if (!strcmp(buf, "V")) {
printf("Vibrator-Enable\n");
lgsm_phone_vibrator(lgsmh, 1);
More information about the commitlog
mailing list