亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mcal.c

?? Atheros AP Test with Agilent N4010A source code
?? C
字號(hào):
/* mCal.c - contains functions related to radio calibration */

/* Copyright (c) 2001 Atheros Communications, Inc., All Rights Reserved */

/* 
Revsision history
--------------------
1.0       Created.
*/

#ifdef __ATH_DJGPPDOS__
#define __int64	long long
typedef unsigned long DWORD;
#endif	// #ifdef __ATH_DJGPPDOS__

#include <errno.h>
#include "wlantype.h"
#include "mConfig.h"
#include "manlib.h"

#if defined(SPIRIT_AP) || defined(FREEDOM_AP)
#include "misclib.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

//++JC++
static AR2413_TXGAIN_TBL griffin_tx_gain_tbl[] =
{
#include  "AR2413_tx_gain.tbl"
} ;

static AR2413_TXGAIN_TBL spider_tx_gain_tbl[] =
{
#include  "spider.tbl"
} ;

static AR2413_TXGAIN_TBL eagle_tx_gain_tbl_2[] =
{
#include  "ar5413_tx_gain_2.tbl"
} ;
static AR2413_TXGAIN_TBL eagle_tx_gain_tbl_5[] =
{
#include  "ar5413_tx_gain_5.tbl"
} ;
#define  AR2413_TX_GAIN_TBL_SIZE  26

MANLIB_API void ForceSinglePCDACTableGriffin(A_UINT32 devNum, A_UINT16 pcdac, A_UINT16 offset)
{
	A_UINT16 i;
	A_UINT32 dac_gain = 0;
	AR2413_TXGAIN_TBL *pGainTbl = NULL;
	
   	LIB_DEV_INFO *pLibDev = gLibInfo.pLibDevArray[devNum];

	if(isSpider(pLibDev->swDevID)) {
		pGainTbl = spider_tx_gain_tbl;
printf("SNOOP: using spider gain table\n");
	}
	else if(isGriffin(pLibDev->swDevID)) {
		pGainTbl = griffin_tx_gain_tbl;
	}
	else if(isEagle(pLibDev->swDevID)) {
		if(pLibDev->mode == MODE_11A) {
			pGainTbl = eagle_tx_gain_tbl_5;
			offset += 10;
		} else {
			pGainTbl = eagle_tx_gain_tbl_2;
		}
	}
	if(isDragon(devNum)) {
		if(pLibDev->mode == MODE_11A) {
			if (offset > 20) {
				offset -= 20;
			}
		} else {
			offset += 20;		
		}		
	}

	if(pGainTbl == NULL) {
		mError(devNum, EIO, "Error: unable to initialize gainTable in ForceSinglePCDACTableGriffin\n");
	}
	i = 0;
	if(offset != GAIN_OVERRIDE) {
		if (pLibDev->mode == 1) {
			offset = (A_UINT16)(offset + 10);	// Up the offset for 11b mode
		}
		pcdac = (A_UINT16)(pcdac + offset);		// Offset pcdac to get in a reasonable range
	}
//	printf("SNOOP: pcdac = %d\n", pcdac);
	while ((pcdac > pGainTbl[i].desired_gain) &&
			(i < AR2413_TX_GAIN_TBL_SIZE) ) {i++;}  // Find entry closest
	if (pGainTbl[i].desired_gain > pcdac) {
		dac_gain = pGainTbl[i].desired_gain - pcdac;
	}
//printf("dg = %d, bb1 = %d, bb2 = %d, if = %d, rf = %d\n",
//		dac_gain, pGainTbl[i].bb1_gain, pGainTbl[i].bb2_gain, pGainTbl[i].if_gain, pGainTbl[i].rf_gain);
	writeField(devNum, "bb_force_dac_gain", 1);
	writeField(devNum, "bb_forced_dac_gain", dac_gain);
	writeField(devNum, "bb_force_tx_gain", 1);
	writeField(devNum, "bb_forced_txgainbb1", pGainTbl[i].bb1_gain);
	writeField(devNum, "bb_forced_txgainbb2", pGainTbl[i].bb2_gain);
	writeField(devNum, "bb_forced_txgainif", pGainTbl[i].if_gain);
	writeField(devNum, "bb_forced_txgainrf", pGainTbl[i].rf_gain);

	return;
}
//++JC++

MANLIB_API void ForceSinglePCDACTable(A_UINT32 devNum, A_UINT16 pcdac)
{
	A_UINT16 temp16, i;
	A_UINT32 temp32;
	A_UINT32 regoffset ;

//++JC++
	LIB_DEV_INFO *pLibDev = gLibInfo.pLibDevArray[devNum];
	if(isGriffin(pLibDev->swDevID) || isEagle(pLibDev->swDevID))  {    // For Griffin
		ForceSinglePCDACTableGriffin(devNum, pcdac, 30);  // By default, offset of 30
		return;
	}
//++JC++
	temp16 = (A_UINT16) (0x0000 | (pcdac << 8) | 0x00ff);
	temp32 = (temp16 << 16) | temp16 ;

	regoffset = 0x9800 + (608 << 2) ;
	for (i=0; i<32; i++)
	{
		REGW(devNum, regoffset, temp32);
		regoffset += 4;
	}

	return;
}

/* Return the mac address of the mac specified 
   wmac = 0 (for ethernet) wmac = 1 (for wireless)
   instance number (used only for ethernet) to get the mac address, if more than one 
   ethernet mac is present.
   macAddr - buffer to return the mac address
 */
MANLIB_API void getMacAddr(A_UINT32 devNum, A_UINT16 wmac, A_UINT16 instNo, A_UINT8 *macAddr)
{
	A_UINT32 readVal;

	//verify some of the arguments
	if (checkDevNum(devNum) == FALSE) {
		mError(devNum, EINVAL, "Device Number %d:getMacAddr \n", devNum);
		return;
	}

	if (wmac > 1) {
		mError(devNum, EINVAL, "Device Number %d:getMacAddr: Invalid wmac argument \n", devNum);
		return;
	}

	if (macAddr == NULL) {
		mError(devNum, EINVAL, "Device Number %d:getMacAddr: Invalid buffer address for returning mac address \n", devNum);
		return;
	}

#ifndef MDK_AP
	// Client card can have only wmac 
/*
#ifndef PREDATOR_BUILD
	if (wmac == 0) {
		mError(devNum, EINVAL, "Device Number %d:getMacAddr: Client card can read only WMAC address \n", devNum);
		return;
	}
#endif
*/
			// Read the mac address from the eeprom
	readVal = eepromRead(devNum,0x1d);
	macAddr[0] = (A_UINT8)(readVal & 0xff);
	macAddr[1] = (A_UINT8)((readVal >> 8) & 0xff);
	readVal = eepromRead(devNum,0x1e);
	macAddr[2] = (A_UINT8)(readVal & 0xff);
	macAddr[3] = (A_UINT8)((readVal >> 8) & 0xff);
	readVal = eepromRead(devNum,0x1f);
	macAddr[4] = (A_UINT8)(readVal & 0xff);
	macAddr[5] = (A_UINT8)((readVal >> 8) & 0xff);

	instNo = 0; // referencing to remove warning
#endif

#ifdef SPIRIT_AP
	if (spiritGetMacAddr(devNum,wmac,instNo,macAddr) < 0) {
		mError(devNum, EIO, "Get mac address failed \n");
		return;
	}	
#endif // SPIRIT

#ifdef AP22_AP
	mError(devNum, EIO,"Get Mac Address not implemented for AP22 \n");
#endif // AP22

#ifdef FREEDOM_AP
	if (freedomGetMacAddr(devNum,wmac,instNo,macAddr) < 0) {
		mError(devNum, EIO, "Get mac address failed \n");
		return;
	}	
#endif // FREEDOM

#ifdef SENAO_AP
	mError(devNum, EIO,"Get Mac Address not implemented for senao \n");
#endif // SENAO


	return;
}

