From 86dbf99b5f054bef60d0fc8bea8043c1d354e470 Mon Sep 17 00:00:00 2001 From: "Leandro A. F. Pereira" Date: Sat, 24 May 2008 18:12:26 +0000 Subject: Display txpower in mW and dBm. --- hardinfo2/arch/linux/common/net.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'hardinfo2/arch/linux/common') diff --git a/hardinfo2/arch/linux/common/net.h b/hardinfo2/arch/linux/common/net.h index af621db8..bf29a5cc 100644 --- a/hardinfo2/arch/linux/common/net.h +++ b/hardinfo2/arch/linux/common/net.h @@ -372,12 +372,19 @@ static void scan_net_interfaces_24(void) gchar *txpower; if (ni.wi_has_txpower) { - if (ni.wi_txpower.flags & IW_TXPOW_MWATT) - txpower = g_strdup_printf("%d mW", ni.wi_txpower.value); - else - txpower = g_strdup_printf("%d dBm", ni.wi_txpower.value); + gint mw, dbm; + + if (ni.wi_txpower.flags & IW_TXPOW_MWATT) { + mw = ni.wi_txpower.value; + dbm = (int) ceil(10.0 * log10((double) ni.wi_txpower.value)); + } else { + dbm = ni.wi_txpower.value; + mw = (int) floor(pow(10.0, ((double) dbm / 10.0))); + } + + txpower = g_strdup_printf("%ddBm (%dmW)", dbm, mw); } else { - txpower = g_strdup("Radio Off"); + txpower = g_strdup("Unknown"); } detailed = h_strdup_cprintf("\n[Wireless Properties]\n" -- cgit v1.2.3