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

📄 mdevtbl_rel_o.c

📁 Atheros AP Test with Agilent N4010A source code
💻 C
📖 第 1 页 / 共 2 页
字号:
	setChannelAr2413
};


static ART_ANI_API_TABLE veniceArtAniAPI = {
	configArtAniLadderAr5212,
	enableArtAniAr5212,
	disableArtAniAr5212,
	setArtAniLevelAr5212,
	setArtAniLevelMaxAr5212,
	setArtAniLevelMinAr5212,
	incrementArtAniLevelAr5212,
	decrementArtAniLevelAr5212,
	getArtAniLevelAr5212,
	measArtAniFalseDetectsAr5212,
	isArtAniOptimizedAr5212,
	getArtAniFalseDetectsAr5212,
	setArtAniFalseDetectIntervalAr5212,
	programCurrArtAniLevelAr5212
};

#ifndef __ATH_DJGPPDOS__
ANALOG_REV sombreroRevs[] = {
	{1, 0x5},
	{1, 0x6},
	{1, 0x7}
};
const A_UINT16 numSombreroRevs = sizeof(sombreroRevs)/sizeof(ANALOG_REV);

ANALOG_REV derby2_1Revs[] = {
	{3, 0x6},
	{4, 0x6},
	{0, 0}   // dummy to handle AP31 with no 5G derby
};
const A_UINT16 numderby2_1Revs = sizeof(derby2_1Revs)/sizeof(ANALOG_REV);

A_UINT16 veniceRevs[] = {
	0x50, 0x51, 0x53, 0x56
};

const A_UINT16 numVeniceRevs = sizeof(veniceRevs)/sizeof(A_UINT16);

A_UINT16 hainanRevs[] = {
	0x55,
	0x59
};

const A_UINT16 numHainanRevs = sizeof(hainanRevs)/sizeof(A_UINT16);

ANALOG_REV griffinAnalogRevs[] = {
	{5, 0x1},
	{5, 0x2},
};
const A_UINT16 numGriffinAnalogRevs = sizeof(griffinAnalogRevs)/sizeof(ANALOG_REV);

A_UINT16 griffinRevs[] = {
	0x74,  // griffin 1.0
    0x75,  // griffin 1.1
    0x76,  // griffin 2.0
	0x78,  //griffin lite
	0x79   //griffin 2.1
};
const A_UINT16 numGriffinRevs = sizeof(griffinRevs)/sizeof(A_UINT16);

ANALOG_REV griffin2_AnalogRevs[] = {
	{5, 0x5},
	{5, 0x6},
};
const A_UINT16 numGriffin2_AnalogRevs = sizeof(griffin2_AnalogRevs)/sizeof(ANALOG_REV);

A_UINT16 predatorRevs[] = {
	0x80,  // Predator 1.0
	0x81,  // Predator 1.1
};

const A_UINT16 numPredatorRevs = sizeof(predatorRevs)/sizeof(A_UINT16);
#endif //__ATH_DJGPPDOS__

A_UINT16 eagle2Revs[] = {
	0xa2,  // eagle 2.0
	0xa3,  // eagle 2.0
	0xa4,  // eagle 2.1 lite
	0xa5,  // eagle 2.1 super
};

const A_UINT16 numEagle2Revs = sizeof(eagle2Revs)/sizeof(A_UINT16);

ANALOG_REV eagle2AnalogRevs[] = {
	{6, 0x2},
	{6, 0x3},
	{0xb, 0},
};
const A_UINT16 numEagle2AnalogRevs = sizeof(eagle2AnalogRevs)/sizeof(ANALOG_REV);

A_UINT16 condorRevs[] = {
	0x9a,  //condor 2.0 lite
	0x9b,  //condor 2.0 full
	0x98,  //condor 2.0 lite 2424
	0x99,  //condor 2.0 full 2424
	0x9c,  //future proof?
	0x9d,  //future proof?
	0x9e,  //future proof?
	0x9f,  //future proof?
	0xa0,  //hawk 3.2 lite g only
	0xa1,  //hawk 3.2 full g only
	0xa2,  //condor 3.2 lite
	0xa3,  //condor 3.2 full
};

const A_UINT16 numCondorRevs = sizeof(condorRevs)/sizeof(A_UINT16);

ANALOG_REV condorAnalogRevs[] = {
	{7, 0x1},
	{0xa, 0x2},
};
const A_UINT16 numCondorAnalogRevs = sizeof(condorAnalogRevs)/sizeof(ANALOG_REV);

