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

📄 eeprom.c

📁 Atheros AP Test with Agilent N4010A source code
💻 C
📖 第 1 页 / 共 3 页
字号:
			}				uiPrintf("\n");		}	}			return;}void printChannelInfo_16K( MDK_PCDACS_ALL_MODES	*pEepromData, A_UINT32			mode){	A_UINT16			i, j, k = 0;	MDK_DATA_PER_CHANNEL	*pDataPerChannel;	switch(mode) {	case MODE_11A:		pDataPerChannel = pEepromData->DataPerChannel_11a;		break;	case MODE_11G:	case MODE_11O:		pDataPerChannel = pEepromData->DataPerChannel_11g;		break;	case MODE_11B:		pDataPerChannel = pEepromData->DataPerChannel_11b;		break;	default:		printf("Illegal mode passed to printChannelInfo_16K\n");		return;	}		uiPrintf("\n");	if(mode == MODE_11A) {		uiPrintf("=========================Calibration Information============================\n");				for (k = 0; k < 10; k+=5) {			for(i = k; i < k + 5; i++) {				uiPrintf("|     %04d     ",					pDataPerChannel[i].channelValue);			}			uiPrintf("|\n");						uiPrintf("|==============|==============|==============|==============|==============|\n");			for(i = k; i < k + 5; i++) {				uiPrintf("|pcdac pwr(dBm)");			}			uiPrintf("|\n");			for(j = 0; j < pDataPerChannel[0].numPcdacValues; j++) {				for(i = k; i < k + 5; i++) {					uiPrintf("|  %02d    %4.1f  ",						pDataPerChannel[i].PcdacValues[j],						((float)(pDataPerChannel[i].PwrValues[j]))/SCALE);				}				uiPrintf("|\n");			}						uiPrintf("|              |              |              |              |              |\n");				for (i = k; i < k + 5; i++) {				uiPrintf("| pcdac min %02d ", pDataPerChannel[i].pcdacMin);			}			uiPrintf("|\n");			for (i = k; i < k + 5; i++) {				uiPrintf("| pcdac max %02d ", pDataPerChannel[i].pcdacMax);			}			uiPrintf("|\n");			uiPrintf("|==============|==============|==============|==============|==============|\n");		}	} else {		uiPrintf("               ==========Calibration Information=============\n");				for(i = 0; i < 3; i++) {			if(0 == i) {				uiPrintf("               ");			}			uiPrintf("|     %04d     ",				pDataPerChannel[i].channelValue);		}		uiPrintf("|\n");				uiPrintf("               |==============|==============|==============|\n");		for(i = 0; i < 3; i++) {			if(0 == i) {				uiPrintf("               ");			}			uiPrintf("|pcdac pwr(dBm)");		}		uiPrintf("|\n");		for(j = 0; j < pDataPerChannel[0].numPcdacValues; j++) {			for(i = 0; i < 3; i++) {				if(0 == i) {					uiPrintf("               ");				}				uiPrintf("|  %02d    %4.1f  ",					pDataPerChannel[i].PcdacValues[j],					((float)(pDataPerChannel[i].PwrValues[j]))/SCALE);			}			uiPrintf("|\n");		}				uiPrintf("               |              |              |              |\n");			uiPrintf("               ");		for (i = 0; i < 3; i++) {			uiPrintf("| pcdac min %02d ", pDataPerChannel[i].pcdacMin);		}		uiPrintf("|\n");		uiPrintf("               ");		for (i = 0; i < 3; i++) {			uiPrintf("| pcdac max %02d ", pDataPerChannel[i].pcdacMax);		}		uiPrintf("|\n");		uiPrintf("               |==============|==============|==============|\n");	}}void printTargetPowerInfo_16K( MDK_TRGT_POWER_ALL_MODES	*pPowerInfoAllModes, A_UINT32			mode){	A_UINT16 i, k;	MDK_TRGT_POWER_INFO		*pPowerInfo;	A_UINT16    numTrgtPwrPiers;	uiPrintf("\n");	if(mode == MODE_11A) {		pPowerInfo = pPowerInfoAllModes->trgtPwr_11a;		uiPrintf("============================Target Power Info===============================\n");			for (k = 0; k < 8; k+=4) {			uiPrintf("|     rate     ");			for(i = k; i < k + 4; i++) {				uiPrintf("|     %04d     ",					pPowerInfo[i].testChannel);			}			uiPrintf("|\n");						uiPrintf("|==============|==============|==============|==============|==============|\n");			uiPrintf("|     6-24     ");			for (i = k; i < k + 4; i++) {				uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr6_24)/2);			}			uiPrintf("|\n");			uiPrintf("|      36      ");			for (i = k; i < k + 4; i++) {				uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr36)/2);			}			uiPrintf("|\n");			uiPrintf("|      48      ");			for (i = k; i < k + 4; i++) {				uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr48)/2);			}			uiPrintf("|\n");			uiPrintf("|      54      ");			for (i = k; i < k + 4; i++) {				uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr54)/2);			}			uiPrintf("|\n");			uiPrintf("|==============|==============|==============|==============|==============|\n");		}	}	else {		if(mode == MODE_11B) {			pPowerInfo = pPowerInfoAllModes->trgtPwr_11b;			numTrgtPwrPiers = pPowerInfoAllModes->numTargetPwr_11b;		}		else {			pPowerInfo = pPowerInfoAllModes->trgtPwr_11g;			numTrgtPwrPiers = pPowerInfoAllModes->numTargetPwr_11g;		}		if(numTrgtPwrPiers == 2){			uiPrintf("=============Target Power Info================\n");		} else {			uiPrintf("====================Target Power Info========================\n");		}		uiPrintf("|     rate     ");		for(i = 0; i < numTrgtPwrPiers; i++) {			uiPrintf("|     %04d     ",				pPowerInfo[i].testChannel);		}		uiPrintf("|\n");				if(numTrgtPwrPiers == 2){			uiPrintf("|==============|==============|==============|\n");		} else {			uiPrintf("|==============|==============|==============|==============|\n");		}		if(mode == MODE_11B) {			uiPrintf("|      1       ");		}		else {			uiPrintf("|     6-24     ");		}		for (i = 0; i < numTrgtPwrPiers; i++) {			uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr6_24)/2);		}		uiPrintf("|\n");		if(mode == MODE_11B) {			uiPrintf("|      2       ");		}		else {			uiPrintf("|      36      ");		}		for (i = 0; i < numTrgtPwrPiers; i++) {			uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr36)/2);		}		uiPrintf("|\n");		if(mode == MODE_11B) {			uiPrintf("|      5.5     ");		}		else {			uiPrintf("|      48      ");		}		for (i = 0; i < numTrgtPwrPiers; i++) {			uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr48)/2);		}		uiPrintf("|\n");		if(mode == MODE_11B) {			uiPrintf("|      11      ");		}		else {			uiPrintf("|      54      ");		}		for (i = 0; i < numTrgtPwrPiers; i++) {			uiPrintf("|     %4.1f     ", (float)(pPowerInfo[i].twicePwr54)/2);		}		uiPrintf("|\n");		if(numTrgtPwrPiers == 2){			uiPrintf("|==============|==============|==============|\n");		} else {			uiPrintf("|==============|==============|==============|==============|\n");		}	}}void printRDEdges_16K( MDK_RD_EDGES_POWER		*pRdEdgePwrInfo, A_UINT16			*pTestGroups, A_UINT32			mode, A_UINT16			maxNumCtl, A_UINT16			majorVersion, A_UINT16			minorVersion){	A_UINT16	i=0, j;	A_UINT16	ctlMode;	char		ctlType[64];	uiPrintf("\n");	uiPrintf("=======================Test Group Band Edge Power========================\n");	while ((pTestGroups[i] != 0) && (i < maxNumCtl)) {		switch(pTestGroups[i] & 0x7) {		case CTL_MODE_11A: 			sprintf(ctlType, " [ 0x%x 11a base mode ] ", (pTestGroups[i]&0xf8));			ctlMode = MODE_11A; break;		case CTL_MODE_11A_TURBO:			sprintf(ctlType, " [ 0x%x 11a TURBO mode ]", (pTestGroups[i]&0xf8));			ctlMode = MODE_11A; break;		case CTL_MODE_11B: 			sprintf(ctlType, " [ 0x%x 11b mode ]      ", (pTestGroups[i]&0xf8));			ctlMode = MODE_11B; break;		case CTL_MODE_11G: 			sprintf(ctlType, " [ 0x%x 11g mode ]      ", (pTestGroups[i]&0xf8));			ctlMode = MODE_11G; break;		case CTL_MODE_11G_TURBO: 			sprintf(ctlType, " [ 0x%x 11g TURBO mode ]", (pTestGroups[i]&0xf8));			ctlMode = MODE_11G; break;		default: uiPrintf("Illegal mode mask in CTL (0x%x) number %d\n", pTestGroups[i], i); return;		}		if(mode != ctlMode) {			i++;			pRdEdgePwrInfo+=NUM_16K_EDGES;			continue;		}		uiPrintf("|                                                                       |\n");		uiPrintf("| CTL: 0x%02x  %s", pTestGroups[i] & 0xff, ctlType);				uiPrintf("                                   |\n");		uiPrintf("|=======|=======|=======|=======|=======|=======|=======|=======|=======|\n");		uiPrintf("| edge  ");		for(j = 0; j < NUM_16K_EDGES; j++) {			if (pRdEdgePwrInfo[j].rdEdge == 0)			{				uiPrintf("|  --   ");			} else			{				uiPrintf("| %04d  ", pRdEdgePwrInfo[j].rdEdge);			}		}		uiPrintf("|\n");		uiPrintf("|=======|=======|=======|=======|=======|=======|=======|=======|=======|\n");		uiPrintf("| power ");		for(j = 0; j < NUM_16K_EDGES; j++) {			if (pRdEdgePwrInfo[j].rdEdge == 0)			{				uiPrintf("|  --   ");			} else			{				uiPrintf("| %4.1f  ", (float)(pRdEdgePwrInfo[j].twice_rdEdgePower)/2);			}		}		uiPrintf("|\n");		if(((majorVersion == 3) && (minorVersion >= 3)) || (majorVersion >= 4))  {			uiPrintf("|=======|=======|=======|=======|=======|=======|=======|=======|=======|\n");			uiPrintf("| flag  ");			for(j = 0; j < NUM_16K_EDGES; j++) {				if (pRdEdgePwrInfo[j].rdEdge == 0)				{					uiPrintf("|  --   ");				} else				{					uiPrintf("|   %1d   ", pRdEdgePwrInfo[j].flag);				}			}			uiPrintf("|\n");		}		uiPrintf("=========================================================================\n");		i++;		pRdEdgePwrInfo+=NUM_16K_EDGES;	}}voidprintfChannelInfo_gen3( EEPROM_FULL_DATA_STRUCT_GEN3 *pChannelInfo,  A_UINT32 mode){	EEPROM_DATA_PER_CHANNEL_GEN3	*pDataPerChannel;	A_UINT16 i, k;	A_UINT16 pcdacValues[10];	A_UINT16 xpdGainMask;	A_UINT16 k_end, i_end;	A_UINT16 xpdGainValues[2];	A_UINT16 numXpdGain = 0, jj;	switch(mode) {	case MODE_11A:		pDataPerChannel = pChannelInfo->pDataPerChannel11a;		xpdGainMask = pChannelInfo->xpd_mask11a;		break;	case MODE_11G:	case MODE_11O:		pDataPerChannel = pChannelInfo->pDataPerChannel11g;		xpdGainMask = pChannelInfo->xpd_mask11g;		break;	case MODE_11B:

⌨️ 快捷键说明

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