From: Jaehyun Kim Date: Thu, 4 Oct 2018 13:09:39 +0000 (+0900) Subject: Change signal level policy X-Git-Tag: accepted/tizen/5.0/unified/20181102.015009^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fconnectivity%2Fnet-config.git;a=commitdiff_plain;h=3b99b6e6eb6b2a04c3e35d19e98ea75969162e18 Change signal level policy Change-Id: I41b9e45518c1198b16b7208f2918999418c41ca2 Signed-off-by: Jaehyun Kim --- diff --git a/src/wifi-indicator.c b/src/wifi-indicator.c index 86fd4d8..dd6c7b5 100755 --- a/src/wifi-indicator.c +++ b/src/wifi-indicator.c @@ -118,25 +118,72 @@ static int __netconfig_wifi_update_and_get_rssi(void) return rssi_dbm; } -int netconfig_wifi_rssi_level(const int rssi_dbm) +static int __netconfig_wifi_convert_dbm_to_level_24(int rssi_dbm) { - int snr_level = 0; + int rssi_level = 0; - /* Wi-Fi Signal Strength Display + /* Wi-Fi Signal Strength Display (for 2.4G (dB)) * - * Excellent : -63 ~ - * Good: -74 ~ -64 - * Weak: -82 ~ -75 - * Very weak: ~ -83 + * Excellent : ~ -63 + * Good : -64 ~ -74 + * Weak : -75 ~ -82 + * Very weak : -83 ~ -88 + * No signal : -89 ~ */ + if (rssi_dbm >= -63) - snr_level = 4; + rssi_level = 4; else if (rssi_dbm >= -74) - snr_level = 3; + rssi_level = 3; else if (rssi_dbm >= -82) - snr_level = 2; + rssi_level = 2; + else if (rssi_dbm >= -88) + rssi_level = 1; + else + rssi_level = 0; + + return rssi_level; +} + +static int __netconfig_wifi_convert_dbm_to_level_50(int rssi_dbm) +{ + int rssi_level = 0; + + /* Wi-Fi Signal Strength Display (for 5G (dB)) + * + * Excellent : ~ -72 + * Good : -73 ~ -78 + * Weak : -79 ~ -83 + * Very weak : -84 ~ -88 + * No signal : -89 ~ + */ + + if (rssi_dbm >= -72) + rssi_level = 4; + else if (rssi_dbm >= -78) + rssi_level = 3; + else if (rssi_dbm >= -83) + rssi_level = 2; + else if (rssi_dbm >= -88) + rssi_level = 1; + else + rssi_level = 0; + + return rssi_level; +} + +int netconfig_wifi_rssi_level(const int rssi_dbm) +{ + int snr_level = 0; + int freq = 0; + int ret = 0; + + ret = netconfig_vconf_get_int("memory/private/wifi/frequency", &freq); + + if (!ret && freq > 4900) + snr_level = __netconfig_wifi_convert_dbm_to_level_50(rssi_dbm); else - snr_level = 1; + snr_level = __netconfig_wifi_convert_dbm_to_level_24(rssi_dbm); return snr_level; }