author | benmeyer <benmeyer> | 2002-10-22 20:41:01 (UTC) |
---|---|---|
committer | benmeyer <benmeyer> | 2002-10-22 20:41:01 (UTC) |
commit | 1e1b3e398d6b978a9c2bbd85d8f6b7aafbf72b2f (patch) (side-by-side diff) | |
tree | c1e6feec60794552bdca607f4dbe180e1988a924 /noncore/settings/networksettings/wlan/wextensions.cpp | |
parent | 44a60b35b903b68f2f60f5ba29b84db1563dd9f3 (diff) | |
download | opie-1e1b3e398d6b978a9c2bbd85d8f6b7aafbf72b2f.zip opie-1e1b3e398d6b978a9c2bbd85d8f6b7aafbf72b2f.tar.gz opie-1e1b3e398d6b978a9c2bbd85d8f6b7aafbf72b2f.tar.bz2 |
info now works
Diffstat (limited to 'noncore/settings/networksettings/wlan/wextensions.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/wlan/wextensions.cpp | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp index f45ebf2..ef4ba8f 100644 --- a/noncore/settings/networksettings/wlan/wextensions.cpp +++ b/noncore/settings/networksettings/wlan/wextensions.cpp @@ -12,4 +12,4 @@ #define PROCNETWIRELESS "/proc/net/wireless" -#define IW_LOWER 140 -#define IW_UPPER 200 +#define IW_LOWER 0 +#define IW_UPPER 256 @@ -91,4 +91,17 @@ double WExtensions::frequency(){ return (double( iwr.u.freq.m ) * pow( 10, iwr.u.freq.e ) / 1000000000); - return 0;; + return 0; +} + +/*** + * Get the current rate that the card is transmiting at. + */ +double WExtensions::rate(){ + if(!hasWirelessExtensions) + return 0; + if(0 == ioctl(fd, SIOCGIWRATE, &iwr)){ + return ((double)iwr.u.bitrate.value)/1000000; } + return 0; +} + @@ -112,5 +125,11 @@ QString WExtensions::ap(){ else return QString(); - } +/** + * Get the stats for interfaces + * @param signal the signal strength of interface + * @param noise the noise level of the interface + * @param quality the quality level of the interface + * @return bool true if successfull + */ bool WExtensions::stats(int &signal, int &noise, int &quality){ @@ -133,15 +152,13 @@ bool WExtensions::stats(int &signal, int &noise, int &quality){ wstream >> name >> status >> quality >> c >> signal >> c >> noise; - if(name == interface){ + if(name == QString("%1:").arg(interface)){ if ( quality > 92 ) - #ifdef MDEBUG qDebug( "WIFIAPPLET: D'oh! Quality %d > estimated max!\n", quality ); - #endif if ( ( signal > IW_UPPER ) || ( signal < IW_LOWER ) ) - #ifdef MDEBUG qDebug( "WIFIAPPLET: Doh! Strength %d > estimated max!\n", signal ); - #endif if ( ( noise > IW_UPPER ) || ( noise < IW_LOWER ) ) - #ifdef MDEBUG qDebug( "WIFIAPPLET: Doh! Noise %d > estimated max!\n", noise ); - #endif + qDebug(QString("q:%1, s:%2, n:%3").arg(quality).arg(signal).arg(noise).latin1()); + signal = ( ( signal-IW_LOWER ) * 100 ) / IW_UPPER; + noise = ( ( noise-IW_LOWER ) * 100 ) / IW_UPPER; + quality = ( quality*100 ) / 92; return true; @@ -150,3 +167,3 @@ bool WExtensions::stats(int &signal, int &noise, int &quality){ - qDebug("Card no longer present"); + qDebug("WExtensions::statsCard no longer present."); quality = -1; |