diff options
author | Walter Hagstrom <walter.hagstrom@digi.com> | 2020-06-23 11:14:43 -0400 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-07-04 05:50:41 +0200 |
commit | 88923ffe3996fdef83dc13a7a4762855af77706d (patch) | |
tree | 38e1240a6a9db59c6f95d16a6316dba6e2ec7418 /src/mm-iface-modem-signal.c | |
parent | 711b17278edecbc474418ecf95e7582f515711cb (diff) |
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.
Diffstat (limited to 'src/mm-iface-modem-signal.c')
-rw-r--r-- | src/mm-iface-modem-signal.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mm-iface-modem-signal.c b/src/mm-iface-modem-signal.c index 03e4ce1f..447b7cf2 100644 --- a/src/mm-iface-modem-signal.c +++ b/src/mm-iface-modem-signal.c @@ -68,6 +68,7 @@ clear_values (MMIfaceModemSignal *self) mm_gdbus_modem_signal_set_gsm (skeleton, NULL); mm_gdbus_modem_signal_set_umts (skeleton, NULL); mm_gdbus_modem_signal_set_lte (skeleton, NULL); + mm_gdbus_modem_signal_set_nr5g (skeleton, NULL); g_object_unref (skeleton); } @@ -82,6 +83,7 @@ load_values_ready (MMIfaceModemSignal *self, MMSignal *gsm = NULL; MMSignal *umts = NULL; MMSignal *lte = NULL; + MMSignal *nr5g = NULL; MmGdbusModemSignal *skeleton; if (!MM_IFACE_MODEM_SIGNAL_GET_INTERFACE (self)->load_values_finish ( @@ -92,6 +94,7 @@ load_values_ready (MMIfaceModemSignal *self, &gsm, &umts, <e, + &nr5g, &error)) { mm_obj_warn (self, "couldn't load extended signal information: %s", error->message); g_error_free (error); @@ -147,6 +150,15 @@ load_values_ready (MMIfaceModemSignal *self, } else mm_gdbus_modem_signal_set_lte (skeleton, NULL); + if (nr5g) { + dictionary = mm_signal_get_dictionary (nr5g); + mm_gdbus_modem_signal_set_nr5g (skeleton, dictionary); + g_variant_unref (dictionary); + g_object_unref (nr5g); + } else + mm_gdbus_modem_signal_set_nr5g (skeleton, NULL); + + /* Flush right away */ g_dbus_interface_skeleton_flush (G_DBUS_INTERFACE_SKELETON (skeleton)); |