Hopefully fixed deepsleep mode

This commit is contained in:
Pierre Pronchery 2011-10-31 00:06:03 +00:00
parent a42daf32b4
commit 246c7738b4

View File

@ -258,7 +258,8 @@ static int _event_modem_event(PhonePlugin * plugin, ModemEvent * event)
/* enable echo cancellation */ /* enable echo cancellation */
_openmoko_queue(plugin, "AT%N0187"); _openmoko_queue(plugin, "AT%N0187");
break; break;
case PHONE_EVENT_TYPE_ONLINE: case MODEM_EVENT_TYPE_STATUS:
if(event->status.status == MODEM_STATUS_ONLINE)
_openmoko_deepsleep(plugin); _openmoko_deepsleep(plugin);
break; break;
default: default:
@ -334,12 +335,12 @@ static int _event_volume_set(PhonePlugin * plugin, gdouble level)
/* openmoko_deepsleep */ /* openmoko_deepsleep */
static void _openmoko_deepsleep(PhonePlugin * plugin) static void _openmoko_deepsleep(PhonePlugin * plugin)
{ {
PhonePluginHelper * helper = plugin->helper;
char const * cmd = "AT%SLEEP=4"; /* allow deep sleep */ char const * cmd = "AT%SLEEP=4"; /* allow deep sleep */
char const * p; char const * p;
if((p = plugin->helper->config_get(plugin->helper->phone, "openmoko", if((p = helper->config_get(helper->phone, "openmoko", "deepsleep"))
"deepsleep")) != NULL != NULL && strtoul(p, NULL, 10) != 0)
&& strtoul(p, NULL, 10) != 0)
cmd = "AT%SLEEP=2"; /* prevent deep sleep */ cmd = "AT%SLEEP=2"; /* prevent deep sleep */
/* XXX may reset the hardware modem */ /* XXX may reset the hardware modem */
_openmoko_queue(plugin, cmd); _openmoko_queue(plugin, cmd);