summaryrefslogtreecommitdiff
authorbenmeyer <benmeyer>2002-12-11 20:26:40 (UTC)
committer benmeyer <benmeyer>2002-12-11 20:26:40 (UTC)
commitb433feb7b048d5155e085c12f88ac5531d045140 (patch) (side-by-side diff)
tree9acc6fa0b1722bdbf04fe4730562972b31896303
parent3b2ec1e3ba172771365ff7822f623c3c6cb4d378 (diff)
downloadopie-b433feb7b048d5155e085c12f88ac5531d045140.zip
opie-b433feb7b048d5155e085c12f88ac5531d045140.tar.gz
opie-b433feb7b048d5155e085c12f88ac5531d045140.tar.bz2
Added PDF url
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/networksetup/wlan/wextensions.cpp3
-rw-r--r--noncore/settings/networksettings/wlan/wextensions.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/noncore/net/networksetup/wlan/wextensions.cpp b/noncore/net/networksetup/wlan/wextensions.cpp
index 16654bb..827d075 100644
--- a/noncore/net/networksetup/wlan/wextensions.cpp
+++ b/noncore/net/networksetup/wlan/wextensions.cpp
@@ -91,24 +91,27 @@ double WExtensions::frequency(){
return 0;
}
/**
* Get the channel that the interface is running at.
* @return int the channel that the interfacae is running at.
*/
int WExtensions::channel(){
if(!hasWirelessExtensions)
return 0;
if ( 0 != ioctl( fd, SIOCGIWFREQ, &iwr ))
return 0;
+
+ // http://www.elanix.com/pdf/an137e.pdf
+
double num = (double( iwr.u.freq.m ) * pow( 10, iwr.u.freq.e ) / 1000000000);
double left = 2.401;
double right = 2.416;
for(int channel = 1; channel<= 15; channel++){
if( num >= left && num <= right )
return channel;
left += 0.005;
right += 0.005;
}
qDebug(QString("Unknown frequency: %1, returning -1 for the channel.").arg(num).latin1());
return -1;
}
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp
index 16654bb..827d075 100644
--- a/noncore/settings/networksettings/wlan/wextensions.cpp
+++ b/noncore/settings/networksettings/wlan/wextensions.cpp
@@ -91,24 +91,27 @@ double WExtensions::frequency(){
return 0;
}
/**
* Get the channel that the interface is running at.
* @return int the channel that the interfacae is running at.
*/
int WExtensions::channel(){
if(!hasWirelessExtensions)
return 0;
if ( 0 != ioctl( fd, SIOCGIWFREQ, &iwr ))
return 0;
+
+ // http://www.elanix.com/pdf/an137e.pdf
+
double num = (double( iwr.u.freq.m ) * pow( 10, iwr.u.freq.e ) / 1000000000);
double left = 2.401;
double right = 2.416;
for(int channel = 1; channel<= 15; channel++){
if( num >= left && num <= right )
return channel;
left += 0.005;
right += 0.005;
}
qDebug(QString("Unknown frequency: %1, returning -1 for the channel.").arg(num).latin1());
return -1;
}