return (prefix_len ? (in_addr_t) 0xFFFFFFFFu >> (32 - prefix_len) : 0);
}
+static wifi_manager_rssi_level_e __ap_convert_dbm_to_level_24(int rssi_dbm)
+{
+ wifi_manager_rssi_level_e rssi_level = WIFI_MANAGER_RSSI_LEVEL_0;
+
+ /* Wi-Fi Signal Strength Display (for 2.4G (dB))
+ *
+ * Excellent : ~ -63
+ * Good : -64 ~ -74
+ * Weak : -75 ~ -82
+ * Very weak : -83 ~ -88
+ * No signal : -89 ~
+ */
+
+ if (rssi_dbm >= -63)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_4;
+ else if (rssi_dbm >= -74)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_3;
+ else if (rssi_dbm >= -82)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_2;
+ else if (rssi_dbm >= -88)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_1;
+ else
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_0;
+
+ return rssi_level;
+}
+
+static wifi_manager_rssi_level_e __ap_convert_dbm_to_level_50(int rssi_dbm)
+{
+ wifi_manager_rssi_level_e rssi_level = WIFI_MANAGER_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 = WIFI_MANAGER_RSSI_LEVEL_4;
+ else if (rssi_dbm >= -78)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_3;
+ else if (rssi_dbm >= -83)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_2;
+ else if (rssi_dbm >= -88)
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_1;
+ else
+ rssi_level = WIFI_MANAGER_RSSI_LEVEL_0;
+
+ return rssi_level;
+}
static bool _wifi_set_profile_name_to_ap(net_profile_info_s *ap_info)
{
net_profile_info_s *profile_info = ap;
rssi_dbm = (int)(profile_info->Strength - 120);
- /* Wi-Fi Signal Strength Display
- *
- * No signal : 0
- * Excellent : -63 ~
- * Good : -74 ~ -64
- * Weak : -82 ~ -75
- * Very weak : -83 ~
- */
-
- if (rssi_dbm == 0)
- *rssi_level = WIFI_MANAGER_RSSI_LEVEL_0;
- else if (rssi_dbm >= -63)
- *rssi_level = WIFI_MANAGER_RSSI_LEVEL_4;
- else if (rssi_dbm >= -74)
- *rssi_level = WIFI_MANAGER_RSSI_LEVEL_3;
- else if (rssi_dbm >= -82)
- *rssi_level = WIFI_MANAGER_RSSI_LEVEL_2;
+ if (profile_info->frequency > 4900)
+ *rssi_level = __ap_convert_dbm_to_level_50(rssi_dbm);
else
- *rssi_level = WIFI_MANAGER_RSSI_LEVEL_1;
+ *rssi_level = __ap_convert_dbm_to_level_24(rssi_dbm);
__NETWORK_CAPI_FUNC_EXIT__;