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

📄 eeprom.c

📁 Atheros AP Test with Agilent N4010A source code
💻 C
📖 第 1 页 / 共 3 页
字号:
/* eeprom.c - Contains the functions for printing the eeprom contents *//* Copyright (c) 2000 Atheros Communications, Inc., All Rights Reserved */#ident  "ACI $Id: //depot/sw/branches/ART_V53_dragon/sw/src/dk/mdk/devmld/eeprom.c#2 $, $Header: //depot/sw/branches/ART_V53_dragon/sw/src/dk/mdk/devmld/eeprom.c#2 $"#ifdef __ATH_DJGPPDOS__ #define __int64	long long #define HANDLE long typedef unsigned long DWORD; #define Sleep	delay #include <bios.h>#endif	// #ifdef __ATH_DJGPPDOS__#ifdef _WINDOWS #include <windows.h>#endif#ifdef JUNGO#include "mld.h"       /* Low level driver information for MLD */#endif#include "common_hw.h"#include <stdio.h> #ifndef LINUX#include <conio.h>#else#include "linux_ansi.h"#endif#include <string.h>#include <stdlib.h>#include "wlantype.h"#include "mEeprom.h"#include "mConfig.h"     #include "art_if.h"#include "test.h"#ifdef __ATH_DJGPPDOS__#include "mlibif_dos.h"#endif
#define MANLIB_API __declspec( dllimport )
A_UINT16  xpdGainMapping[] = {0, 6, 9, 18};A_UINT16  xpdGainMapping_gen5[] = {0, 1, 2, 4};extern void printAR6000Eeprom(A_UINT32 devNum);void printHeaderInfo_16K( MDK_EEP_HEADER_INFO	*pHeaderInfo, A_UINT32			mode){	A_CHAR binaryString[50];	A_CHAR modeString[10];	A_UINT16 i, j;	MODE_HEADER_INFO	*pModeInfo;	A_INT16  tmpVal;	switch(mode) {	case MODE_11A:		pModeInfo = &(pHeaderInfo->info11a);		sprintf(modeString, "11a");		break;	case MODE_11G:		pModeInfo = &(pHeaderInfo->info11g);		sprintf(modeString, "11g");		break;	case MODE_11O:		pModeInfo = &(pHeaderInfo->info11g);		sprintf(modeString, "11o");		break;	case MODE_11B:		pModeInfo = &(pHeaderInfo->info11b);		sprintf(modeString, "11b");		break;	default:		printf("Illegal mode passed to printHeaderInfo_16K\n");		return;	} //end switch	uiPrintf("\n");	uiPrintf(" =================Header Information for mode %s===============\n", modeString);	uiPrintf(" |  Major Version           %2d  ", pHeaderInfo->majorVersion);	uiPrintf("|  Minor Version           %2d  |\n", pHeaderInfo->minorVersion);	if(pHeaderInfo->majorVersion >= 4) {		uiPrintf(" |  EAR Start            0x%3x  ", pHeaderInfo->earStartLocation);		uiPrintf("|  Target Power Start   0x%3x  |\n", pHeaderInfo->trgtPowerStartLocation);		uiPrintf(" |  EEP MAP                0x%1x  ", pHeaderInfo->eepMap);		uiPrintf("|                              |\n");   		uiPrintf(" |  Enable 32 khz            %1d  ", pHeaderInfo->enable32khz);		if(((pHeaderInfo->majorVersion  == 4) && (pHeaderInfo->minorVersion >= 5)) || 		(pHeaderInfo->majorVersion >= 5)){			uiPrintf("|  Old Enable 32 khz        %1d  |\n", pHeaderInfo->oldEnable32khz);			uiPrintf(" |  Mask for Radio 0     %1d ", pHeaderInfo->maskRadio0);			switch (pHeaderInfo->maskRadio0) {			case 0:				uiPrintf("   ");				break;			case 1:				uiPrintf("  g");				break;			case 2:				uiPrintf("  a");				break;			case 3:				uiPrintf("a/g");				break;			default:				uiPrintf("   ");				break;			}			uiPrintf("  |  Mask for Radio 1        %1d",pHeaderInfo->maskRadio1);			switch (pHeaderInfo->maskRadio1) {			case 0:				uiPrintf("   ");				break;			case 1:				uiPrintf("  g");				break;			case 2:				uiPrintf("  a");				break;			case 3:				uiPrintf("a/g");				break;			default:				uiPrintf("   ");				break;			}			uiPrintf("|\n");		} else {			uiPrintf("|                              |\n");		}		if(((pHeaderInfo->majorVersion  == 4) && (pHeaderInfo->minorVersion >= 4)) || 		(pHeaderInfo->majorVersion >= 5)){			uiPrintf(" |  EEP File Version       %3d  ", pHeaderInfo->eepFileVersion);			uiPrintf("|  ART Build Number       %3d  |\n", pHeaderInfo->artBuildNumber);			uiPrintf(" |  EAR File Identifier    %3d  ", pHeaderInfo->earFileIdentifier);			uiPrintf("|  EAR File Version       %3d  |\n", pHeaderInfo->earFileVersion);		}		if((pHeaderInfo->majorVersion  >= 5) && (pHeaderInfo->minorVersion >= 1))		{			uiPrintf(" |-------------------------------------------------------------|\n");			uiPrintf(" |  calStartLocation     0x%3x  ",pHeaderInfo->calStartLocation);			uiPrintf("|  keyCacheSize           %3d  |\n", pHeaderInfo->keyCacheSize);						uiPrintf(" |  enableClip             %3d  ", pHeaderInfo->enableClip);			uiPrintf("|  maxNumQCU		  %3d  |\n", pHeaderInfo->maxNumQCU);			uiPrintf(" |  burstingDisable        %3d  ", pHeaderInfo->burstingDisable);			uiPrintf("|  fastFrameDisable       %3d  |\n",  pHeaderInfo->fastFrameDisable);			uiPrintf(" |  aesDisable		   %3d  ", pHeaderInfo->aesDisable);			uiPrintf("|  compressionDisable     %3d  |\n", pHeaderInfo->compressionDisable);			uiPrintf(" |  xrDisable             %3d  ", pHeaderInfo->disableXR);			uiPrintf("|                              |\n");			}		if(((pHeaderInfo->majorVersion  == 5) && (pHeaderInfo->minorVersion >= 3))				|| (pHeaderInfo->majorVersion >= 6)){			uiPrintf(" |-------------------------------------------------------------|\n");			uiPrintf(" |  enable FCC Mid         %3d  ", pHeaderInfo->enableFCCMid);			uiPrintf("|  enable Jap even Uni 1  %3d  |\n",  pHeaderInfo->enableJapanEvenU1);			uiPrintf(" |  enable Jap Uni 2       %3d  ", pHeaderInfo->enableJapenU2);			uiPrintf("|  enable Jap Mid         %3d  |\n",  pHeaderInfo->enableJapnMid);			uiPrintf(" |  disable Jap odd Uni 1  %3d  ", pHeaderInfo->disableJapanOddU1);			uiPrintf("|  enable Jap 11a new     %3d  |\n", pHeaderInfo->enableJapanMode11aNew);		}	}	uiPrintf(" |-------------------------------------------------------------|\n");	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 1)) 			|| (pHeaderInfo->majorVersion >= 4)){		uiPrintf(" |  A Mode         %1d  ", pHeaderInfo->Amode);		uiPrintf("|  B Mode         %1d  ", pHeaderInfo->Bmode);		uiPrintf("|  G Mode        %1d  |\n", pHeaderInfo->Gmode);	}	else {		uiPrintf(" |  A Mode                   %1d  ", pHeaderInfo->Amode);		uiPrintf("|  B Mode                   %1d  |\n", pHeaderInfo->Bmode);	}	if(pHeaderInfo->countryCodeFlag) {		uiPrintf(" |  Country Code %03x  ", pHeaderInfo->countryRegCode);	} else {		uiPrintf(" |  Reg. Domain  %03x  ", pHeaderInfo->countryRegCode);	}	//uiPrintf("|  turbo Disable  %1d  ", pHeaderInfo->turboDisable);	uiPrintf("|  turbo Disable  %1d  ", pModeInfo->turboDisable);	uiPrintf("|  RF Silent     %1d  |\n", pHeaderInfo->RFKill);	uiPrintf(" |-------------------------------------------------------------|\n");	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 3)) 			|| (pHeaderInfo->majorVersion >= 4)){		uiPrintf(" |  worldwide roaming        %1x  ", pHeaderInfo->worldwideRoaming);		uiPrintf("|  False detect backoff  0x%02x  |\n", pModeInfo->falseDetectBackoff);	}	uiPrintf(" |  device type              %1x  ", pHeaderInfo->deviceType);	uiPrintf("|  Switch Settling Time  0x%02x  |\n", pModeInfo->switchSettling);	uiPrintf(" |  ADC Desired size       %2d  ", pModeInfo->adcDesiredSize);	uiPrintf("|  XLNA Gain             0x%02x  |\n", pModeInfo->xlnaGain);	uiPrintf(" |  tx end to XLNA on     0x%02x  ", pModeInfo->txEndToXLNAOn);	uiPrintf("|  Threashold 62         0x%02x  |\n", pModeInfo->thresh62);	uiPrintf(" |  tx end to XPA off     0x%02x  ", pModeInfo->txEndToXPAOff);	uiPrintf("|  tx end to XPA on      0x%02x  |\n", pModeInfo->txFrameToXPAOn);	uiPrintf(" |  PGA Desired size       %2d  ", pModeInfo->pgaDesiredSize);	uiPrintf("|  Noise Threshold        %3d  |\n", pModeInfo->noisefloorThresh);	uiPrintf(" |  XPD Gain              0x%02x  ", pModeInfo->xgain);	uiPrintf("|  XPD                      %1d  |\n", pModeInfo->xpd);	uiPrintf(" |  txrx Attenuation      0x%02x  ", pModeInfo->txrxAtten);			uiPrintf("|  Antenna control  0  ");	itoa(pModeInfo->antennaControl[0], binaryString, 2);	for(i = 0; i < (6 - strlen(binaryString)); i++) {		uiPrintf("0");	}	uiPrintf("%s  |\n", binaryString);	for(j = 1; j <= 5; j++) {		uiPrintf(" |  Antenna control %2d  ", j);		itoa(pModeInfo->antennaControl[j], binaryString, 2);		for(i = 0; i < (6 - strlen(binaryString)); i++) {			uiPrintf("0");		}		uiPrintf("%s  ", binaryString);		uiPrintf("|  Antenna control %2d  ", j+5);		itoa(pModeInfo->antennaControl[j+5], binaryString, 2);		for(i = 0; i < (6 - strlen(binaryString)); i++) {			uiPrintf("0");		}		uiPrintf("%s  |\n", binaryString);	}		if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 4)) 			|| (pHeaderInfo->majorVersion >= 4)){		uiPrintf(" |  Init GainI            0x%02x  ", pModeInfo->initialGainI);//		if(mode == MODE_11B) {//			uiPrintf("|                              |\n");//		}		if(mode != MODE_11B) {			uiPrintf("|  Turbo 2W Pwr Max.       %2d  |\n", pModeInfo->turbo.max2wPower);			}		if((mode == MODE_11G) || (mode == MODE_11O)) {			uiPrintf(" |  OFDM/CCK Delta        %4.1f  ", (float)(pHeaderInfo->scaledOfdmCckDelta)/10);		}				if (pHeaderInfo->majorVersion == 4) {			if(mode != MODE_11A) {	    		uiPrintf("|  Use Fixed dB Bias 2.4GHz %1d  |\n", pHeaderInfo->fixedBiasB);			}		} else {			uiPrintf("|                              |\n");			}	}	if(pHeaderInfo->majorVersion >= 4) {		if(mode != MODE_11B) {			tmpVal = pModeInfo->iqCalI ;			if ((tmpVal >> 5) == 0x1) tmpVal = tmpVal - 64 ;			uiPrintf(" |  IQ Cal I               %3d  ", tmpVal);			tmpVal = pModeInfo->iqCalQ ;			if ((tmpVal >> 4) == 0x1) tmpVal = tmpVal - 32 ;			uiPrintf("|  IQ Cal Q               %3d  |\n", tmpVal);		}		if(mode == MODE_11A) {			uiPrintf(" |  Use Fixed dB Bias 5GHz   %1d  ", pHeaderInfo->fixedBiasA);			if(pHeaderInfo->minorVersion >= 1) {				uiPrintf("|  rxtxMargin            0x%02x  |\n", pModeInfo->rxtxMargin);			}			else {				uiPrintf("|                              |\n");			}		}		if(((pHeaderInfo->majorVersion == 4) && (pHeaderInfo->minorVersion >= 1)) || 			(pHeaderInfo->majorVersion >= 5))		{			if(mode != MODE_11A) {				uiPrintf(" |  rxtxMargin            0x%02x  ", pModeInfo->rxtxMargin);							}		}		if((((pHeaderInfo->majorVersion == 4) && (pHeaderInfo->minorVersion >= 2)) ||			(pHeaderInfo->majorVersion >= 5))			&& (mode == MODE_11G)){			uiPrintf("|  OFDM/CCK Gain Delta   %4.1f  |\n", (float)(pHeaderInfo->ofdmCckGainDeltaX2)/2);		} else if ((mode == MODE_11B) || (mode == MODE_11O)) {			uiPrintf("|                              |\n");		}		if((((pHeaderInfo->minorVersion >= 5) && (pHeaderInfo->majorVersion == 4)) &&			(pHeaderInfo->majorVersion >= 5))			&& ((mode == MODE_11G)||(mode == MODE_11O))){			uiPrintf(" |  CH14 Filter CCK Delta %4.1f  ", (float)(pHeaderInfo->scaledCh14FilterCckDelta)/10);			uiPrintf("|                              |\n");		}	}	uiPrintf(" |-------------------------------------------------------------|\n");	if(mode == MODE_11A) {		uiPrintf(" |   OB_1   %1d   ", pModeInfo->ob_1);		uiPrintf("|   OB_2    %1d   ", pModeInfo->ob_2);		uiPrintf("|   OB_3   %1d  ", pModeInfo->ob_3);		uiPrintf("|   OB_4     %1d   |\n", pModeInfo->ob_4);		uiPrintf(" |   DB_1   %1d   ", pModeInfo->db_1);		uiPrintf("|   DB_2    %1d   ", pModeInfo->db_2);		uiPrintf("|   DB_3   %1d  ", pModeInfo->db_3);		uiPrintf("|   DB_4     %1d   |\n", pModeInfo->db_4);	}	else {	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 1)) 			|| (pHeaderInfo->majorVersion >= 4)){			uiPrintf(" |   OB_1   %1d   ", pModeInfo->ob_1);			uiPrintf("|   B_OB    %1d   ", pModeInfo->ob_4);			uiPrintf("|   DB_1   %1d  ", pModeInfo->db_1);			uiPrintf("|   B_DB     %1d   |\n", pModeInfo->db_4);		}		else {			uiPrintf(" |  OB_1                     %1d  ", pModeInfo->ob_1);			uiPrintf("|  DB_1                     %1d  |\n", pModeInfo->db_1);		}			}#if 0 	if ((mode == MODE_11A) && (pHeaderInfo->minorVersion >= 2)) {		uiPrintf(" |-------------------------------------------------------------|\n");		for(i = 0; i < 4; i++) {			uiPrintf(" |  Gsel_%1d  %1d   ", i, pHeaderInfo->cornerCal[i].gSel);			uiPrintf("|  Pd84_%1d   %1d   ", i, pHeaderInfo->cornerCal[i].pd84);			uiPrintf("|  Pd90_%1d  %1d  ", i, pHeaderInfo->cornerCal[i].pd90);			uiPrintf("|  clip_%1d    %1d   |\n", i, pHeaderInfo->cornerCal[i].clip);		}	}#endif	if((mode != MODE_11B) && (pHeaderInfo->majorVersion >= 5)) {		uiPrintf(" |-------------------------------------------------------------|\n");		uiPrintf(" |  turbo txrx atten      0x%02x  ", pModeInfo->turbo.txrxAtten);		uiPrintf("|  turbo rxtx margin     0x%02x  |\n", pModeInfo->turbo.rxtxMargin);		uiPrintf(" |  turbo PGA Desired sz   %2d  ", pModeInfo->turbo.pgaDesiredSize);		uiPrintf("|  turbo ADC Desired sz   %2d  |\n", pModeInfo->turbo.adcDesiredSize);		uiPrintf(" |  turbo switch settling 0x%02x  ", pModeInfo->turbo.switchSettling);		uiPrintf("|                              |\n");	}			uiPrintf(" ===============================================================\n");	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 4)) 			 && (mode != MODE_11A)) {		if((pModeInfo->calPier1 != 0xff) || (pModeInfo->calPier2 != 0xff)) {			uiPrintf("\nCalibration actually performed at channels: ");			if(pModeInfo->calPier1 != 0xff) {				uiPrintf("%d ", pModeInfo->calPier1);			}				if(pModeInfo->calPier2 != 0xff) {				uiPrintf("%d ", pModeInfo->calPier2);

⌨️ 快捷键说明

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