summaryrefslogtreecommitdiff
authorbenmeyer <benmeyer>2002-12-11 20:16:34 (UTC)
committer benmeyer <benmeyer>2002-12-11 20:16:34 (UTC)
commit3b2ec1e3ba172771365ff7822f623c3c6cb4d378 (patch) (side-by-side diff)
treed65ee26af6ee85b804ca3de5e738ba4fdb37d17c
parent3faddab31483bda0dd9d093cd473ffb801207b9c (diff)
downloadopie-3b2ec1e3ba172771365ff7822f623c3c6cb4d378.zip
opie-3b2ec1e3ba172771365ff7822f623c3c6cb4d378.tar.gz
opie-3b2ec1e3ba172771365ff7822f623c3c6cb4d378.tar.bz2
Now will display the channel and not the freqency
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/networksetup/wlan/info.ui6
-rw-r--r--noncore/net/networksetup/wlan/infoimp.cpp2
-rw-r--r--noncore/net/networksetup/wlan/wextensions.cpp23
-rw-r--r--noncore/net/networksetup/wlan/wextensions.h1
-rw-r--r--noncore/settings/networksettings/wlan/info.ui6
-rw-r--r--noncore/settings/networksettings/wlan/infoimp.cpp2
-rw-r--r--noncore/settings/networksettings/wlan/wextensions.cpp23
-rw-r--r--noncore/settings/networksettings/wlan/wextensions.h1
8 files changed, 56 insertions, 8 deletions
diff --git a/noncore/net/networksetup/wlan/info.ui b/noncore/net/networksetup/wlan/info.ui
index 1e3e8b5..7a5bf0b 100644
--- a/noncore/net/networksetup/wlan/info.ui
+++ b/noncore/net/networksetup/wlan/info.ui
@@ -12,5 +12,5 @@
<x>0</x>
<y>0</y>
- <width>242</width>
+ <width>238</width>
<height>316</height>
</rect>
@@ -62,5 +62,5 @@
<property stdset="1">
<name>text</name>
- <string>Frequency</string>
+ <string>Channel</string>
</property>
</widget>
@@ -173,5 +173,5 @@
<property stdset="1">
<name>name</name>
- <cstring>freqLabel</cstring>
+ <cstring>channelLabel</cstring>
</property>
<property stdset="1">
diff --git a/noncore/net/networksetup/wlan/infoimp.cpp b/noncore/net/networksetup/wlan/infoimp.cpp
index 6d3e167..bd56678 100644
--- a/noncore/net/networksetup/wlan/infoimp.cpp
+++ b/noncore/net/networksetup/wlan/infoimp.cpp
@@ -38,5 +38,5 @@ void WlanInfoImp::update(){
stationLabel->setText(wExtensions->station());
modeLabel->setText(wExtensions->mode());
- freqLabel->setText(QString("%1 GHz").arg(wExtensions->frequency()));
+ channelLabel->setText(QString("%1").arg(wExtensions->channel()));
int signal = 0;
int noise = 0;
diff --git a/noncore/net/networksetup/wlan/wextensions.cpp b/noncore/net/networksetup/wlan/wextensions.cpp
index 6335ebc..16654bb 100644
--- a/noncore/net/networksetup/wlan/wextensions.cpp
+++ b/noncore/net/networksetup/wlan/wextensions.cpp
@@ -92,6 +92,29 @@ double WExtensions::frequency(){
}
+/**
+ * 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;
+ 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;
+}
+
/***
* Get the current rate that the card is transmiting at.
+ * @return double the rate, 0 if error.
*/
double WExtensions::rate(){
diff --git a/noncore/net/networksetup/wlan/wextensions.h b/noncore/net/networksetup/wlan/wextensions.h
index 1565eb5..a89e33a 100644
--- a/noncore/net/networksetup/wlan/wextensions.h
+++ b/noncore/net/networksetup/wlan/wextensions.h
@@ -17,4 +17,5 @@ public:
QString mode();
double frequency();
+ int channel();
double rate();
QString ap();
diff --git a/noncore/settings/networksettings/wlan/info.ui b/noncore/settings/networksettings/wlan/info.ui
index 1e3e8b5..7a5bf0b 100644
--- a/noncore/settings/networksettings/wlan/info.ui
+++ b/noncore/settings/networksettings/wlan/info.ui
@@ -12,5 +12,5 @@
<x>0</x>
<y>0</y>
- <width>242</width>
+ <width>238</width>
<height>316</height>
</rect>
@@ -62,5 +62,5 @@
<property stdset="1">
<name>text</name>
- <string>Frequency</string>
+ <string>Channel</string>
</property>
</widget>
@@ -173,5 +173,5 @@
<property stdset="1">
<name>name</name>
- <cstring>freqLabel</cstring>
+ <cstring>channelLabel</cstring>
</property>
<property stdset="1">
diff --git a/noncore/settings/networksettings/wlan/infoimp.cpp b/noncore/settings/networksettings/wlan/infoimp.cpp
index 6d3e167..bd56678 100644
--- a/noncore/settings/networksettings/wlan/infoimp.cpp
+++ b/noncore/settings/networksettings/wlan/infoimp.cpp
@@ -38,5 +38,5 @@ void WlanInfoImp::update(){
stationLabel->setText(wExtensions->station());
modeLabel->setText(wExtensions->mode());
- freqLabel->setText(QString("%1 GHz").arg(wExtensions->frequency()));
+ channelLabel->setText(QString("%1").arg(wExtensions->channel()));
int signal = 0;
int noise = 0;
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp
index 6335ebc..16654bb 100644
--- a/noncore/settings/networksettings/wlan/wextensions.cpp
+++ b/noncore/settings/networksettings/wlan/wextensions.cpp
@@ -92,6 +92,29 @@ double WExtensions::frequency(){
}
+/**
+ * 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;
+ 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;
+}
+
/***
* Get the current rate that the card is transmiting at.
+ * @return double the rate, 0 if error.
*/
double WExtensions::rate(){
diff --git a/noncore/settings/networksettings/wlan/wextensions.h b/noncore/settings/networksettings/wlan/wextensions.h
index 1565eb5..a89e33a 100644
--- a/noncore/settings/networksettings/wlan/wextensions.h
+++ b/noncore/settings/networksettings/wlan/wextensions.h
@@ -17,4 +17,5 @@ public:
QString mode();
double frequency();
+ int channel();
double rate();
QString ap();