#ifdef __cplusplus
}
#endif /* __cplusplus */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产a区久久久| 中文字幕一区不卡| 欧美精品在线视频| 欧美三级日韩三级国产三级| av亚洲精华国产精华| av在线这里只有精品| 99在线精品观看| 不卡视频在线观看| 色综合久久99| 在线91免费看| 日韩欧美中文一区二区| 欧美一区二区黄色| 精品久久久久av影院| 久久综合国产精品| 欧美国产精品专区| 亚洲视频免费观看| 亚洲一区二区三区中文字幕| 免费人成黄页网站在线一区二区| 精品一区二区免费| 成人在线视频首页| 欧美午夜精品理论片a级按摩| 欧美午夜精品理论片a级按摩| 日韩手机在线导航| 国产精品欧美久久久久无广告 | 99在线精品观看| 国产麻豆视频一区二区| 成人免费高清视频在线观看| 欧美亚洲丝袜传媒另类| 精品成a人在线观看| 欧美韩国一区二区| 国产喂奶挤奶一区二区三区| 中文字幕免费不卡| 天堂在线一区二区| 国产a区久久久| 欧美在线小视频| 久久亚洲一区二区三区明星换脸 | 精品视频免费在线| 精品久久久久久久人人人人传媒 | 亚洲免费观看高清完整| 日本一区中文字幕| 99视频有精品| 欧美电影免费提供在线观看| 国产精品乱人伦一区二区| 午夜天堂影视香蕉久久| 国产成人亚洲综合a∨婷婷| 91久久精品一区二区| 久久亚洲捆绑美女| 亚洲va欧美va人人爽午夜| 国产精品自在在线| 91精品国产麻豆| 中文字幕在线不卡国产视频| 美女精品一区二区| 欧美午夜精品理论片a级按摩| 日本一区二区电影| 精品一区二区三区在线播放| 欧美色中文字幕| 国产精品久久久久国产精品日日| 精品在线播放免费| 欧美日韩在线电影| 亚洲日本丝袜连裤袜办公室| 国产高清视频一区| 精品日韩成人av| 蜜桃一区二区三区在线观看| 色综合久久天天| 国产精品家庭影院| 东方欧美亚洲色图在线| 亚洲精品一线二线三线| 日韩专区中文字幕一区二区| 91九色最新地址| 亚洲人快播电影网| 91蜜桃传媒精品久久久一区二区| 久久久亚洲精品石原莉奈| 国产一区二区导航在线播放| 欧美日韩高清一区二区三区| 亚洲免费观看高清完整版在线观看| 不卡在线视频中文字幕| 中文字幕不卡在线观看| 国产盗摄女厕一区二区三区| 精品国产一区二区三区不卡| 免费视频一区二区| 日韩视频在线一区二区| 热久久一区二区| 91精品麻豆日日躁夜夜躁| 午夜久久久久久久久久一区二区| 欧美日韩一区小说| 天天综合日日夜夜精品| 欧美精品久久天天躁| 蜜桃一区二区三区在线| www国产成人| 91视频在线看| 亚瑟在线精品视频| 日韩精品中文字幕在线一区| 美女视频网站黄色亚洲| 久久精品综合网| 99精品欧美一区二区三区综合在线| 国产精品的网站| 欧美亚洲日本一区| 日韩成人一级片| 国产拍揄自揄精品视频麻豆| 国产成人精品免费一区二区| 中文字幕一区二区三区不卡在线| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 国产精品美女视频| 色偷偷久久人人79超碰人人澡| 亚洲影视在线观看| 91精品免费观看| 一区二区三区免费在线观看| 日韩精品一区二区三区老鸭窝 | 精品日产卡一卡二卡麻豆| 狠狠色丁香婷婷综合久久片| 国产精品系列在线| 欧美日韩精品欧美日韩精品一 | 91丨九色丨蝌蚪丨老版| 亚洲制服丝袜av| 欧美大胆人体bbbb| 99在线精品免费| 久久99精品国产麻豆不卡| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产一区二三区| 一级日本不卡的影视| 久久久99精品久久| 欧美日韩中文精品| 成人午夜av电影| 日韩中文字幕亚洲一区二区va在线| 国产亚洲人成网站| 欧美日韩第一区日日骚| 成人aa视频在线观看| 久久国产成人午夜av影院| 亚洲精品成人天堂一二三| 精品不卡在线视频| 欧美日韩精品是欧美日韩精品| 波多野结衣欧美| 精品亚洲成a人| 丝袜亚洲另类欧美综合| 亚洲欧美日韩一区二区 | 精品综合久久久久久8888| 亚洲在线观看免费视频| 国产精品久久久久久亚洲毛片 | 一本大道久久a久久精二百 | 99re视频精品| 国产成人综合在线观看| 麻豆91小视频| 人人爽香蕉精品| 视频在线观看国产精品| 一区二区欧美在线观看| 亚洲人成亚洲人成在线观看图片| 欧美国产欧美综合| 久久精品免费在线观看| xnxx国产精品| 久久亚洲精品国产精品紫薇| 日韩视频一区二区| 欧美一级一区二区| 日韩一区和二区| 日韩免费视频一区| 日韩欧美精品在线| 精品久久久久久综合日本欧美| 日韩午夜av电影| 精品成人一区二区三区四区| 欧美成人性福生活免费看| 欧美一区二区黄色| 精品精品国产高清一毛片一天堂| 91精品国产日韩91久久久久久| 欧美高清激情brazzers| 欧美久久久一区| 日韩免费高清电影| 精品久久久久久久久久久久久久久久久 | 亚洲欧美色一区| 亚洲五码中文字幕| 婷婷国产v国产偷v亚洲高清| 日韩精品亚洲专区| 精品在线观看视频| 成人一道本在线| 在线观看亚洲精品| 日韩久久久精品| 久久精品亚洲一区二区三区浴池| 欧美极品少妇xxxxⅹ高跟鞋| 中文字幕一区在线观看| 一区二区在线观看av| 午夜久久久久久久久久一区二区| 免费观看91视频大全| 国产精品亚洲午夜一区二区三区 | 国产精品视频第一区| 亚洲人成网站影音先锋播放| 香蕉乱码成人久久天堂爱免费| 老司机一区二区| 成人激情文学综合网| 欧美三级电影网| 国产午夜亚洲精品羞羞网站| **性色生活片久久毛片| 日本一不卡视频| 91亚洲国产成人精品一区二三 | 韩国精品在线观看| 99视频精品全部免费在线| 9191国产精品| 国产精品久久久久一区| 美女性感视频久久| 91福利区一区二区三区| 国产偷国产偷精品高清尤物| 亚洲一区自拍偷拍| 成人免费的视频|