⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c.bacup

📁 Atheros AP Test with Agilent N4010A source code
💻 BACUP
📖 第 1 页 / 共 5 页
字号:
        }
    }

    art_setResetParams(devNum, configSetup.pCfgFile, (A_BOOL)configSetup.eepromLoad,
            (A_BOOL)configSetup.eepromHeaderLoad, (A_UCHAR)configSetup.mode, configSetup.use_init);        
    //this is needed incase we changed modes
    art_resetDevice(devNum, txStation, bssID, configSetup.channel, configSetup.turbo);

    //test card/installation
    if(!initTest(devNum)) {
        uiPrintf("::main: Error testing device - exiting\n");
        art_teardownDevice(devNum);
        closeEnvironment();
       exit(0);
    }

    if (configSetup.cmdLineTest) {
        //just perform the command line tests then get out
        setInitialPowerControlMode(devNum, configSetup.dataRateIndex);
        returnCode = performCmdLineTests(devNum);
        uiPrintf("closing device\n");
        art_teardownDevice(devNum); 
        uiPrintf("closing environment\n");
        closeEnvironment();
        uiPrintf("exiting\n");
        exit(returnCode);
    }

 #ifndef __ATH_DJGPPDOS__
    if(configSetup.enableLabelScheme) {
    show_eep_label(devNum, (A_BOOL)(configSetup.enableLabelScheme));
	}
#endif
    //Read register values read in from resetDevice
    updateConfigFromRegValues(devNum);
    //printf("SNOOP:::Sent bytes = %d::Received bytes=%d\n", sent_bytes, received_bytes);
    sent_bytes = 0;
    received_bytes = 0;
    if(configSetup.mode == MODE_11A) {
       configSetup.maxRxGain = RX_GAIN_MAX_AR6000;
       configSetup.minRxGain = RX_GAIN_MIN_AR6000;
    }
    else {
       configSetup.maxRxGain = RX_GAIN_MAX_AR6000_11g;
       configSetup.minRxGain = RX_GAIN_MIN_AR6000_11g;
    }


    	if (isDragon_sd(swDeviceID)) {
			printf("Ref clk speed = %d\n", art_getRefClkSpeed(devNum));
		}

//SNOOP
//    for (i = 0; i < 28; i++) {
//        if ((i % 4 == 0) && (    i != 0)) {
//            printf("\n");
//        }
//        printf("0x%08x ", art_cfgRead(devNum, i*4));
//    }

