#include "posutil.hh" #include "posexcept.hh" /* Wi-Fi channel frequencies in Hz */ #define CHANNEL_1 2412000000ul #define CHANNEL_2 2417000000ul #define CHANNEL_3 2422000000ul #define CHANNEL_4 2427000000ul #define CHANNEL_5 2432000000ul #define CHANNEL_6 2437000000ul #define CHANNEL_7 2442000000ul #define CHANNEL_8 2447000000ul #define CHANNEL_9 2452000000ul #define CHANNEL_10 2457000000ul #define CHANNEL_11 2462000000ul #define CHANNEL_12 2467000000ul #define CHANNEL_13 2472000000ul #define CHANNEL_14 2477000000ul /** * @param channel A IEEE 802.11 channel or frequency in Hz. * @return The frequency in Hz. * @throw malformed_input_data if \em channel is not a valid channel or * frequency value. */ unsigned long PosUtil::wifi_channel_to_hz(const unsigned long &channel) { switch (channel) { case 1: case CHANNEL_1: return CHANNEL_1 ; case 2: case CHANNEL_2: return CHANNEL_2 ; case 3: case CHANNEL_3: return CHANNEL_3 ; case 4: case CHANNEL_4: return CHANNEL_4 ; case 5: case CHANNEL_5: return CHANNEL_5 ; case 6: case CHANNEL_6: return CHANNEL_6 ; case 7: case CHANNEL_7: return CHANNEL_7 ; case 8: case CHANNEL_8: return CHANNEL_8 ; case 9: case CHANNEL_9: return CHANNEL_9 ; case 10: case CHANNEL_10: return CHANNEL_10 ; case 11: case CHANNEL_11: return CHANNEL_11 ; case 12: case CHANNEL_12: return CHANNEL_12 ; case 13: case CHANNEL_13: return CHANNEL_13 ; case 14: case CHANNEL_14: return CHANNEL_14 ; } // Error: wrong channel value throw bad_channel(channel) ; }