diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem.c | 2 | ||||
-rw-r--r-- | src/mm-modem-helpers.c | 46 | ||||
-rw-r--r-- | src/mm-modem-helpers.h | 31 | ||||
-rw-r--r-- | src/tests/test-modem-helpers.c | 1 |
4 files changed, 47 insertions, 33 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index fab66f79..5d5a219a 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -9948,7 +9948,7 @@ modem_signal_load_values_finish (MMIfaceModemSignal *self, const gchar *response; response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error); - if (!response || !mm_3gpp_cesq_response_to_signal_info (response, gsm, umts, lte, error)) + if (!response || !mm_3gpp_cesq_response_to_signal_info (response, self, gsm, umts, lte, error)) return FALSE; /* No 3GPP2 support */ diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 3d281abe..36f3dfb4 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -2615,8 +2615,9 @@ out: } gboolean -mm_3gpp_rxlev_to_rssi (guint rxlev, - gdouble *out_rssi) +mm_3gpp_rxlev_to_rssi (guint rxlev, + gpointer log_object, + gdouble *out_rssi) { if (rxlev <= 63) { *out_rssi = -111.0 + rxlev; @@ -2624,13 +2625,14 @@ mm_3gpp_rxlev_to_rssi (guint rxlev, } if (rxlev != 99) - mm_warn ("unexpected rxlev: %u", rxlev); + mm_obj_warn (log_object, "unexpected rxlev: %u", rxlev); return FALSE; } gboolean -mm_3gpp_rscp_level_to_rscp (guint rscp_level, - gdouble *out_rscp) +mm_3gpp_rscp_level_to_rscp (guint rscp_level, + gpointer log_object, + gdouble *out_rscp) { if (rscp_level <= 96) { *out_rscp = -121.0 + rscp_level; @@ -2638,13 +2640,14 @@ mm_3gpp_rscp_level_to_rscp (guint rscp_level, } if (rscp_level != 255) - mm_warn ("unexpected rscp level: %u", rscp_level); + mm_obj_warn (log_object, "unexpected rscp level: %u", rscp_level); return FALSE; } gboolean -mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, - gdouble *out_ecio) +mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, + gpointer log_object, + gdouble *out_ecio) { if (ecn0_level <= 49) { *out_ecio = -24.5 + (((gdouble) ecn0_level) * 0.5); @@ -2652,13 +2655,14 @@ mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, } if (ecn0_level != 255) - mm_warn ("unexpected Ec/N0 level: %u", ecn0_level); + mm_obj_warn (log_object, "unexpected Ec/N0 level: %u", ecn0_level); return FALSE; } gboolean -mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, - gdouble *out_rsrq) +mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, + gpointer log_object, + gdouble *out_rsrq) { if (rsrq_level <= 34) { *out_rsrq = -20.0 + (((gdouble) rsrq_level) * 0.5); @@ -2666,13 +2670,14 @@ mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, } if (rsrq_level != 255) - mm_warn ("unexpected RSRQ level: %u", rsrq_level); + mm_obj_warn (log_object, "unexpected RSRQ level: %u", rsrq_level); return FALSE; } gboolean -mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, - gdouble *out_rsrp) +mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, + gpointer log_object, + gdouble *out_rsrp) { if (rsrp_level <= 97) { *out_rsrp = -141.0 + rsrp_level; @@ -2680,12 +2685,13 @@ mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, } if (rsrp_level != 255) - mm_warn ("unexpected RSRP level: %u", rsrp_level); + mm_obj_warn (log_object, "unexpected RSRP level: %u", rsrp_level); return FALSE; } gboolean mm_3gpp_cesq_response_to_signal_info (const gchar *response, + gpointer log_object, MMSignal **out_gsm, MMSignal **out_umts, MMSignal **out_lte, @@ -2714,7 +2720,7 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response, return FALSE; /* GERAN RSSI */ - if (mm_3gpp_rxlev_to_rssi (rxlev, &rssi)) { + if (mm_3gpp_rxlev_to_rssi (rxlev, log_object, &rssi)) { gsm = mm_signal_new (); mm_signal_set_rssi (gsm, rssi); } @@ -2722,26 +2728,26 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response, /* ignore BER */ /* UMTS RSCP */ - if (mm_3gpp_rscp_level_to_rscp (rscp_level, &rscp)) { + if (mm_3gpp_rscp_level_to_rscp (rscp_level, log_object, &rscp)) { umts = mm_signal_new (); mm_signal_set_rscp (umts, rscp); } /* UMTS EcIo (assumed EcN0) */ - if (mm_3gpp_ecn0_level_to_ecio (ecn0_level, &ecio)) { + if (mm_3gpp_ecn0_level_to_ecio (ecn0_level, log_object, &ecio)) { if (!umts) umts = mm_signal_new (); mm_signal_set_ecio (umts, ecio); } /* LTE RSRQ */ - if (mm_3gpp_rsrq_level_to_rsrq (rsrq_level, &rsrq)) { + if (mm_3gpp_rsrq_level_to_rsrq (rsrq_level, log_object, &rsrq)) { lte = mm_signal_new (); mm_signal_set_rsrq (lte, rsrq); } /* LTE RSRP */ - if (mm_3gpp_rsrp_level_to_rsrp (rsrp_level, &rsrp)) { + if (mm_3gpp_rsrp_level_to_rsrp (rsrp_level, log_object, &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 68611d87..d2c1a5a6 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -401,6 +401,7 @@ gboolean mm_3gpp_parse_cesq_response (const gchar *response, GError **error); gboolean mm_3gpp_cesq_response_to_signal_info (const gchar *response, + gpointer log_object, MMSignal **out_gsm, MMSignal **out_umts, MMSignal **out_lte, @@ -439,18 +440,24 @@ 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); +gboolean mm_3gpp_rscp_level_to_rscp (guint rscp_level, + gpointer log_object, + gdouble *out_rscp); +gboolean mm_3gpp_rxlev_to_rssi (guint rxlev, + gpointer log_object, + gdouble *out_rssi); +gboolean mm_3gpp_ecn0_level_to_ecio (guint ecn0_level, + gpointer log_object, + gdouble *out_ecio); +gboolean mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level, + gpointer log_object, + gdouble *out_rsrq); +gboolean mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level, + gpointer log_object, + gdouble *out_rsrp); +gboolean mm_3gpp_rssnr_level_to_rssnr (gint rssnr_level, + gpointer log_object, + gdouble *out_rssnr); GStrv mm_3gpp_parse_emergency_numbers (const char *raw, GError **error); diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c index e025fe2e..8b39f90e 100644 --- a/src/tests/test-modem-helpers.c +++ b/src/tests/test-modem-helpers.c @@ -3910,6 +3910,7 @@ test_cesq_response_to_signal (void) MMSignal *lte = NULL; success = mm_3gpp_cesq_response_to_signal_info (cesq_response_tests[i].str, + NULL, &gsm, &umts, <e, &error); g_assert_no_error (error); |