//    i = art_cfgRead(devNum, 0x44);
//    art_cfgWrite(devNum, 0x44, i | 0x200);
//    printf("0x44 = 0x%08x\n",art_cfgRead(devNum, 0x44));
//END SNOOP

    while(exitLoop == FALSE) {

        printf("\n");
        printf("============================================\n");
        printf("| Test Harness Main Options:               |\n");
#ifndef CUSTOMER_REL
        printf("|   n - Toggle i(N)it code use             |\n");
#endif
        if (supportMultiModes(&supportedModes))
        {
            printf("|   o - Toggle M(o)de                      |\n");
        }
#ifndef __ATH_DJGPPDOS__
        if(configSetup.eepromLoad) {
            printf("|   e - Ignore (E)EPROM Calibration        |\n");
        }
        else {
            printf("|   e - Load (E)EPROM Calibration          |\n");
        }
#endif    // __ATH_DJGPPDOS__
        printf("|   c - (C)ontinuous transmit mode         |\n");
        printf("|   r - Continuous RF (R)eceive mode       |\n");
        printf("|   l - (L)ink test menu                   |\n");
        printf("|   t - (T)hroughput test menu             |\n");
        printf("|   p - EE(P)ROM function                  |\n");
#ifndef __ATH_DJGPPDOS__
    	if (!isDragon_sd(swDeviceID)) {
        	printf("|   s - (S)witch test card                 |\n");
	    }
        printf("|   m - (M)anufacturing/Calibration Test   |\n");
#endif    // __ATH_DJGPPDOS__
        if(configSetup.logging) {
            printf("|   g - Disable lo(g)ging                  |\n");
            printf("|   w - (W)rite Comment to Log File        |\n");
        }
        else {
            printf("|   g - Enable lo(g)ging                   |\n");
        }
        printf("|   u - (U)tility Menu                     |\n");
        printf("|   i - (N)oise Immunity Menu              |\n");
    	if (isDragon_sd(swDeviceID)) {
			if (sleep_enable) {
           		printf("|   d - Wake UP|\n");
			}
			else {
           		printf("|   d - Enable deep sleep|\n");
			}
		}
//take out for now        printf("|   x - Additional Tests                   |\n");
        printf("|   q - (Q)uit                             |\n");
        printf("============================================\n");

        switch(toupper(getch())) {
        case 'N':
                configSetup.use_init = !configSetup.use_init;
                art_setResetParams(devNum, configSetup.pCfgFile, (A_BOOL)configSetup.eepromLoad,
                        (A_BOOL)configSetup.eepromHeaderLoad, (A_UCHAR)configSetup.mode, configSetup.use_init);        
                if (configSetup.use_init) {
                    printf("Using Driver init code\n");
                }
                else {
                    printf("Using MDK init code\n");
                }
                art_resetDevice(devNum, txStation, bssID, configSetup.channel, configSetup.turbo);
                break;

        case 'O':
            if (supportMultiModes(&supportedModes))
             {
				printf("MODE_%d\n",configSetup.mode);
                //before changing mode, take a copy of the current frequency and rxGain for mode
				switch(configSetup.mode) {
                case MODE_11A:
					printf("MODE_11A\n");
                    configSetup.channel5 = configSetup.channel;
                    configSetup.rxGain5 = configSetup.rxGain;
                    break;
                case MODE_11G:
                case MODE_11O:
					printf("MODE_11g\n");
                    configSetup.channel2_4 = configSetup.channel;
                    configSetup.rxGain2_4 = configSetup.rxGain;
                    break;
                case MODE_11B:
					printf("MODE_11b\n");
                    configSetup.channel2_4 = configSetup.channel;
                    configSetup.rxGain2_4 = configSetup.rxGain;        //Not sure if will have another rxGain for b??
                    break;
                }
            
                configSetup.mode = getNextMode(&supportedModes);
				printf("2nd MODE_%d\n",configSetup.mode);
                if(configSetup.mode == MODE_11B) {
                    configSetup.turbo = 0;
                }
                if((configSetup.mode != MODE_11G) && (configSetup.dataRateIndex > 7)) {
                    configSetup.dataRateIndex = 0;
                }

                uiPrintf("\n");

                if ( isDragon_sd(swDeviceID)) {
                    if(configSetup.mode == MODE_11A) {
                       configSetup.maxRxGain = RX_GAIN_MAX_AR6000;
                       configSetup.minRxGain = RX_GAIN_MIN_AR6000;
                    }
                    else {
                       configSetup.maxRxGain = RX_GAIN_MAX_AR6000_11g;
                       configSetup.minRxGain = RX_GAIN_MIN_AR6000_11g;
                    }
                }
                else
                if ( ( (swDeviceID & 0xFF) == 0x14 ) || ( (swDeviceID & 0xFF) >= 0x16 ) ){
                    configSetup.maxRxGain = RX_GAIN_MAX_AR5112;
                    configSetup.minRxGain = RX_GAIN_MIN_AR5112;
                } else {
                    if(configSetup.mode == MODE_11A) {
                        configSetup.maxRxGain = RX_GAIN_MAX;
                        configSetup.minRxGain = RX_GAIN_MIN;
                    } else {
                        configSetup.maxRxGain = RX_GAIN_MAX_11bg;
                        configSetup.minRxGain = RX_GAIN_MIN_11bg;
                    }
                }

                if (configSetup.rxGain > configSetup.maxRxGain) {
                    configSetup.rxGain = configSetup.maxRxGain;
                } 

                if (configSetup.rxGain < configSetup.minRxGain) {
                    configSetup.rxGain = configSetup.minRxGain;
                } 

                if(((swDeviceID == 0xa014)||(swDeviceID == 0xa016)||(swDeviceID == 0xa017))&&(!configSetup.userInstanceOverride)) {
                    if(configSetup.mode != MODE_11A) {
                        devNum = devNum_2g;
                    }
                    else {
                        devNum = devNum_5g;
                    }
                }
                setupMode(); 
                art_setResetParams(devNum, configSetup.pCfgFile, (A_BOOL)configSetup.eepromLoad,
                    (A_BOOL)configSetup.eepromHeaderLoad, (A_BOOL)configSetup.mode, configSetup.use_init);        
                art_resetDevice(devNum, txStation, bssID, configSetup.channel, configSetup.turbo);
                if (configSetup.useTargetPower == TRUE) {
					printf("MODE_configSetup.useTargetPower\n");
                    configSetup.powerOutput = art_getMaxPowerForRate(devNum, (A_UINT16)configSetup.channel, DataRate[configSetup.dataRateIndex]);
                }
                updateConfigFromRegValues(devNum);

            }
            else {
                uiPrintf("Unknown command\n");
            }
            break;
 #ifndef __ATH_DJGPPDOS__
       case 'E':
            if(configSetup.eepromLoad) {
                configSetup.eepromLoad = 0;
                //force the reload of eep file to override eeprom settings.
//                    processEepFile(devNum, configSetup.cfgTable.pCurrentElement->eepFilename, &configSetup.eepFileVersion);
            }
            else {
                if (eeprom_verify_checksum(devNum))
                {
                configSetup.validCalData  =  TRUE;
                configSetup.eepromLoad = 1;
                } else
                {
                configSetup.validCalData  =  FALSE;
                configSetup.eepromLoad    =  0;
                invalidEepromMessage(2000);
                }
            }
            if (configSetup.validCalData)
            {       
                //revert back to defaults for config setup params
                configSetup.pcDac = USE_REG_FILE;
                configSetup.powerOutput = USE_REG_FILE;
                configSetup.rxGain = USE_REG_FILE;
                configSetup.powerControlMethod = NO_PWR_CTL;

                if (((swDeviceID & 0xff) >= 0x0014) && ((swDeviceID & 0xff) != 0x0015)) {
                    //xpdgain gets set by devlib, don't want to apply here unless there
                    //is an override.
                    configSetup.applyXpdGain = (configSetup.eepromLoad == 1) ? 0 : 1;
                }
                //update the library with the new eepromload flag setting.
                art_setResetParams(devNum, configSetup.pCfgFile, (A_BOOL)configSetup.eepromLoad,
                    (A_BOOL)1, (A_BOOL)configSetup.mode, configSetup.use_init);
                art_rereadProm(devNum);
                art_resetDevice(devNum, txStation, bssID, configSetup.channel, configSetup.turbo);
                if(!configSetup.eepromLoad) {
                    //force the reload of eep file to override eeprom settings.
                    processEepFile(devNum, configSetup.cfgTable.pCurrentElement->eepFilename, &configSetup.eepFileVersion);
                }
                
                //Read register values read in from resetDevice
                updateConfigFromRegValues(devNum);
            }

            break;
#endif //__ATH_DJGPPDOS__
        case 'C':
            contMenu(devNum);
            break;
        case 'R':
            contRxMenu(devNum);
            break;
        case 'L':
            linkMenu(devNum);
            break;
        case 'T':
            throughputMenu(devNum);
            break;
        case 'P':
                if(sizeWarning)
                {
                    uiPrintf("! Warning EEP EEPROM_SIZE and EEPROM Location size are Different \n");
                    uiPrintf(" May Lead to illegal operation \n");
                    uiPrintf(" Do you want to continue (Y/N)\n");
                    while(!kbhit())    ;
                        if(toupper(getch())=='Y') {
                            EEPROM_Routine(devNum);
                        }
                        else
                            break;
                }
                
            EEPROM_Routine(devNum);
            break;
        case 'U':
            utilityMenu(devNum);
            break;
        case 'I':
            noiseImmunityMenu(devNum);
            break;
        case 'G':
            if (configSetup.logging) {
                configSetup.logging = 0;

                //turn off logging
                uilogClose();
            }
            else {
                configSetup.logging = 1;

                if(configSetup.logFile[0] == '\0') {
                    uiPrintf("\nPlease enter filename for logging: ");
                    scanf("%s", configSetup.logFile);
                }
                #ifndef __ATH_DJGPPDOS__
                uilog(configSetup.logFile, 1);
                #endif
            }
            
            if(configSetup.logging) {
            }
    
            break;
#ifndef __ATH_DJGPPDOS__
        case 'S':
    	if (!isDragon_sd(swDeviceID)) {
			
            art_teardownDevice(devNum);
            if ((devNum_2g != devNum_5g) &&(!configSetup.userInstanceOverride)) {
                if(devNum == devNum_2g) {
                    art_teardownDevice(devNum_5g);
                } else {
                    art_teardownDevice(devNum_2g); 
                }
                
            }
            uiPrintf("Device has been stopped and may be removed\n");
            uiPrintf("Press Q to exit or any other key to setup a new device\n");
            if( toupper(getch()) == 'Q' ) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -