diff options
author | Paul Bartell <p.bartell@temperednetworks.com> | 2017-09-07 09:43:58 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@gnu.org> | 2018-09-13 07:17:51 +0000 |
commit | 04bf69c276ef0ced566e5d5b183c9995c5015516 (patch) | |
tree | 017e98f0b04e4c2252e0564f292f3247cb2c84f3 | |
parent | 6e5ea39cbab5d84dea8fe31d760bc79ac3412052 (diff) | |
download | ModemManager-04bf69c276ef0ced566e5d5b183c9995c5015516.tar.gz |
modem-helpers: Make 3gpp signal quality functions public
-rw-r--r-- | src/mm-modem-helpers.c | 52 | ||||
-rw-r--r-- | src/mm-modem-helpers.h | 24 |
2 files changed, 50 insertions, 26 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 5e3f5c0c0..35465d919 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -2260,12 +2260,12 @@ mm_3gpp_parse_cesq_response (const gchar *response, GRegex *r; GMatchInfo *match_info; GError *inner_error = NULL; - guint rxlev = 0; - guint ber = 0; - guint rscp = 0; - guint ecn0 = 0; - guint rsrq = 0; - guint rsrp = 0; + guint rxlev = 99; + guint ber = 99; + guint rscp = 255; + guint ecn0 = 255; + guint rsrq = 255; + guint rsrp = 255; gboolean success = FALSE; g_assert (out_rxlev); @@ -2336,9 +2336,9 @@ out: return TRUE; } -static gboolean -rxlev_to_rssi (guint rxlev, - gdouble *out_rssi) +gboolean +mm_3gpp_rxlev_to_rssi (guint rxlev, + gdouble *out_rssi) { if (rxlev <= 63) { *out_rssi = -111.0 + rxlev; @@ -2350,9 +2350,9 @@ rxlev_to_rssi (guint rxlev, return FALSE; } -static gboolean -rscp_level_to_rscp (guint rscp_level, - gdouble *out_rscp) +gboolean +mm_3gpp_rscp_level_to_rscp (guint rscp_level, + gdouble *out_rscp) { if (rscp_level <= 96) { *out_rscp = -121.0 + rscp_level; @@ -2364,9 +2364,9 @@ rscp_level_to_rscp (guint rscp_level, return FALSE; } -static gboolean -ecn0_level_to_ecio (guint ecn0_level, - gdouble *out_ecio) +gboolean +mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, + gdouble *out_ecio) { if (ecn0_level <= 49) { *out_ecio = -24.5 + (((gdouble) ecn0_level) * 0.5); @@ -2378,9 +2378,9 @@ ecn0_level_to_ecio (guint ecn0_level, return FALSE; } -static gboolean -rsrq_level_to_rsrq (guint rsrq_level, - gdouble *out_rsrq) +gboolean +mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, + gdouble *out_rsrq) { if (rsrq_level <= 34) { *out_rsrq = -20.0 + (((gdouble) rsrq_level) * 0.5); @@ -2392,9 +2392,9 @@ rsrq_level_to_rsrq (guint rsrq_level, return FALSE; } -static gboolean -rsrp_level_to_rsrp (guint rsrp_level, - gdouble *out_rsrp) +gboolean +mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, + gdouble *out_rsrp) { if (rsrp_level <= 97) { *out_rsrp = -141.0 + rsrp_level; @@ -2436,7 +2436,7 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response, return FALSE; /* GERAN RSSI */ - if (rxlev_to_rssi (rxlev, &rssi)) { + if (mm_3gpp_rxlev_to_rssi (rxlev, &rssi)) { gsm = mm_signal_new (); mm_signal_set_rssi (gsm, rssi); } @@ -2444,26 +2444,26 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response, /* ignore BER */ /* UMTS RSCP */ - if (rscp_level_to_rscp (rscp_level, &rscp)) { + if (mm_3gpp_rscp_level_to_rscp (rscp_level, &rscp)) { umts = mm_signal_new (); mm_signal_set_rscp (umts, rscp); } /* UMTS EcIo (assumed EcN0) */ - if (ecn0_level_to_ecio (ecn0_level, &ecio)) { + if (mm_3gpp_ecn0_level_to_ecio (ecn0_level, &ecio)) { if (!umts) umts = mm_signal_new (); mm_signal_set_ecio (umts, ecio); } /* LTE RSRQ */ - if (rsrq_level_to_rsrq (rsrq_level, &rsrq)) { + if (mm_3gpp_rsrq_level_to_rsrq (rsrq_level, &rsrq)) { lte = mm_signal_new (); mm_signal_set_rsrq (lte, rsrq); } /* LTE RSRP */ - if (rsrp_level_to_rsrp (rsrp_level, &rsrp)) { + if (mm_3gpp_rsrp_level_to_rsrp (rsrp_level, &rsrp)) { if (!lte) lte = mm_signal_new (); mm_signal_set_rsrp (lte, rsrp); diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index 1897038c2..30855f279 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -357,6 +357,30 @@ MMBearerIpFamily mm_3gpp_get_ip_family_from_pdp_type (const gchar *pdp_type); char *mm_3gpp_parse_iccid (const char *raw_iccid, GError **error); +gboolean +mm_3gpp_rscp_level_to_rscp (guint rscp_level, + gdouble *out_rscp); + +gboolean +mm_3gpp_rxlev_to_rssi (guint rxlev, + gdouble *out_rssi); + +gboolean +mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, + gdouble *out_ecio); + +gboolean +mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, + gdouble *out_rsrq); + +gboolean +mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, + gdouble *out_rsrp); + +gboolean +mm_3gpp_rssnr_level_to_rssnr (gint rssnr_level, + gdouble *out_rssnr); + /*****************************************************************************/ /* CDMA specific helpers and utilities */ /*****************************************************************************/ |