diff options
author | Ahmed ElArabawy <arabawy@google.com> | 2020-05-10 14:42:46 -0700 |
---|---|---|
committer | Ahmed ElArabawy <arabawy@google.com> | 2020-05-11 09:44:53 -0700 |
commit | f7ccda05642b55700d67a288462bada488fc7f5e (patch) | |
tree | f712f93031e575ca4d155702e38863e2a72acc92 /wifi/tests | |
parent | d8b6b0fb9284474cbc18e81882e12d7a9a7a7ad0 (diff) |
Wifi: Add definitions for bands frequency boundries
Channel frequency ranges for the three bands (2.4G, 5G, and 6G) are used
in different places with separate definitions or via literal numbers.
Also, the values are not accurate and sometimes not consistent.
This commit defines those ranges in a single place for use of other
classes. It also adds some utility methods that use those definitions.
Bug: 153896822
Test: atest android.net.wifi
Change-Id: Ifd19e245fd808c06d48d7557e30be3e92a9e7ec5
Diffstat (limited to 'wifi/tests')
-rw-r--r-- | wifi/tests/src/android/net/wifi/ScanResultTest.java | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/wifi/tests/src/android/net/wifi/ScanResultTest.java b/wifi/tests/src/android/net/wifi/ScanResultTest.java index 6cb832463bc0..5516f433070f 100644 --- a/wifi/tests/src/android/net/wifi/ScanResultTest.java +++ b/wifi/tests/src/android/net/wifi/ScanResultTest.java @@ -46,6 +46,68 @@ public class ScanResultTest { ScanResult.WIFI_STANDARD_11AC; /** + * Frequency to channel map. This include some frequencies used outside the US. + * Representing it using a vector (instead of map) for simplification. + */ + private static final int[] FREQUENCY_TO_CHANNEL_MAP = { + 2412, WifiScanner.WIFI_BAND_24_GHZ, 1, + 2417, WifiScanner.WIFI_BAND_24_GHZ, 2, + 2422, WifiScanner.WIFI_BAND_24_GHZ, 3, + 2427, WifiScanner.WIFI_BAND_24_GHZ, 4, + 2432, WifiScanner.WIFI_BAND_24_GHZ, 5, + 2437, WifiScanner.WIFI_BAND_24_GHZ, 6, + 2442, WifiScanner.WIFI_BAND_24_GHZ, 7, + 2447, WifiScanner.WIFI_BAND_24_GHZ, 8, + 2452, WifiScanner.WIFI_BAND_24_GHZ, 9, + 2457, WifiScanner.WIFI_BAND_24_GHZ, 10, + 2462, WifiScanner.WIFI_BAND_24_GHZ, 11, + /* 12, 13 are only legitimate outside the US. */ + 2467, WifiScanner.WIFI_BAND_24_GHZ, 12, + 2472, WifiScanner.WIFI_BAND_24_GHZ, 13, + /* 14 is for Japan, DSSS and CCK only. */ + 2484, WifiScanner.WIFI_BAND_24_GHZ, 14, + /* 34 valid in Japan. */ + 5170, WifiScanner.WIFI_BAND_5_GHZ, 34, + 5180, WifiScanner.WIFI_BAND_5_GHZ, 36, + 5190, WifiScanner.WIFI_BAND_5_GHZ, 38, + 5200, WifiScanner.WIFI_BAND_5_GHZ, 40, + 5210, WifiScanner.WIFI_BAND_5_GHZ, 42, + 5220, WifiScanner.WIFI_BAND_5_GHZ, 44, + 5230, WifiScanner.WIFI_BAND_5_GHZ, 46, + 5240, WifiScanner.WIFI_BAND_5_GHZ, 48, + 5260, WifiScanner.WIFI_BAND_5_GHZ, 52, + 5280, WifiScanner.WIFI_BAND_5_GHZ, 56, + 5300, WifiScanner.WIFI_BAND_5_GHZ, 60, + 5320, WifiScanner.WIFI_BAND_5_GHZ, 64, + 5500, WifiScanner.WIFI_BAND_5_GHZ, 100, + 5520, WifiScanner.WIFI_BAND_5_GHZ, 104, + 5540, WifiScanner.WIFI_BAND_5_GHZ, 108, + 5560, WifiScanner.WIFI_BAND_5_GHZ, 112, + 5580, WifiScanner.WIFI_BAND_5_GHZ, 116, + /* 120, 124, 128 valid in Europe/Japan. */ + 5600, WifiScanner.WIFI_BAND_5_GHZ, 120, + 5620, WifiScanner.WIFI_BAND_5_GHZ, 124, + 5640, WifiScanner.WIFI_BAND_5_GHZ, 128, + /* 132+ valid in US. */ + 5660, WifiScanner.WIFI_BAND_5_GHZ, 132, + 5680, WifiScanner.WIFI_BAND_5_GHZ, 136, + 5700, WifiScanner.WIFI_BAND_5_GHZ, 140, + /* 144 is supported by a subset of WiFi chips. */ + 5720, WifiScanner.WIFI_BAND_5_GHZ, 144, + 5745, WifiScanner.WIFI_BAND_5_GHZ, 149, + 5765, WifiScanner.WIFI_BAND_5_GHZ, 153, + 5785, WifiScanner.WIFI_BAND_5_GHZ, 157, + 5805, WifiScanner.WIFI_BAND_5_GHZ, 161, + 5825, WifiScanner.WIFI_BAND_5_GHZ, 165, + 5845, WifiScanner.WIFI_BAND_5_GHZ, 169, + 5865, WifiScanner.WIFI_BAND_5_GHZ, 173, + /* Now some 6GHz channels */ + 5945, WifiScanner.WIFI_BAND_6_GHZ, 1, + 5960, WifiScanner.WIFI_BAND_6_GHZ, 4, + 6100, WifiScanner.WIFI_BAND_6_GHZ, 32 + }; + + /** * Setup before tests. */ @Before @@ -184,6 +246,25 @@ public class ScanResultTest { } /** + * verify frequency to channel conversion for all possible frequencies. + */ + @Test + public void convertFrequencyToChannel() throws Exception { + for (int i = 0; i < FREQUENCY_TO_CHANNEL_MAP.length; i += 3) { + assertEquals(FREQUENCY_TO_CHANNEL_MAP[i + 2], + ScanResult.convertFrequencyMhzToChannel(FREQUENCY_TO_CHANNEL_MAP[i])); + } + } + + /** + * Verify frequency to channel conversion failed for an invalid frequency. + */ + @Test + public void convertFrequencyToChannelWithInvalidFreq() throws Exception { + assertEquals(-1, ScanResult.convertFrequencyMhzToChannel(8000)); + } + + /** * Write the provided {@link ScanResult} to a parcel and deserialize it. */ private static ScanResult parcelReadWrite(ScanResult writeResult) throws Exception { |