📄 test.c.bacup
字号:
}
}
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 + -