iface-modem-signal: added 5G signal information
Extended the ModemManager Signal interface to include 5G signal information for RSRP, RSRQ and SINR via libqmi. Also extended mmci to print 5G signal info.
This commit is contained in:
committed by
Aleksander Morgado
parent
711b17278e
commit
88923ffe39
@@ -2187,13 +2187,14 @@ signal_load_values_finish (MMIfaceModemSignal *_self,
|
||||
MMSignal **gsm,
|
||||
MMSignal **umts,
|
||||
MMSignal **lte,
|
||||
MMSignal **nr5g,
|
||||
GError **error)
|
||||
{
|
||||
MMBroadbandModemCinterion *self = MM_BROADBAND_MODEM_CINTERION (_self);
|
||||
const gchar *response;
|
||||
|
||||
if (self->priv->smoni_support == FEATURE_NOT_SUPPORTED)
|
||||
return iface_modem_signal_parent->load_values_finish (_self, res, cdma, evdo, gsm, umts, lte, error);
|
||||
return iface_modem_signal_parent->load_values_finish (_self, res, cdma, evdo, gsm, umts, lte, nr5g, error);
|
||||
|
||||
response = mm_base_modem_at_command_finish (MM_BASE_MODEM (_self), res, error);
|
||||
if (!response || !mm_cinterion_smoni_response_to_signal_info (response, gsm, umts, lte, error))
|
||||
@@ -2203,6 +2204,8 @@ signal_load_values_finish (MMIfaceModemSignal *_self,
|
||||
*cdma = NULL;
|
||||
if (evdo)
|
||||
*evdo = NULL;
|
||||
if (nr5g)
|
||||
*nr5g = NULL;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -87,6 +87,7 @@ typedef struct {
|
||||
MMSignal *gsm;
|
||||
MMSignal *umts;
|
||||
MMSignal *lte;
|
||||
MMSignal *nr5g;
|
||||
} DetailedSignal;
|
||||
|
||||
struct _MMBroadbandModemHuaweiPrivate {
|
||||
@@ -4209,6 +4210,7 @@ signal_load_values_finish (MMIfaceModemSignal *self,
|
||||
MMSignal **gsm,
|
||||
MMSignal **umts,
|
||||
MMSignal **lte,
|
||||
MMSignal **nr5g,
|
||||
GError **error)
|
||||
{
|
||||
DetailedSignal *signals;
|
||||
@@ -4222,6 +4224,7 @@ signal_load_values_finish (MMIfaceModemSignal *self,
|
||||
*gsm = signals->gsm ? g_object_ref (signals->gsm) : NULL;
|
||||
*umts = signals->umts ? g_object_ref (signals->umts) : NULL;
|
||||
*lte = signals->lte ? g_object_ref (signals->lte) : NULL;
|
||||
*nr5g = signals->nr5g ? g_object_ref (signals->nr5g) : NULL;
|
||||
|
||||
detailed_signal_free (signals);
|
||||
return TRUE;
|
||||
|
||||
@@ -761,6 +761,7 @@ mm_shared_xmm_signal_load_values_finish (MMIfaceModemSignal *self,
|
||||
MMSignal **gsm,
|
||||
MMSignal **umts,
|
||||
MMSignal **lte,
|
||||
MMSignal **nr5g,
|
||||
GError **error)
|
||||
{
|
||||
const gchar *response;
|
||||
@@ -773,6 +774,8 @@ mm_shared_xmm_signal_load_values_finish (MMIfaceModemSignal *self,
|
||||
*cdma = NULL;
|
||||
if (evdo)
|
||||
*evdo = NULL;
|
||||
if (nr5g)
|
||||
*nr5g = NULL;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -140,6 +140,7 @@ gboolean mm_shared_xmm_signal_load_values_finish (MMIfaceModemSign
|
||||
MMSignal **gsm,
|
||||
MMSignal **umts,
|
||||
MMSignal **lte,
|
||||
MMSignal **nr5g,
|
||||
GError **error);
|
||||
void mm_shared_xmm_signal_load_values (MMIfaceModemSignal *self,
|
||||
GCancellable *cancellable,
|
||||
|
||||
Reference in New Issue
Block a user