r2839 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src

njp at sita.openmoko.org njp at sita.openmoko.org
Tue Aug 28 12:08:57 CEST 2007


Author: njp
Date: 2007-08-28 12:08:54 +0200 (Tue, 28 Aug 2007)
New Revision: 2839

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.c
Log:
2007-08-28  Neil Jagdish Patel  <njp at o-hand.com>

	Patch by: Rod Whitby <rod at whitby.id.au>
	* src/moko-dialer.c: (on_keypad_pin_entry),
	(on_network_registered), (register_network_cb), (moko_dialer_init):
	Ammend registering functions to respond correctly to the gsmd searching
	event.
	Change the initial timeout to connect to gsmd to 10 seconds, as gsmd takes
	longer than the orignal 5 seconds to start up.

Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2007-08-28 08:47:37 UTC (rev 2838)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2007-08-28 10:08:54 UTC (rev 2839)
@@ -1,3 +1,13 @@
+2007-08-28  Neil Jagdish Patel  <njp at o-hand.com>
+
+	Patch by: Rod Whitby <rod at whitby.id.au>
+	* src/moko-dialer.c: (on_keypad_pin_entry),
+	(on_network_registered), (register_network_cb), (moko_dialer_init):
+	Ammend registering functions to respond correctly to the gsmd searching
+	event.
+	Change the initial timeout to connect to gsmd to 10 seconds, as gsmd takes
+	longer than the orignal 5 seconds to start up.
+
 2007-08-23  Neil J. Patel  <njp at o-hand.com>
 
 	* src/moko-dialer.c: (on_talking_accept_call),

Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.c	2007-08-28 08:47:37 UTC (rev 2838)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer.c	2007-08-28 10:08:54 UTC (rev 2839)
@@ -42,7 +42,7 @@
 #define MOKO_DIALER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \
         MOKO_TYPE_DIALER, MokoDialerPrivate))
 
-#define GSM_REGISTER_TIMEOUT 5000 /* Five seconds after powering up */
+#define GSM_REGISTER_TIMEOUT 10000 /* Ten seconds after powering up */
 
 struct _MokoDialerPrivate
 {
@@ -69,8 +69,7 @@
 
   /* Registration variables */
   guint               reg_timeout;
-  gboolean            reg_request;
-  gboolean            registered;
+  MokoGsmdConnectionNetregType registered;
 };
 
 enum
@@ -292,8 +291,7 @@
 
   moko_keypad_set_pin_mode (MOKO_KEYPAD (priv->keypad), FALSE);
     
-  priv->reg_request = TRUE;
-  priv->registered = FALSE;
+  priv->registered = MOKO_GSMD_CONNECTION_NETREG_NONE;
   priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT, 
                                      (GSourceFunc)register_network_cb, 
                                      dialer);
@@ -424,14 +422,14 @@
   g_return_if_fail (MOKO_IS_DIALER (dialer));
   priv = dialer->priv;
 
+  g_warning ("on_network_registered: type is %d\n", type);
+
   switch (type)
   {
     case MOKO_GSMD_CONNECTION_NETREG_NONE:
     case MOKO_GSMD_CONNECTION_NETREG_SEARCHING:
       /* Do nothing */
       g_print ("NetReg: Searching for network\n");
-      g_source_remove (priv->reg_timeout);
-      priv->registered = TRUE;
       break;
     case MOKO_GSMD_CONNECTION_NETREG_DENIED:
       /* This may be a pin issue*/
@@ -441,11 +439,12 @@
       g_print ("NetReg: Network registered\n");
       g_print("\tLocationAreaCode = %x\n\tCellID = %x\n", lac, cell);
       g_source_remove (priv->reg_timeout);
-      priv->registered = TRUE;
       break;
     default:
       g_warning ("Unhandled register event type = %d\n", type);
    };
+
+  priv->registered = type;
 }
 
 static void
@@ -619,28 +618,32 @@
   g_return_val_if_fail (MOKO_DIALER (dialer), TRUE);
   priv = MOKO_DIALER_GET_PRIVATE (dialer);
 
-  if (!priv->reg_request)
+  /* We check whether we've been registered yet, otherwise keep poking 
+   * gsmd
+   */
+  switch (priv->registered)
   {
-    /* We have yet to request registration, so lets do it */
-    /* FIXME: do the pin stuff */
-    g_print ("Requesting registration\n");
-    moko_gsmd_connection_network_register (priv->connection);
-  }
-  else 
-  {
-    /* We check whether we've been registered yet, otherwise keep poking 
-     * gsmd
-     */
-    if (priv->registered)
-    {
-      g_print ("Network Registered\n");
-      return FALSE;
-    }
-    else
-    {
+    case MOKO_GSMD_CONNECTION_NETREG_NONE:
+      /* We have yet to request registration, so lets do it */
+      /* FIXME: do the pin stuff */
       g_print ("Requesting registration\n");
       moko_gsmd_connection_network_register (priv->connection);
-    }
+      priv->registered = MOKO_GSMD_CONNECTION_NETREG_SEARCHING;
+      break;
+    case MOKO_GSMD_CONNECTION_NETREG_SEARCHING:
+      g_print ("Waiting for registration\n");
+      break;
+    case MOKO_GSMD_CONNECTION_NETREG_DENIED:
+      g_print ("Registration denied, retrying\n");
+      moko_gsmd_connection_network_register (priv->connection);
+      priv->registered = MOKO_GSMD_CONNECTION_NETREG_SEARCHING;
+      break;
+    case MOKO_GSMD_CONNECTION_NETREG_HOME:
+    case MOKO_GSMD_CONNECTION_NETREG_ROAMING:
+      g_print ("Network Registered\n");
+	    return FALSE;
+    default:
+      g_warning ("Unhandled register event type = %d\n", priv->registered);
   }
   
   return TRUE;
@@ -754,9 +757,8 @@
 
   /* Handle network registration a few seconds after powering up the 
    * antenna*/ 
-  priv->reg_request = TRUE;
-  priv->registered = FALSE;
-  priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT, 
+  priv->registered = MOKO_GSMD_CONNECTION_NETREG_NONE;
+  priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT * 2, 
                                      (GSourceFunc)register_network_cb, 
                                      dialer);
   





More information about the commitlog mailing list