Home | History | Annotate | Download | only in Test
      1 /*
      2  * measurementDbg.c
      3  *
      4  * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
      5  * All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  *
     11  *  * Redistributions of source code must retain the above copyright
     12  *    notice, this list of conditions and the following disclaimer.
     13  *  * Redistributions in binary form must reproduce the above copyright
     14  *    notice, this list of conditions and the following disclaimer in
     15  *    the documentation and/or other materials provided with the
     16  *    distribution.
     17  *  * Neither the name Texas Instruments nor the names of its
     18  *    contributors may be used to endorse or promote products derived
     19  *    from this software without specific prior written permission.
     20  *
     21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     24  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     25  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     26  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     27  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     31  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32  */
     33 
     34 /** \file measurementDbg.c
     35  *  \brief measurement module Debug interface
     36  *
     37  *  \see measurementDbg.h
     38  */
     39 
     40 /***************************************************************************/
     41 /*																	       */
     42 /*	  MODULE:	measurementDbg.c										   */
     43 /*    PURPOSE:	measurement module Debug interface						   */
     44 /*																		   */
     45 /***************************************************************************/
     46 #include "tidef.h"
     47 #include "osApi.h"
     48 #include "report.h"
     49 #include "paramOut.h"
     50 #include "measurementDbg.h"
     51 #include "siteMgrApi.h"
     52 #include "measurementMgr.h"
     53 #include "MeasurementSrv.h"
     54 #include "MacServices_api.h"
     55 #include "MacServices.h"
     56 #include "sme.h"
     57 #ifdef XCC_MODULE_INCLUDED
     58 #include "XCCRMMngr.h"
     59 #endif
     60 #include "SwitchChannelApi.h"
     61 #include "TWDriver.h"
     62 
     63 
     64 void printMeasurementDbgFunctions(void);
     65 
     66 void regDomainPrintValidTables(TI_HANDLE hRegulatoryDomain);
     67 
     68 TI_UINT32			channelNum;
     69 TI_BOOL            flag;
     70 
     71 /*************************************************************************
     72  *					measurementDebugFunction							 *
     73  *************************************************************************
     74 DESCRIPTION:
     75 
     76 INPUT:
     77 
     78 OUTPUT:
     79 
     80 RETURN:
     81 
     82 ************************************************************************/
     83 void measurementDebugFunction(TI_HANDLE hMeasurementMgr, TI_HANDLE hSwitchChannel, TI_HANDLE hRegulatoryDomain, TI_UINT32 funcType, void *pParam)
     84 {
     85     paramInfo_t		param;
     86 #ifdef XCC_MODULE_INCLUDED
     87     TTwdParamInfo   tTwdParam;
     88 #endif
     89     TI_STATUS	    status = TI_OK;
     90     TI_UINT8           rangeUpperBound;
     91     TI_UINT8           rangeIndex;
     92     TI_UINT16          trafficThreshold;
     93     TNoiseHistogram pNoiseHistParams;
     94     measurementMgr_t * pMeasurementMgr = (measurementMgr_t *) hMeasurementMgr;
     95     TI_UINT8			SwitchChannelParam = *(TI_UINT8*)pParam;
     96 #ifdef REPORT_LOG
     97     siteMgr_t		*pSiteMgr = (siteMgr_t *) pMeasurementMgr->hSiteMgr;
     98 #endif
     99 #ifdef XCC_MODULE_INCLUDED
    100     TI_UINT8           iappPacket[90] = {0xAA, 0xAA, 0x03, 0x00, 0x40, 0x96, 0x00, 0x00,
    101                                       0x00, 0x20, 0x32, 0x01,
    102                                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    103                                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    104                                       0x20, 0x00, 0x01, 0x02,
    105                                       0x26, 0x00, 0x08, 0x00, 0xA1, 0x00, 0x00, 0x01,
    106                                       0x0B, 0x00, 0x26, 0x26};
    107 
    108     TI_UINT8           iappPacket1[76] = {0xAA, 0xAA, 0x03, 0x00, 0x40, 0x96, 0x00, 0x00,
    109                                        0x00, 0x20, 0x32, 0x01,
    110                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    111                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    112                                        0x30, 0x00, 0x01, 0x02,
    113                                        0x26, 0x00, 0x08, 0x00, 0xF1, 0x00, 0x00, 0x01,
    114                                        0x06, 0x00, 0x64, 0x00};
    115 
    116     TI_UINT8           iappPacket2[76] = {0xAA, 0xAA, 0x03, 0x00, 0x40, 0x96, 0x00, 0x00,
    117                                        0x00, 0x20, 0x32, 0x01,
    118                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    119                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    120                                        0x13, 0x00, 0x01, 0x02,
    121                                        0x26, 0x00, 0x08, 0x00, 0xA3, 0x00, 0x00, 0x03,
    122                                        0x0B, 0x02, 0xD1, 0x03};
    123 
    124     TI_UINT8           iappPacket3[76] = {0xAA, 0xAA, 0x03, 0x00, 0x40, 0x96, 0x00, 0x00,
    125                                        0x00, 0x38, 0x32, 0x01,
    126                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    127                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    128                                        0x20, 0x00, 0x01, 0x02,
    129                                        0x26, 0x00, 0x08, 0x00, 0xA1, 0x00, 0x00, 0x03,
    130                                        0x03,
    131 									   0X00, 0XFF, 0X00, 0X26, 0X00, 0X08,
    132 									   0X00, 0XC1, 0X00, 0X00, 0X02, 0X03,
    133 									   0X00, 0XFF, 0X00, 0X26, 0X00, 0X08,
    134 									   0X00, 0XB1, 0X00, 0X00, 0X01, 0X03,
    135 				                       0X00, 0XFF, 0X00};
    136 
    137     TI_UINT8           iappPacket4[76] = {0xAA, 0xAA, 0x03, 0x00, 0x40, 0x96, 0x00, 0x00,
    138                                        0x00, 0x38, 0x32, 0x01,
    139                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    140                                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    141                                        0x20, 0x00, 0x01, 0x02,
    142                                        0x26, 0x00, 0x08, 0x00, 0xA1, 0x00, 0x00, 0x03,
    143                                        0x06,
    144 									   0X00, 0X32, 0X00, 0X26, 0X00, 0X08,
    145 									   0X00, 0XC1, 0X00, 0X00, 0X02, 0X01,
    146 									   0X00, 0XFF, 0X00, 0X26, 0X00, 0X08,
    147 									   0X00, 0XB1, 0X00, 0X01, 0X01, 0X01,
    148 				                       0X00, 0X96, 0X00};
    149 #endif
    150 
    151 	switch (funcType)
    152 	{
    153 	case DBG_MEASUREMENT_PRINT_HELP:
    154 		printMeasurementDbgFunctions();
    155 		break;
    156 	case DBG_MEASUREMENT_PRINT_STATUS:
    157 		param.paramType = MEASUREMENT_GET_STATUS_PARAM;
    158 		measurementMgr_getParam(hMeasurementMgr, &param);
    159 		break;
    160 
    161 #if 0
    162 
    163 	case DBG_MEASUREMENT_CHANNEL_LOAD_START:
    164 
    165         /* Clearing the Medium Occupancy Register */
    166         tTwdParam.paramType = HAL_CTRL_MEDIUM_OCCUPANCY_PARAM;
    167         tTwdParam.content.interogateCmdCBParams.CB_Func = measurement_mediumUsageCB;
    168         tTwdParam.content.interogateCmdCBParams.CB_handle = hMeasurementMgr;
    169         tTwdParam.content.interogateCmdCBParams.CB_buf = (TI_UINT8*)(&(pMeasurementMgr->mediumOccupancyStart));
    170 
    171         if ((status = TWD_GetParam (pMeasurementMgr->hTWD, &tTwdParam)) == TI_OK)
    172         {
    173             WLAN_OS_REPORT(("%s: MEASUREMENT - Channel Load Started!\n", __FUNCTION__));
    174 		}
    175 
    176 		break;
    177 
    178     case DBG_MEASUREMENT_CHANNEL_LOAD_STOP:
    179 
    180         /* Getting the Medium Occupancy Register */
    181         tTwdParam.paramType = HAL_CTRL_MEDIUM_OCCUPANCY_PARAM;
    182         tTwdParam.content.interogateCmdCBParams.CB_Func = measurement_channelLoadCallBackDbg;
    183         tTwdParam.content.interogateCmdCBParams.CB_handle = hMeasurementMgr;
    184         tTwdParam.content.interogateCmdCBParams.CB_buf = (TI_UINT8*)(&(pMeasurementMgr->mediumOccupancyEnd));
    185 
    186         if ((status = TWD_GetParam (pMeasurementMgr->hTWD, &tTwdParam)) == TI_OK)
    187         {
    188             WLAN_OS_REPORT(("%s: MEASUREMENT - Channel Load Stoped!", __FUNCTION__));
    189         }
    190 
    191 		break;
    192 
    193 #endif /* 0 */
    194 
    195     case DBG_MEASUREMENT_SEND_FRAME_REQUEST:
    196 
    197 	    WLAN_OS_REPORT(("-----------------------------------------------------\n"));
    198         WLAN_OS_REPORT(("   Measurement Debug Function: Sending Frame Request \n"));
    199 	    WLAN_OS_REPORT(("-----------------------------------------------------\n"));
    200 
    201         WLAN_OS_REPORT(("beaconInterval = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->beaconInterval));
    202 		WLAN_OS_REPORT(("dtimPeriod = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->dtimPeriod));
    203 
    204 #ifdef XCC_MODULE_INCLUDED
    205         measurementMgr_XCCParse(hMeasurementMgr, iappPacket);
    206 #endif
    207 
    208 	    WLAN_OS_REPORT(("-----------------------------------------------------\n"));
    209         WLAN_OS_REPORT(("   Measurement Debug Function: END                   \n"));
    210 	    WLAN_OS_REPORT(("-----------------------------------------------------\n"));
    211 
    212         break;
    213 
    214     case DBG_MEASUREMENT_START_NOISE_HIST:
    215         /* Set Noise Histogram Cmd Params */
    216         pNoiseHistParams.cmd = START_NOISE_HIST;
    217         pNoiseHistParams.sampleInterval = 100;
    218         os_memoryZero(pMeasurementMgr->hOs, &(pNoiseHistParams.ranges[0]), MEASUREMENT_NOISE_HISTOGRAM_NUM_OF_RANGES);
    219 
    220         /* Set Ranges */
    221         rangeUpperBound = (TI_UINT8)-87; /* TWD_convertRSSIToRxLevel(pMeasurementMgr->hTWD, -87);*/
    222         for(rangeIndex = 0; rangeIndex < MEASUREMENT_NOISE_HISTOGRAM_NUM_OF_RANGES - 1; rangeIndex++)
    223         {
    224             pNoiseHistParams.ranges[rangeIndex] = rangeUpperBound;
    225             rangeUpperBound += 5;
    226         }
    227         pNoiseHistParams.ranges[rangeIndex] = 0xFE;
    228 
    229         /* Send a Start command to the FW */
    230         status = TWD_CmdNoiseHistogram (pMeasurementMgr->hTWD, &pNoiseHistParams);
    231 
    232         WLAN_OS_REPORT(("Measurement Debug Functions - Start Noise Hist Succeded"));
    233 
    234         if (status != TI_OK)
    235             WLAN_OS_REPORT(("Measurement Debug Functions - Start Noise Hist FAILED"));
    236 
    237         break;
    238 
    239     case DBG_MEASUREMENT_STOP_NOISE_HIST:
    240         /* Set Noise Histogram Cmd Params */
    241         pNoiseHistParams.cmd = STOP_NOISE_HIST;
    242         pNoiseHistParams.sampleInterval = 0;
    243         os_memoryZero(pMeasurementMgr->hOs, &(pNoiseHistParams.ranges[0]), MEASUREMENT_NOISE_HISTOGRAM_NUM_OF_RANGES);
    244 
    245         /* Send a Stop command to the FW */
    246         status = TWD_CmdNoiseHistogram (pMeasurementMgr->hTWD, &pNoiseHistParams);
    247 
    248         WLAN_OS_REPORT(("Measurement Debug Functions - Stop Noise Hist Succeded"));
    249 
    250         if (status != TI_OK)
    251             WLAN_OS_REPORT(("Measurement Debug Functions - Stop Noise Hist FAILED"));
    252 
    253         break;
    254 
    255     case DBG_MEASUREMENT_GET_NOISE_HIST_RESULTS:
    256 		{
    257 	#ifdef XCC_MODULE_INCLUDED
    258 			TNoiseHistogramResults results;
    259 
    260 			/* Get measurement results */
    261 			tTwdParam.paramType = TWD_NOISE_HISTOGRAM_PARAM_ID;
    262 			tTwdParam.content.interogateCmdCBParams.fCb = (void *)measurement_noiseHistCallBackDbg;
    263 			tTwdParam.content.interogateCmdCBParams.hCb =
    264                 ((MacServices_t *)(((TTwd *)pMeasurementMgr->hTWD)->hMacServices))->hMeasurementSRV;
    265 			tTwdParam.content.interogateCmdCBParams.pCb = (TI_UINT8 *)&results;
    266 
    267 			TWD_GetParam (pMeasurementMgr->hTWD, &tTwdParam);
    268 	#endif
    269 
    270 			break;
    271 		}
    272 
    273     case DBG_MEASUREMENT_SEND_CHANNEL_LOAD_FRAME:
    274 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    275         WLAN_OS_REPORT(("   Measurement Debug Function: Sending another Frame Request   \n"));
    276 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    277 
    278         WLAN_OS_REPORT(("beaconInterval = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->beaconInterval));
    279 		WLAN_OS_REPORT(("dtimPeriod = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->dtimPeriod));
    280 
    281 #ifdef XCC_MODULE_INCLUDED
    282         measurementMgr_XCCParse(hMeasurementMgr, iappPacket1);
    283 #endif
    284 
    285 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    286         WLAN_OS_REPORT(("   Measurement Debug Function: END                             \n"));
    287 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    288 
    289         break;
    290 
    291 
    292 
    293 
    294 
    295     case DBG_MEASUREMENT_SEND_BEACON_TABLE_FRAME:
    296 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    297         WLAN_OS_REPORT(("   Measurement Debug Function: Sending Beacon Table Request    \n"));
    298 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    299 
    300         WLAN_OS_REPORT(("beaconInterval = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->beaconInterval));
    301 		WLAN_OS_REPORT(("dtimPeriod = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->dtimPeriod));
    302 
    303 #ifdef XCC_MODULE_INCLUDED
    304         measurementMgr_XCCParse(hMeasurementMgr, iappPacket2);
    305 #endif
    306 
    307 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    308         WLAN_OS_REPORT(("   Measurement Debug Function: END                             \n"));
    309 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    310 
    311         break;
    312 
    313 
    314 
    315 
    316     case DBG_MEASUREMENT_SEND_NOISE_HIST_1_FRAME:
    317 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    318         WLAN_OS_REPORT(("   Measurement Debug Function: Sending Unknown Request #1      \n"));
    319 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    320 
    321         WLAN_OS_REPORT(("beaconInterval = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->beaconInterval));
    322 		WLAN_OS_REPORT(("dtimPeriod = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->dtimPeriod));
    323 
    324 #ifdef XCC_MODULE_INCLUDED
    325         measurementMgr_XCCParse(hMeasurementMgr, iappPacket3);
    326 #endif
    327 
    328 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    329         WLAN_OS_REPORT(("   Measurement Debug Function: END                             \n"));
    330 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    331 
    332         break;
    333 
    334 
    335 
    336 
    337 
    338     case DBG_MEASUREMENT_SEND_NOISE_HIST_2_FRAME:
    339 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    340         WLAN_OS_REPORT(("   Measurement Debug Function: Sending Unknown Request #1      \n"));
    341 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    342 
    343         WLAN_OS_REPORT(("beaconInterval = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->beaconInterval));
    344 		WLAN_OS_REPORT(("dtimPeriod = %d\n", pSiteMgr->pSitesMgmtParams->pPrimarySite->dtimPeriod));
    345 
    346 #ifdef XCC_MODULE_INCLUDED
    347         measurementMgr_XCCParse(hMeasurementMgr, iappPacket4);
    348 #endif
    349 
    350 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    351         WLAN_OS_REPORT(("   Measurement Debug Function: END                             \n"));
    352 	    WLAN_OS_REPORT(("---------------------------------------------------------------\n"));
    353 
    354         break;
    355 
    356 
    357 
    358 
    359 
    360     case DBG_MEASUREMENT_SET_TRAFFIC_THRSLD:
    361 
    362         trafficThreshold = *(TI_UINT16*)pParam;
    363         param.paramType = MEASUREMENT_TRAFFIC_THRESHOLD_PARAM;
    364         param.content.measurementTrafficThreshold = trafficThreshold;
    365         measurementMgr_setParam(hMeasurementMgr, &param);
    366         break;
    367 
    368 
    369 	case DBG_SC_PRINT_STATUS:
    370 		switchChannelDebug_printStatus(hSwitchChannel);
    371 		break;
    372 	case DBG_SC_SET_SWITCH_CHANNEL_NUM:
    373 		switchChannelDebug_setCmdParams(hSwitchChannel, SC_SWITCH_CHANNEL_NUM , SwitchChannelParam);
    374 		break;
    375 	case DBG_SC_SET_SWITCH_CHANNEL_TBTT:
    376 		switchChannelDebug_setCmdParams(hSwitchChannel, SC_SWITCH_CHANNEL_TBTT , SwitchChannelParam);
    377 		break;
    378 	case DBG_SC_SET_SWITCH_CHANNEL_MODE:
    379 		switchChannelDebug_setCmdParams(hSwitchChannel, SC_SWITCH_CHANNEL_MODE , SwitchChannelParam);
    380 		break;
    381 	case DBG_SC_SET_CHANNEL_AS_VALID:
    382 		switchChannelDebug_setChannelValidity(hSwitchChannel, SwitchChannelParam, TI_TRUE);
    383 		break;
    384 	case DBG_SC_SET_CHANNEL_AS_INVALID:
    385 		switchChannelDebug_setChannelValidity(hSwitchChannel, SwitchChannelParam, TI_FALSE);
    386 		break;
    387 	case DBG_SC_SWITCH_CHANNEL_CMD:
    388 		{
    389 			switchChannelDebug_SwitchChannelCmdTest(hSwitchChannel, SwitchChannelParam);
    390 		}
    391 		break;
    392 	case DBG_SC_CANCEL_SWITCH_CHANNEL_CMD:
    393 		if ((SwitchChannelParam!=TI_TRUE) && (SwitchChannelParam!=TI_FALSE))
    394 		{	/* default is TI_TRUE */
    395 			SwitchChannelParam = TI_TRUE;
    396 		}
    397 		switchChannelDebug_CancelSwitchChannelCmdTest(hSwitchChannel, SwitchChannelParam);
    398 		break;
    399 
    400 	case DBG_REG_DOMAIN_PRINT_VALID_CHANNELS:
    401 		regDomainPrintValidTables(hRegulatoryDomain);
    402 		break;
    403 
    404 
    405 	default:
    406 		WLAN_OS_REPORT(("Invalid function type in MEASUREMENT Function Command: %d\n", funcType));
    407 		break;
    408 	}
    409 }
    410 
    411 void measurement_channelLoadCallBackDbg(TI_HANDLE hMeasurementMgr, TI_STATUS status,
    412                                         TI_UINT8* CB_buf)
    413 {
    414 #ifdef REPORT_LOG
    415     TMediumOccupancy *pMediumOccupancy = (TMediumOccupancy*)(CB_buf+4);
    416 
    417     WLAN_OS_REPORT(("MediumUsage = %d\nPeriod = %d\n",
    418 					pMediumOccupancy->MediumUsage/1000, pMediumOccupancy->Period/1000));
    419 #endif
    420 }
    421 
    422 void measurement_noiseHistCallBackDbg(TI_HANDLE hMeasurementSRV, TI_STATUS status,
    423                                       TI_UINT8* CB_buf)
    424 {
    425     TI_UINT8		            index;
    426     TNoiseHistogramResults *pNoiseHistogramResults = (TNoiseHistogramResults*)CB_buf;
    427 
    428     if(status == TI_OK)
    429     {
    430 		report_PrintDump ((TI_UINT8 *)pNoiseHistogramResults, sizeof(TNoiseHistogramResults));
    431 
    432         WLAN_OS_REPORT(("Noise Histogram Measurement Results:\nNum of Lost Cycles = %u\nNum Of Tx Hw Gen Lost Cycles = %u\n Num Of Rx Lost Cycles = %u\n Num Of 'Exceed Last Threshold' Lost Cycles = %u\n",
    433                          pNoiseHistogramResults->numOfLostCycles,
    434                          pNoiseHistogramResults->numOfTxHwGenLostCycles,
    435                          pNoiseHistogramResults->numOfRxLostCycles,
    436                          pNoiseHistogramResults->numOfLostCycles - (pNoiseHistogramResults->numOfRxLostCycles)));
    437 
    438         for(index = 0;index < NUM_OF_NOISE_HISTOGRAM_COUNTERS; index++)
    439             WLAN_OS_REPORT(("Counter # %u = %u\n", index,
    440             pNoiseHistogramResults->counters[index]));
    441     }
    442     else
    443     {
    444         WLAN_OS_REPORT(("Measurement Debug Functions - Interogate Noise Hist FAILED"));
    445     }
    446 }
    447 
    448 void printMeasurementDbgFunctions(void)
    449 {
    450 	WLAN_OS_REPORT(("   Measurement Debug Functions   \n"));
    451 	WLAN_OS_REPORT(("-----------------------------\n"));
    452 
    453 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_PRINT_HELP\n", DBG_MEASUREMENT_PRINT_HELP));
    454 
    455 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_PRINT_STATUS\n", DBG_MEASUREMENT_PRINT_STATUS));
    456 
    457 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_CHANNEL_LOAD_START\n", DBG_MEASUREMENT_CHANNEL_LOAD_START));
    458 
    459 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_CHANNEL_LOAD_STOP\n", DBG_MEASUREMENT_CHANNEL_LOAD_STOP));
    460 
    461 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SEND_FRAME_REQUEST\n", DBG_MEASUREMENT_SEND_FRAME_REQUEST));
    462 
    463 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_START_NOISE_HIST\n", DBG_MEASUREMENT_START_NOISE_HIST));
    464 
    465 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_STOP_NOISE_HIST\n", DBG_MEASUREMENT_STOP_NOISE_HIST));
    466 
    467 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_GET_NOISE_HIST_RESULTS\n", DBG_MEASUREMENT_GET_NOISE_HIST_RESULTS));
    468 
    469 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SEND_CHANNEL_LOAD_FRAME\n", DBG_MEASUREMENT_SEND_CHANNEL_LOAD_FRAME));
    470 
    471 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SEND_BEACON_TABLE_FRAME\n", DBG_MEASUREMENT_SEND_BEACON_TABLE_FRAME));
    472 
    473 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SEND_NOISE_HIST_1_FRAME\n", DBG_MEASUREMENT_SEND_NOISE_HIST_1_FRAME));
    474 
    475 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SEND_NOISE_HIST_2_FRAME\n", DBG_MEASUREMENT_SEND_NOISE_HIST_2_FRAME));
    476 
    477 	WLAN_OS_REPORT(("%d - DBG_MEASUREMENT_SET_TRAFFIC_THRSLD\n", DBG_MEASUREMENT_SET_TRAFFIC_THRSLD));
    478 
    479 	WLAN_OS_REPORT(("%d - DBG_SC_PRINT_STATUS\n", DBG_SC_PRINT_STATUS));
    480 
    481 	WLAN_OS_REPORT(("%d - DBG_SC_SET_SWITCH_CHANNEL_NUM\n", DBG_SC_SET_SWITCH_CHANNEL_NUM));
    482 
    483 	WLAN_OS_REPORT(("%d - DBG_SC_SET_SWITCH_CHANNEL_TBTT\n", DBG_SC_SET_SWITCH_CHANNEL_TBTT));
    484 
    485 	WLAN_OS_REPORT(("%d - DBG_SC_SET_SWITCH_CHANNEL_MODE\n", DBG_SC_SET_SWITCH_CHANNEL_MODE));
    486 
    487 	WLAN_OS_REPORT(("%d - DBG_SC_SET_CHANNEL_AS_VALID\n", DBG_SC_SET_CHANNEL_AS_VALID));
    488 
    489 	WLAN_OS_REPORT(("%d - DBG_SC_SET_CHANNEL_AS_INVALID\n", DBG_SC_SET_CHANNEL_AS_INVALID));
    490 
    491 	WLAN_OS_REPORT(("%d - DBG_SC_SWITCH_CHANNEL_CMD\n", DBG_SC_SWITCH_CHANNEL_CMD));
    492 
    493 	WLAN_OS_REPORT(("%d - DBG_SC_CANCEL_SWITCH_CHANNEL_CMD\n", DBG_SC_CANCEL_SWITCH_CHANNEL_CMD));
    494 
    495 	WLAN_OS_REPORT(("%d - DBG_REG_DOMAIN_PRINT_VALID_CHANNELS\n", DBG_REG_DOMAIN_PRINT_VALID_CHANNELS));
    496 
    497 
    498 }
    499 
    500