#ifndef __ATH_DJGPPDOS__
DEVICE_INIT_DATA ar5kInitData[] = {
//	{0x0012, NULL, 0, NULL, 0, 0x0012,								//Identifiers
//	 boss_0012, sizeof(boss_0012)/sizeof(ATHEROS_REG_FILE),			//register file
//	 &maui2API, &sombrero_beanieAPI, &veniceArtAniAPI,				//APIs
//	 2, boss_0012_mode, sizeof(boss_0012_mode)/sizeof(MODE_INFO),   //Mode file
//	 CFG_VERSION_STRING_0012 },										//configuraton string

//	{0xff12, NULL, 0, NULL, 0, 0x0012,						    	//Identifiers
//	 boss_0012, sizeof(boss_0012)/sizeof(ATHEROS_REG_FILE),         //Register file
//	 &maui2API, &sombrero_beanieAPI, &veniceArtAniAPI,              //APIs
//	 2, boss_0012_mode, sizeof(boss_0012_mode)/sizeof(MODE_INFO),   //Mode file
//	 CFG_VERSION_STRING_0012 },                                     //configuration string


//			{DONT_MATCH, derby2_1Revs, numderby2_1Revs, veniceRevs, numVeniceRevs, SW_DEVICE_ID_VENICE_DERBY2, //Identifiers
//	 venice_derby2_1,  sizeof(venice_derby2_1)/sizeof(ATHEROS_REG_FILE),		//Register file
//	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,							//APIs
//	 3, venice_derby2_1_mode, sizeof(venice_derby2_1_mode)/sizeof(MODE_INFO), //Mode file
//	 CFG_VERSION_STRING_d016 },											//configuration string

	//will only point to this structure if want to load EAR from EEPROM
//			{DONT_MATCH, derby2_1Revs, numderby2_1Revs, veniceRevs, numVeniceRevs, SW_DEVICE_ID_VENICE_DERBY2, //Identifiers
//			 venice_derby2_1_ear,  sizeof(venice_derby2_1_ear)/sizeof(ATHEROS_REG_FILE),		//Register file
//	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,								//APIs
//			 3, venice_derby2_1_mode_ear, sizeof(venice_derby2_1_mode_ear)/sizeof(MODE_INFO), //Mode file
//			 CFG_VERSION_STRING_d016_EAR },											//configuration string

			{DONT_MATCH, derby2_1Revs, numderby2_1Revs, hainanRevs, numHainanRevs, SW_DEVICE_ID_HAINAN_DERBY, //Identifiers
	 hainan_derby2_1,  sizeof(hainan_derby2_1)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,								//APIs
	 3, hainan_derby2_1_mode, sizeof(hainan_derby2_1_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_d017 },												//configuration string

	//will only point to this structure if want to load EAR from EEPROM
			{DONT_MATCH, derby2_1Revs, numderby2_1Revs, hainanRevs, numHainanRevs, SW_DEVICE_ID_HAINAN_DERBY, //Identifiers
			 hainan_derby2_1_ear,  sizeof(hainan_derby2_1_ear)/sizeof(ATHEROS_REG_FILE),		//Register file
	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,							//APIs
			 3, hainan_derby2_1_mode_ear, sizeof(hainan_derby2_1_mode_ear)/sizeof(MODE_INFO), //Mode file
			 CFG_VERSION_STRING_d017_EAR },											//configuration string

	{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, 0x0018, //Identifiers
	 griffin2,  sizeof(griffin2)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, griffin2_mode, sizeof(griffin2_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_c018 },												//configuration string

	//will only point to this structure if want to load EAR from EEPROM
	//This is to support hainan ear, which must use same frozen venice_derby config file
			{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, SW_DEVICE_ID_GRIFFIN, //Identifiers
			 hainan_derby2_1_ear,  sizeof(hainan_derby2_1_ear)/sizeof(ATHEROS_REG_FILE),		//Register file
	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,							//APIs
			 3, hainan_derby2_1_mode_ear, sizeof(hainan_derby2_1_mode_ear)/sizeof(MODE_INFO), //Mode file
			 CFG_VERSION_STRING_d017_EAR },											//configuration string

			{DONT_MATCH, derby2_1Revs, numderby2_1Revs, predatorRevs, numPredatorRevs, SW_DEVICE_ID_PREDATOR, //Identifiers
	 predator_derby2_1,  sizeof(predator_derby2_1)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,								//APIs
	 3, predator_derby2_1_mode, sizeof(predator_derby2_1_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_00b0 },												//configuration string

	{DONT_MATCH, eagle2AnalogRevs, numEagle2AnalogRevs, eagle2Revs, numEagle2Revs, SW_DEVICE_ID_EAGLE, //Identifiers
	 eagle2,  sizeof(eagle2)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, eagle2_mode, sizeof(eagle2_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_d019 },												//configuration string

	{DONT_MATCH, condorAnalogRevs, numCondorAnalogRevs, condorRevs, numCondorRevs, SW_DEVICE_ID_CONDOR, //Identifiers
	 condor,  sizeof(condor)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, condor_mode, sizeof(condor_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_0020 },												//configuration string

//	{0xff19, NULL, 0, NULL, 0, SW_DEVICE_ID_CONDOR, //Identifiers
//	 condor,  sizeof(condor)/sizeof(ATHEROS_REG_FILE),	//Register file
//	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
//	 3, condor_mode, sizeof(condor_mode)/sizeof(MODE_INFO), //Mode file
//	 CFG_VERSION_STRING_0020 },												//configuration string

//	{0x001c, NULL, 0, NULL, 0, SW_DEVICE_ID_CONDOR, //Identifiers
//	 condor,  sizeof(condor)/sizeof(ATHEROS_REG_FILE),	//Register file
//	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
//	 3, condor_mode, sizeof(condor_mode)/sizeof(MODE_INFO), //Mode file
//	 CFG_VERSION_STRING_0020 },												//configuration string

};
#else
DEVICE_INIT_DATA ar5kInitData[] = {
//Special set for dos Keep the duplicate set
//to be compatible with code 
#ifndef DOS_CLIENT
//	{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, 0x0018, //Identifiers
//	 griffin2,  sizeof(griffin2)/sizeof(ATHEROS_REG_FILE),	//Register file
//	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
//	 3, griffin2_mode, sizeof(griffin2_mode)/sizeof(MODE_INFO), //Mode file
//	 CFG_VERSION_STRING_c018 },												//configuration string

	//will only point to this structure if want to load EAR from EEPROM
//	{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, 0x0018, //Identifiers
//	 griffin2,  sizeof(griffin2)/sizeof(ATHEROS_REG_FILE),	//Register file
//	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
//	 3, griffin2_mode, sizeof(griffin2_mode)/sizeof(MODE_INFO), //Mode file
//	 CFG_VERSION_STRING_c018 },												//configuration string

	{DONT_MATCH, eagle2AnalogRevs, numEagle2AnalogRevs, eagle2Revs, numEagle2Revs, SW_DEVICE_ID_EAGLE, //Identifiers
	 eagle2,  sizeof(eagle2)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, eagle2_mode, sizeof(eagle2_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_d019 },												//configuration string

	{DONT_MATCH, condorAnalogRevs, numCondorAnalogRevs, condorRevs, numCondorRevs, SW_DEVICE_ID_CONDOR, //Identifiers
	 condor,  sizeof(condor)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &eagleAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, condor_mode, sizeof(condor_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_0020 },												//configuration string
#else
	{DONT_MATCH, derby2_1Revs, numderby2_1Revs, hainanRevs, numHainanRevs, SW_DEVICE_ID_HAINAN_DERBY, //Identifiers
	 hainan_derby2_1,  sizeof(hainan_derby2_1)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,								//APIs
	 3, hainan_derby2_1_mode, sizeof(hainan_derby2_1_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_d017 },												//configuration string

	{DONT_MATCH, derby2_1Revs, numderby2_1Revs, hainanRevs, numHainanRevs, SW_DEVICE_ID_HAINAN_DERBY, //Identifiers
	 hainan_derby2_1,  sizeof(hainan_derby2_1)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &derbyAPI,	&veniceArtAniAPI,								//APIs
	 3, hainan_derby2_1_mode, sizeof(hainan_derby2_1_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_d017 },												//configuration string

	{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, 0x0018, //Identifiers
	 griffin2,  sizeof(griffin2)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, griffin2_mode, sizeof(griffin2_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_c018 },												//configuration string

	{DONT_MATCH, griffin2_AnalogRevs, numGriffin2_AnalogRevs, griffinRevs, numGriffinRevs, 0x0018, //Identifiers
	 griffin2,  sizeof(griffin2)/sizeof(ATHEROS_REG_FILE),	//Register file
	 &veniceAPI, &griffinRfAPI,	&veniceArtAniAPI,								//APIs
	 3, griffin2_mode, sizeof(griffin2_mode)/sizeof(MODE_INFO), //Mode file
	 CFG_VERSION_STRING_c018 },												//configuration string

#endif
};
#endif

A_UINT32 numDeviceIDs = (sizeof(ar5kInitData)/sizeof(DEVICE_INIT_DATA));

⌨️ 快捷键说明

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