[Positioning] PosUtil: use channels from owlps.h

Use channel frequencies declared in owlps.h.
Handle frequencies in MHz as well as channel numbers and frequencies in
Hz.
This commit is contained in:
Matteo Cypriani 2011-05-09 14:20:57 +02:00
parent 8c58ae804f
commit d71bbcf2b8
1 changed files with 45 additions and 44 deletions

View File

@ -1,28 +1,15 @@
#include "posutil.hh"
#include "posexcept.hh"
#include <owlps.h>
/* 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
/* *** Wi-Fi *** */
/**
* @param channel A IEEE 802.11 channel or frequency in Hz.
* @param channel A IEEE 802.11 channel or frequency in MHz or in Hz.
* @return The frequency in Hz.
* @throw malformed_input_data if \em channel is not a valid channel or
* frequency value.
@ -32,47 +19,61 @@ unsigned long PosUtil::wifi_channel_to_hz(const unsigned long &channel)
switch (channel)
{
case 1:
case CHANNEL_1:
return CHANNEL_1 ;
case OWL_80211_MHZ_CHANNEL_1:
case OWL_80211_HZ_CHANNEL_1:
return OWL_80211_HZ_CHANNEL_1 ;
case 2:
case CHANNEL_2:
return CHANNEL_2 ;
case OWL_80211_MHZ_CHANNEL_2:
case OWL_80211_HZ_CHANNEL_2:
return OWL_80211_HZ_CHANNEL_2 ;
case 3:
case CHANNEL_3:
return CHANNEL_3 ;
case OWL_80211_MHZ_CHANNEL_3:
case OWL_80211_HZ_CHANNEL_3:
return OWL_80211_HZ_CHANNEL_3 ;
case 4:
case CHANNEL_4:
return CHANNEL_4 ;
case OWL_80211_MHZ_CHANNEL_4:
case OWL_80211_HZ_CHANNEL_4:
return OWL_80211_HZ_CHANNEL_4 ;
case 5:
case CHANNEL_5:
return CHANNEL_5 ;
case OWL_80211_MHZ_CHANNEL_5:
case OWL_80211_HZ_CHANNEL_5:
return OWL_80211_HZ_CHANNEL_5 ;
case 6:
case CHANNEL_6:
return CHANNEL_6 ;
case OWL_80211_MHZ_CHANNEL_6:
case OWL_80211_HZ_CHANNEL_6:
return OWL_80211_HZ_CHANNEL_6 ;
case 7:
case CHANNEL_7:
return CHANNEL_7 ;
case OWL_80211_MHZ_CHANNEL_7:
case OWL_80211_HZ_CHANNEL_7:
return OWL_80211_HZ_CHANNEL_7 ;
case 8:
case CHANNEL_8:
return CHANNEL_8 ;
case OWL_80211_MHZ_CHANNEL_8:
case OWL_80211_HZ_CHANNEL_8:
return OWL_80211_HZ_CHANNEL_8 ;
case 9:
case CHANNEL_9:
return CHANNEL_9 ;
case OWL_80211_MHZ_CHANNEL_9:
case OWL_80211_HZ_CHANNEL_9:
return OWL_80211_HZ_CHANNEL_9 ;
case 10:
case CHANNEL_10:
return CHANNEL_10 ;
case OWL_80211_MHZ_CHANNEL_10:
case OWL_80211_HZ_CHANNEL_10:
return OWL_80211_HZ_CHANNEL_10 ;
case 11:
case CHANNEL_11:
return CHANNEL_11 ;
case OWL_80211_MHZ_CHANNEL_11:
case OWL_80211_HZ_CHANNEL_11:
return OWL_80211_HZ_CHANNEL_11 ;
case 12:
case CHANNEL_12:
return CHANNEL_12 ;
case OWL_80211_MHZ_CHANNEL_12:
case OWL_80211_HZ_CHANNEL_12:
return OWL_80211_HZ_CHANNEL_12 ;
case 13:
case CHANNEL_13:
return CHANNEL_13 ;
case OWL_80211_MHZ_CHANNEL_13:
case OWL_80211_HZ_CHANNEL_13:
return OWL_80211_HZ_CHANNEL_13 ;
case 14:
case CHANNEL_14:
return CHANNEL_14 ;
case OWL_80211_MHZ_CHANNEL_14:
case OWL_80211_HZ_CHANNEL_14:
return OWL_80211_HZ_CHANNEL_14 ;
}
// Error: wrong channel value