modem-helpers: port cesq response parser to use object logging
This commit is contained in:
@@ -716,6 +716,7 @@ rssnr_level_to_rssnr (gint rssnr_level,
|
||||
|
||||
gboolean
|
||||
mm_xmm_xcesq_response_to_signal_info (const gchar *response,
|
||||
gpointer log_object,
|
||||
MMSignal **out_gsm,
|
||||
MMSignal **out_umts,
|
||||
MMSignal **out_lte,
|
||||
@@ -746,7 +747,7 @@ mm_xmm_xcesq_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);
|
||||
}
|
||||
@@ -754,13 +755,13 @@ mm_xmm_xcesq_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);
|
||||
@@ -772,13 +773,13 @@ mm_xmm_xcesq_response_to_signal_info (const gchar *response,
|
||||
}
|
||||
|
||||
/* 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);
|
||||
|
||||
@@ -51,6 +51,7 @@ gboolean mm_xmm_parse_xcesq_query_response (const gchar *response,
|
||||
GError **error);
|
||||
|
||||
gboolean mm_xmm_xcesq_response_to_signal_info (const gchar *response,
|
||||
gpointer log_object,
|
||||
MMSignal **out_gsm,
|
||||
MMSignal **out_umts,
|
||||
MMSignal **out_lte,
|
||||
|
||||
@@ -765,7 +765,7 @@ mm_shared_xmm_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_xmm_xcesq_response_to_signal_info (response, gsm, umts, lte, error))
|
||||
if (!response || !mm_xmm_xcesq_response_to_signal_info (response, self, gsm, umts, lte, error))
|
||||
return FALSE;
|
||||
|
||||
if (cdma)
|
||||
|
||||
@@ -617,6 +617,7 @@ test_xcesq_response_to_signal (void)
|
||||
MMSignal *lte = NULL;
|
||||
|
||||
success = mm_xmm_xcesq_response_to_signal_info (xcesq_response_tests[i].str,
|
||||
NULL,
|
||||
&gsm, &umts, <e,
|
||||
&error);
|
||||
g_assert_no_error (error);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
+26
-20
@@ -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);
|
||||
|
||||
+19
-12
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user