aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-07-13 20:15:35 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-08-06 20:07:23 +0200
commite6d7885d7fc34722e459d7a4b3c55bb8680d2401 (patch)
tree099b8e66136158d8066803ad571db01d0cd66b89
parenta7f0a313e5eea4abb74db9b744ae73ce104e5c60 (diff)
huawei: implement CDMA unsolicited signal change report handling
-rw-r--r--plugins/huawei/mm-broadband-modem-huawei.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
index 78b764f0..95aa1f8e 100644
--- a/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/plugins/huawei/mm-broadband-modem-huawei.c
@@ -1121,6 +1121,14 @@ huawei_1x_signal_changed (MMAtSerialPort *port,
GMatchInfo *match_info,
MMBroadbandModemHuawei *self)
{
+ guint quality = 0;
+
+ if (!mm_get_uint_from_match_info (match_info, 1, &quality))
+ return;
+
+ quality = CLAMP (quality, 0, 100);
+ mm_dbg ("1X signal quality: %u", quality);
+ mm_iface_modem_update_signal_quality (MM_IFACE_MODEM (self), (guint)quality);
}
static void
@@ -1128,6 +1136,14 @@ huawei_evdo_signal_changed (MMAtSerialPort *port,
GMatchInfo *match_info,
MMBroadbandModemHuawei *self)
{
+ guint quality = 0;
+
+ if (!mm_get_uint_from_match_info (match_info, 1, &quality))
+ return;
+
+ quality = CLAMP (quality, 0, 100);
+ mm_dbg ("EVDO signal quality: %u", quality);
+ mm_iface_modem_update_signal_quality (MM_IFACE_MODEM (self), (guint)quality);
}
static void