api,signal: new RSCP item

This commit is contained in:
Aleksander Morgado
2016-10-12 13:24:08 +02:00
parent 4c02fba819
commit 9b3549e375
5 changed files with 53 additions and 1 deletions
+3 -1
View File
@@ -178,8 +178,10 @@ print_signal_info (void)
if (signal)
g_print (" -------------------------\n"
" UMTS | RSSI: '%.2lf' dBm\n"
" | EcIo: '%.2lf' dBm\n",
" | RSCP: '%.2lf' dBm\n"
" | EcIo: '%.2lf' dB\n",
mm_signal_get_rssi (signal),
mm_signal_get_rscp (signal),
mm_signal_get_ecio (signal));
/* LTE */
@@ -894,6 +894,7 @@ MMSignal
MM_SIGNAL_UNKNOWN
<SUBSECTION Getters>
mm_signal_get_rssi
mm_signal_get_rscp
mm_signal_get_ecio
mm_signal_get_sinr
mm_signal_get_io
@@ -905,6 +906,7 @@ mm_signal_new
mm_signal_new_from_dictionary
mm_signal_get_dictionary
mm_signal_set_rssi
mm_signal_set_rscp
mm_signal_set_ecio
mm_signal_set_sinr
mm_signal_set_io
@@ -149,6 +149,14 @@
given as a floating point value (signature <literal>"d"</literal>).
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>"rscp"</literal></term>
<listitem>
<para>
The UMTS RSCP (Received Signal Code Power), in dBm, given as a
floating point value (signature <literal>"d"</literal>).
</para>
</listitem>
</varlistentry>
<varlistentry><term><literal>"ecio"</literal></term>
<listitem>
+38
View File
@@ -32,6 +32,7 @@
G_DEFINE_TYPE (MMSignal, mm_signal, G_TYPE_OBJECT)
#define PROPERTY_RSSI "rssi"
#define PROPERTY_RSCP "rscp"
#define PROPERTY_ECIO "ecio"
#define PROPERTY_SINR "sinr"
#define PROPERTY_IO "io"
@@ -41,6 +42,7 @@ G_DEFINE_TYPE (MMSignal, mm_signal, G_TYPE_OBJECT)
struct _MMSignalPrivate {
gdouble rssi;
gdouble rscp;
gdouble ecio;
gdouble sinr;
gdouble io;
@@ -78,6 +80,33 @@ mm_signal_set_rssi (MMSignal *self,
/*****************************************************************************/
/**
* mm_signal_get_rscp:
* @self: a #MMSignal.
*
* Gets the RSCP (Received Signal Code Power), in dBm.
*
* Returns: the RSCP, or %MM_SIGNAL_UNKNOWN if unknown.
*/
gdouble
mm_signal_get_rscp (MMSignal *self)
{
g_return_val_if_fail (MM_IS_SIGNAL (self), MM_SIGNAL_UNKNOWN);
return self->priv->rscp;
}
void
mm_signal_set_rscp (MMSignal *self,
gdouble value)
{
g_return_if_fail (MM_IS_SIGNAL (self));
self->priv->rscp = value;
}
/*****************************************************************************/
/**
* mm_signal_get_ecio:
* @self: a #MMSignal.
@@ -279,6 +308,12 @@ mm_signal_get_dictionary (MMSignal *self)
PROPERTY_RSSI,
g_variant_new_double (self->priv->rssi));
if (self->priv->rscp != MM_SIGNAL_UNKNOWN)
g_variant_builder_add (&builder,
"{sv}",
PROPERTY_RSCP,
g_variant_new_double (self->priv->rscp));
if (self->priv->ecio != MM_SIGNAL_UNKNOWN)
g_variant_builder_add (&builder,
"{sv}",
@@ -328,6 +363,8 @@ consume_variant (MMSignal *self,
{
if (g_str_equal (key, PROPERTY_RSSI))
self->priv->rssi = g_variant_get_double (value);
else if (g_str_equal (key, PROPERTY_RSCP))
self->priv->rscp = g_variant_get_double (value);
else if (g_str_equal (key, PROPERTY_ECIO))
self->priv->ecio = g_variant_get_double (value);
else if (g_str_equal (key, PROPERTY_SINR))
@@ -424,6 +461,7 @@ mm_signal_init (MMSignal *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, MM_TYPE_SIGNAL, MMSignalPrivate);
self->priv->rssi = MM_SIGNAL_UNKNOWN;
self->priv->rscp = MM_SIGNAL_UNKNOWN;
self->priv->ecio = MM_SIGNAL_UNKNOWN;
self->priv->sinr = MM_SIGNAL_UNKNOWN;
self->priv->io = MM_SIGNAL_UNKNOWN;
+2
View File
@@ -63,6 +63,7 @@ struct _MMSignalClass {
GType mm_signal_get_type (void);
gdouble mm_signal_get_rssi (MMSignal *self);
gdouble mm_signal_get_rscp (MMSignal *self);
gdouble mm_signal_get_ecio (MMSignal *self);
gdouble mm_signal_get_sinr (MMSignal *self);
gdouble mm_signal_get_io (MMSignal *self);
@@ -84,6 +85,7 @@ MMSignal *mm_signal_new_from_dictionary (GVariant *dictionary,
GError **error);
void mm_signal_set_rssi (MMSignal *self, gdouble value);
void mm_signal_set_rscp (MMSignal *self, gdouble value);
void mm_signal_set_ecio (MMSignal *self, gdouble value);
void mm_signal_set_sinr (MMSignal *self, gdouble value);
void mm_signal_set_io (MMSignal *self, gdouble value);