ERA201D1Info.cc

Go to the documentation of this file.
00001 //
00002 // Copyright 2002,2003 Sony Corporation 
00003 //
00004 // Permission to use, copy, modify, and redistribute this software for
00005 // non-commercial use is hereby granted.
00006 //
00007 // This software is provided "as is" without warranty of any kind,
00008 // either expressed or implied, including but not limited to the
00009 // implied warranties of fitness for a particular purpose.
00010 //
00011 
00012 #include <OPENR/OSyslog.h>
00013 #include <ant.h>
00014 #include "ERA201D1Info.h"
00015 #include "entry.h"
00016 
00017 ERA201D1Info::ERA201D1Info()
00018 {
00019 }
00020 
00021 OStatus
00022 ERA201D1Info::DoInit(const OSystemEvent& event)
00023 {
00024     return oSUCCESS;
00025 }
00026 
00027 OStatus
00028 ERA201D1Info::DoStart(const OSystemEvent& event)
00029 {
00030     EtherStatus status;
00031 
00032     EtherDriverGetMACAddressMsg macAddrMsg;
00033     status = ERA201D1_GetMACAddress(&macAddrMsg);
00034     if (status == ETHER_OK) {
00035         PrintMACAddress(macAddrMsg);
00036     } else {
00037         OSYSLOG1((osyslogERROR, "ERA201D1_GetMACAddress() FAILED %d", status));
00038     }
00039 
00040     EtherDriverGetStatisticsMsg etherStatMsg;
00041     status = ERA201D1_GetEtherStatistics(&etherStatMsg);
00042     if (status == ETHER_OK) {
00043         PrintEtherStatistics(etherStatMsg);
00044     } else {
00045         OSYSLOG1((osyslogERROR,
00046                   "ERA201D1_GetEtherStatistics() FAILED %d", status));
00047     }
00048 
00049     EtherDriverGetWLANSettingsMsg wlanSettingsMsg;
00050     status = ERA201D1_GetWLANSettings(&wlanSettingsMsg);
00051     if (status == ETHER_OK) {
00052         PrintWLANSettings(wlanSettingsMsg);
00053     } else {
00054         OSYSLOG1((osyslogERROR,
00055                   "ERA201D1_GetWLANSettings() FAILED %d", status));
00056     }
00057 
00058     EtherDriverGetWLANStatisticsMsg wlanStatMsg;
00059     status = ERA201D1_GetWLANStatistics(&wlanStatMsg);
00060     if (status == ETHER_OK) {
00061         PrintWLANStatistics(wlanStatMsg);
00062     } else {
00063         OSYSLOG1((osyslogERROR,
00064                   "ERA201D1_GetWLANStatistics() FAILED %d", status));
00065     }
00066 
00067     antStackRef ipstackRef = antStackRef("IPStack");
00068     antEnvInitGetParamMsg getParamMsg("ETHER_IP");
00069     getParamMsg.Call(ipstackRef, sizeof(getParamMsg));
00070     if (getParamMsg.error == ANT_SUCCESS &&
00071         getParamMsg.paramType == antEnv_InitParam_String) {
00072         OSYSPRINT(("[ETHER_IP] %s\n", getParamMsg.value.str));
00073     } else {
00074         OSYSLOG1((osyslogERROR,
00075                   "getParamMsg.Call() FAILED %d", getParamMsg.error));
00076     }
00077 
00078     return oSUCCESS;
00079 }    
00080 
00081 OStatus
00082 ERA201D1Info::DoStop(const OSystemEvent& event)
00083 {
00084     return oSUCCESS;
00085 }
00086 
00087 OStatus
00088 ERA201D1Info::DoDestroy(const OSystemEvent& event)
00089 {
00090     return oSUCCESS;
00091 }
00092 
00093 void
00094 ERA201D1Info::PrintMACAddress(const EtherDriverGetMACAddressMsg& msg)
00095 {
00096     OSYSPRINT(("[MAC Address] "));
00097     OSYSPRINT(("%02x:%02x:%02x:%02x:%02x:%02x\n",
00098                msg.address.octet[0], msg.address.octet[1],
00099                msg.address.octet[2], msg.address.octet[3], 
00100                msg.address.octet[4], msg.address.octet[5]));
00101 }
00102 
00103 void
00104 ERA201D1Info::PrintEtherStatistics(const EtherDriverGetStatisticsMsg& msg)
00105 {
00106     OSYSPRINT(("[Ether Statistics]\n"));
00107     OSYSPRINT(("  carrierSenseErrorCount  : %d\n",
00108                msg.statistics.carrierSenseErrorCount));
00109     OSYSPRINT(("  lateCollisionCount      : %d\n",
00110                msg.statistics.lateCollisionCount));
00111     OSYSPRINT(("  excessiveCollisionCount : %d\n",
00112                msg.statistics.excessiveCollisionCount));
00113     OSYSPRINT(("  singleCollisionCount    : %d\n",
00114                msg.statistics.singleCollisionCount));
00115     OSYSPRINT(("  multipleCollisionCount  : %d\n",
00116                msg.statistics.multipleCollisionCount));
00117     OSYSPRINT(("  deferredCount           : %d\n",
00118                msg.statistics.deferredCount));
00119     OSYSPRINT(("  alignmentErrorCount     : %d\n",
00120                msg.statistics.alignmentErrorCount));
00121     OSYSPRINT(("  fcsErrorCount           : %d\n",
00122                msg.statistics.fcsErrorCount));
00123     OSYSPRINT(("  frameTooLongCount       : %d\n",
00124                msg.statistics.frameTooLongCount));
00125 }
00126 
00127 void
00128 ERA201D1Info::PrintWLANSettings(const EtherDriverGetWLANSettingsMsg& msg)
00129 {
00130     OSYSPRINT(("[WLAN Settings]\n"));
00131     OSYSPRINT(("  port          : %d\n", msg.port));
00132     OSYSPRINT(("  mode          : "));
00133 
00134     switch (msg.mode) {
00135     case ETHER_WLAN_MODE_AP:
00136         OSYSPRINT(("ETHER_WLAN_MODE_AP\n"));
00137         break;
00138     case ETHER_WLAN_MODE_ADHOC: 
00139         OSYSPRINT(("ETHER_WLAN_MODE_ADHOC\n"));
00140         break;
00141     default: 
00142         OSYSPRINT(("invalid value\n")); 
00143     }
00144 
00145     OSYSPRINT(("  essid         : %s\n", msg.essid));
00146     OSYSPRINT(("  channel       : %d\n", msg.channel));
00147     OSYSPRINT(("  encryption    : ", msg.encryption));
00148 
00149     switch (msg.encryption) {
00150     case ETHER_WLAN_ENC_OFF:
00151         OSYSPRINT(("ETHER_WLAN_ENC_OFF\n"));
00152         break;
00153     case ETHER_WLAN_ENC_WEP:
00154         OSYSPRINT(("ETHER_WLAN_ENC_WEP\n"));
00155         break;
00156     default:
00157         OSYSPRINT(("invalid value\n"));
00158     }
00159 
00160     OSYSPRINT(("  rate          : "));
00161 
00162     switch (msg.rate) {
00163     case ETHER_WLAN_RATE_1MB:
00164         OSYSPRINT(("ETHER_WLAN_RATE_1MB\n"));
00165         break;
00166     case ETHER_WLAN_RATE_2MB:
00167         OSYSPRINT(("ETHER_WLAN_RATE_2MB\n"));
00168         break;
00169     case ETHER_WLAN_RATE_5_5MB: 
00170         OSYSPRINT(("ETHER_WLAN_RATE_5_5MB\n"));
00171         break;
00172     case ETHER_WLAN_RATE_11MB:
00173         OSYSPRINT(("ETHER_WLAN_RATE_11MB\n"));
00174         break;
00175     default:
00176         OSYSPRINT(("invalid value\n"));
00177     }
00178 
00179     OSYSPRINT(("  rts           : %d\n", msg.rts));
00180     OSYSPRINT(("  fragmentation : %d\n", msg.fragmentation));
00181     OSYSPRINT(("  sensitivity   : "));
00182 
00183     switch (msg.sensitivity) {
00184     case ETHER_WLAN_DENSITY_LOW:
00185         OSYSPRINT(("ETHER_WLAN_DENSITY_LOW\n"));
00186         break;
00187     case ETHER_WLAN_DENSITY_MED: 
00188         OSYSPRINT(("ETHER_WLAN_DENSITY_MED\n"));
00189         break;
00190     case ETHER_WLAN_DENSITY_HIGH:
00191         OSYSPRINT(("ETHER_WLAN_DENSITY_HIGH\n"));
00192         break;
00193     default:
00194         OSYSPRINT(("invalid value\n"));
00195     }
00196 }
00197 
00198 void
00199 ERA201D1Info::PrintWLANStatistics(const EtherDriverGetWLANStatisticsMsg& msg)
00200 {
00201     OSYSPRINT(("[WLAN Statistics]\n"));
00202     OSYSPRINT(("  link             : %d\n", msg.statistics.link));
00203     OSYSPRINT(("  signal           : %d\n", msg.statistics.signal));
00204     OSYSPRINT(("  noise            : %d\n", msg.statistics.noise));
00205     OSYSPRINT(("  invalidIDCount   : %d\n", msg.statistics.invalidIDCount));
00206     OSYSPRINT(("  invalidEncCount  : %d\n", msg.statistics.invalidEncCount));
00207     OSYSPRINT(("  invalidMiscCount : %d\n", msg.statistics.invalidMiscCount));
00208 }

Generated on Sun Dec 2 23:04:28 2007 for openSDK by  doxygen 1.3.9.1