modem-helpers: Make 3gpp signal quality functions public
This commit is contained in:

committed by
Aleksander Morgado

parent
6e5ea39cba
commit
04bf69c276
@@ -2260,12 +2260,12 @@ mm_3gpp_parse_cesq_response (const gchar *response,
|
|||||||
GRegex *r;
|
GRegex *r;
|
||||||
GMatchInfo *match_info;
|
GMatchInfo *match_info;
|
||||||
GError *inner_error = NULL;
|
GError *inner_error = NULL;
|
||||||
guint rxlev = 0;
|
guint rxlev = 99;
|
||||||
guint ber = 0;
|
guint ber = 99;
|
||||||
guint rscp = 0;
|
guint rscp = 255;
|
||||||
guint ecn0 = 0;
|
guint ecn0 = 255;
|
||||||
guint rsrq = 0;
|
guint rsrq = 255;
|
||||||
guint rsrp = 0;
|
guint rsrp = 255;
|
||||||
gboolean success = FALSE;
|
gboolean success = FALSE;
|
||||||
|
|
||||||
g_assert (out_rxlev);
|
g_assert (out_rxlev);
|
||||||
@@ -2336,8 +2336,8 @@ out:
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
gboolean
|
||||||
rxlev_to_rssi (guint rxlev,
|
mm_3gpp_rxlev_to_rssi (guint rxlev,
|
||||||
gdouble *out_rssi)
|
gdouble *out_rssi)
|
||||||
{
|
{
|
||||||
if (rxlev <= 63) {
|
if (rxlev <= 63) {
|
||||||
@@ -2350,8 +2350,8 @@ rxlev_to_rssi (guint rxlev,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
gboolean
|
||||||
rscp_level_to_rscp (guint rscp_level,
|
mm_3gpp_rscp_level_to_rscp (guint rscp_level,
|
||||||
gdouble *out_rscp)
|
gdouble *out_rscp)
|
||||||
{
|
{
|
||||||
if (rscp_level <= 96) {
|
if (rscp_level <= 96) {
|
||||||
@@ -2364,8 +2364,8 @@ rscp_level_to_rscp (guint rscp_level,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
gboolean
|
||||||
ecn0_level_to_ecio (guint ecn0_level,
|
mm_3gpp_ecn0_level_to_ecio (guint ecn0_level,
|
||||||
gdouble *out_ecio)
|
gdouble *out_ecio)
|
||||||
{
|
{
|
||||||
if (ecn0_level <= 49) {
|
if (ecn0_level <= 49) {
|
||||||
@@ -2378,8 +2378,8 @@ ecn0_level_to_ecio (guint ecn0_level,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
gboolean
|
||||||
rsrq_level_to_rsrq (guint rsrq_level,
|
mm_3gpp_rsrq_level_to_rsrq (guint rsrq_level,
|
||||||
gdouble *out_rsrq)
|
gdouble *out_rsrq)
|
||||||
{
|
{
|
||||||
if (rsrq_level <= 34) {
|
if (rsrq_level <= 34) {
|
||||||
@@ -2392,8 +2392,8 @@ rsrq_level_to_rsrq (guint rsrq_level,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
gboolean
|
||||||
rsrp_level_to_rsrp (guint rsrp_level,
|
mm_3gpp_rsrp_level_to_rsrp (guint rsrp_level,
|
||||||
gdouble *out_rsrp)
|
gdouble *out_rsrp)
|
||||||
{
|
{
|
||||||
if (rsrp_level <= 97) {
|
if (rsrp_level <= 97) {
|
||||||
@@ -2436,7 +2436,7 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* GERAN RSSI */
|
/* GERAN RSSI */
|
||||||
if (rxlev_to_rssi (rxlev, &rssi)) {
|
if (mm_3gpp_rxlev_to_rssi (rxlev, &rssi)) {
|
||||||
gsm = mm_signal_new ();
|
gsm = mm_signal_new ();
|
||||||
mm_signal_set_rssi (gsm, rssi);
|
mm_signal_set_rssi (gsm, rssi);
|
||||||
}
|
}
|
||||||
@@ -2444,26 +2444,26 @@ mm_3gpp_cesq_response_to_signal_info (const gchar *response,
|
|||||||
/* ignore BER */
|
/* ignore BER */
|
||||||
|
|
||||||
/* UMTS RSCP */
|
/* UMTS RSCP */
|
||||||
if (rscp_level_to_rscp (rscp_level, &rscp)) {
|
if (mm_3gpp_rscp_level_to_rscp (rscp_level, &rscp)) {
|
||||||
umts = mm_signal_new ();
|
umts = mm_signal_new ();
|
||||||
mm_signal_set_rscp (umts, rscp);
|
mm_signal_set_rscp (umts, rscp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* UMTS EcIo (assumed EcN0) */
|
/* UMTS EcIo (assumed EcN0) */
|
||||||
if (ecn0_level_to_ecio (ecn0_level, &ecio)) {
|
if (mm_3gpp_ecn0_level_to_ecio (ecn0_level, &ecio)) {
|
||||||
if (!umts)
|
if (!umts)
|
||||||
umts = mm_signal_new ();
|
umts = mm_signal_new ();
|
||||||
mm_signal_set_ecio (umts, ecio);
|
mm_signal_set_ecio (umts, ecio);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LTE RSRQ */
|
/* LTE RSRQ */
|
||||||
if (rsrq_level_to_rsrq (rsrq_level, &rsrq)) {
|
if (mm_3gpp_rsrq_level_to_rsrq (rsrq_level, &rsrq)) {
|
||||||
lte = mm_signal_new ();
|
lte = mm_signal_new ();
|
||||||
mm_signal_set_rsrq (lte, rsrq);
|
mm_signal_set_rsrq (lte, rsrq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LTE RSRP */
|
/* LTE RSRP */
|
||||||
if (rsrp_level_to_rsrp (rsrp_level, &rsrp)) {
|
if (mm_3gpp_rsrp_level_to_rsrp (rsrp_level, &rsrp)) {
|
||||||
if (!lte)
|
if (!lte)
|
||||||
lte = mm_signal_new ();
|
lte = mm_signal_new ();
|
||||||
mm_signal_set_rsrp (lte, rsrp);
|
mm_signal_set_rsrp (lte, rsrp);
|
||||||
|
@@ -357,6 +357,30 @@ MMBearerIpFamily mm_3gpp_get_ip_family_from_pdp_type (const gchar *pdp_type);
|
|||||||
|
|
||||||
char *mm_3gpp_parse_iccid (const char *raw_iccid, GError **error);
|
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);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* CDMA specific helpers and utilities */
|
/* CDMA specific helpers and utilities */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
Reference in New Issue
Block a user