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