📄 maui_cal.h
字号:
/* maui_cal.h - Maui calibration header definitions */
/* Copyright (c) 2000 Atheros Communications, Inc., All Rights Reserved */
#ifndef __INCmauicalh
#define __INCmauicalh
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* === Macro Definitions === */
#define WARNINGS_ON 0
// defines
#define MAX_RATES 8
#define INVALID_INDEX 9999
// unique EEPROM header maps defines
#define EEPROM_SIZE_16K 1
#define EEPROM_MAJOR_VERSION ART_VERSION_MAJOR
#define EEPROM_MINOR_VERSION ART_VERSION_MINOR
#define SENS11A_48 (-69)
#define SENS11A_54 (-68)
// Cardtypes as denoted by subsystem id value
#define ATHEROS_CB10 0x1010 // NOT SUPPORTED
#define ATHEROS_CB11 0x1011 // NOT SUPPORTED
#define ATHEROS_MB10 0x2010 // NOT SUPPORTED
#define ATHEROS_CB20 0x1020
#define ATHEROS_CB21 0x1021
#define ATHEROS_CB22 0x1022
#define ATHEROS_MB20 0x2020 // NOT SUPPORTED
#define ATHEROS_MB21 0x2021 // NOT SUPPORTED
#define ATHEROS_MB22 0x2022
#define ATHEROS_MB23 0x2023
#define ATHEROS_CB21G 0x1025
#define ATHEROS_CB22G 0x1026
#define ATHEROS_MB21G 0x2025
#define ATHEROS_MB22G 0x2026
#define ATHEROS_MB31G_DESTUFF 0x2030
#define ATHEROS_MB32AG 0x2031
#define ATHEROS_MB22G_DESTUFF 0x2027
#define ATHEROS_MB22AG_SINGLE 0x2029
#define ATHEROS_MB23_JAPAN 0x2024
#define ATHEROS_CB31G_DESTUFF 0x1030
#define ATHEROS_CB32AG 0x1031
#define ATHEROS_CB22G_DESTUFF 0x1027
#define ATHEROS_CB22AG_SINGLE 0x1029
#define ATHEROS_AP30 0xa032
#define ATHEROS_AP30_040 0xa034
#define ATHEROS_AP21 0xa021
#define devID_CB20 0x0011
#define devID_CB21 0x0012
#define devID_CB22 0x0012
#define devID_AP21 0x0011
#define devID_MB22 0x0012
#define devID_MB23 0x0012
#define MODE_11g 0
#define MODE_11b 1
#define MODE_11a 2
#define BASE 0
// Setup files
#define CALSETUP_FILE "calsetup.txt"
#define MACID_FILE "macid.txt"
#define EEP_FILE "atheros-eep.txt"
//EEPROM related parameters
#define NUM_BAND_EDGES 8
#define NUM_TARGET_POWER_CHANNELS 8
#define NUM_TARGET_POWER_CHANNELS_11b 2
#define NUM_TARGET_POWER_CHANNELS_11g 3
#define NUM_PIERS 10
#define NUM_PIERS_2p4 3
#define NUM_TEST_CHANNELS 32 // max # of test channels
#define NUM_CORNER_FIX_CHANNELS 4
#define CAL_FORMAT_GEN2 0
#define CAL_FORMAT_GEN3 1
#define SWAP_BYTES16(x) ((((x) >> 8) & 0xFF) | (((x) << 8) & 0xFF00))
#define INVALID_FG 10
#define NUM_VERIFY_DATA_PATTERNS 8
#define LEN_VERIFY_DATA_PATTERNS 8
//#define VERIFY_DATA_PACKET_LEN 3000
typedef struct golenParams_t {
A_UINT16 channelStart;
A_UINT16 channelStop;
A_UINT16 channelStep;
A_UINT16 measurementStep;
A_UINT16 pcdacStart;
A_UINT16 pcdacStop;
A_UINT16 pcdacStep;
A_UINT16 numIntercepts;
#ifdef LINUX
A_UINT16 pInterceptPercentages[11];
#else
A_UINT16 pInterceptPercentages[11];
#endif
} GOLDEN_PARAMS ;
typedef struct calSetup_t {
// keep all values 32-bit as needed by sscanf
A_UINT32 benchId;
A_BOOL useInstruments;
A_UINT32 subsystemID;
A_UINT32 dutPromSize;
A_UINT32 subVendorID;
A_UINT32 countryOrDomain;
A_UINT32 worldWideRoaming;
A_UINT32 countryOrDomainCode;
A_BOOL calPower;
A_BOOL useFastCal; // power meter or golden unit
A_BOOL reprogramTargetPwr;
A_BOOL testOBW;
A_BOOL testSpecMask;
A_BOOL testTXPER;
A_BOOL testRXSEN;
A_BOOL testTURBO;
A_BOOL testHALFRATE; // 10 MHz bandwidth
A_BOOL testTargetPowerControl[3]; // a/b/g mode
double targetPowerToleranceUpper;
double targetPowerToleranceLower;
A_INT32 goldenPPM;
A_UINT32 goldenPCDAC;
double goldenTXPower;
A_UINT32 goldenPCDAC_2p4[2];
double goldenTXPower_2p4[2];
A_UINT32 pmModel;
A_UINT32 pmGPIBaddr;
A_UINT32 saGPIBaddr;
A_UINT32 attGPIBaddr;
double attenDutPM;
double attenDutSA;
double attenDutGolden;
double attenDutPM_2p4[2];
double attenDutSA_2p4[2];
double attenDutGolden_2p4[2];
A_UINT32 numEthernetPorts; // Number of Ethernet ports. Valid Only for APs
A_UINT32 startEthernetPort; // Begining ethernet port: AP38 has enet1 enabled but enet0 disabled
// Common parameters
A_UINT32 turboDisable;
A_UINT32 turboDisable_11g;
A_UINT32 RFSilent;
A_UINT32 deviceType;
double TurboMaxPower_5G;
double TurboMaxPower_11g;
A_UINT32 Amode;
A_UINT32 Bmode;
A_UINT32 Gmode;
A_INT32 antennaGain5G; // 8-bit signed value. 0.5 dB steps
A_INT32 antennaGain2p5G; // 8-bit signed value. 0.5 dB steps
// 11a parameters (5GHz)
A_UINT32 switchSettling;
A_UINT32 txrxAtten;
A_UINT32 ob_1;
A_UINT32 db_1;
A_UINT32 ob_2;
A_UINT32 db_2;
A_UINT32 ob_3;
A_UINT32 db_3;
A_UINT32 ob_4;
A_UINT32 db_4;
A_UINT32 txEndToXLNAOn;
A_UINT32 thresh62;
A_UINT32 txEndToXPAOff;
A_UINT32 txFrameToXPAOn;
A_UINT32 xpd;
A_UINT32 xgain;
A_UINT32 xlnaGain;
A_INT32 noisefloor_thresh;
A_INT32 adcDesiredSize; // 8-bit signed value. 0.5 dB steps
A_INT32 pgaDesiredSize; // 8-bit signed value. 0.5 dB steps
A_UINT32 antennaControl[11];
A_UINT32 fixed_bias[3];
A_BOOL do_iq_cal;
A_UINT32 iqcal_i_corr[3];
A_UINT32 iqcal_q_corr[3];
// 2.4 GHz parameters
A_UINT32 switchSettling_2p4[2];
A_UINT32 txrxAtten_2p4[2];
A_UINT32 ob_2p4[2];
A_UINT32 db_2p4[2];
A_UINT32 b_ob_2p4[2];
A_UINT32 b_db_2p4[2];
A_UINT32 txEndToXLNAOn_2p4[2];
A_UINT32 thresh62_2p4[2];
A_UINT32 txEndToXPAOff_2p4[2];
A_UINT32 txFrameToXPAOn_2p4[2];
A_UINT32 xpd_2p4[2];
A_UINT32 xgain_2p4[2];
A_UINT32 xlnaGain_2p4[2];
A_INT32 noisefloor_thresh_2p4[2];
A_INT32 adcDesiredSize_2p4[2]; // 8-bit signed value
A_INT32 pgaDesiredSize_2p4[2]; // 8-bit signed value
A_UINT32 antennaControl_2p4[2][11];
A_BOOL readFromFile; //flag to decide whether to read from file or make fresh measurements
char rawDataFilename[122]; // filename to read data from
A_BOOL customerDebug;
A_BOOL showTimingReport;
char macidFile[122]; // filename to read the macIDs from
A_BOOL forcePiers ;
A_UINT16 piersList[15];
A_UINT32 numForcedPiers;
A_BOOL forcePiers_2p4[2] ;
A_UINT16 piersList_2p4[2][15];
A_UINT32 numForcedPiers_2p4[2];
A_BOOL useOneCal; // use 11g cal for 11b as well
char tgtPwrFilename[122];
A_BOOL readFromFile_2p4[2]; // 0 -> OFDM @ 2.4, 1 -> 11b
char rawDataFilename_2p4[2][122];
A_BOOL testSpecMask_2p4[2];
A_BOOL testTXPER_2p4[2];
A_BOOL testRXSEN_2p4[2];
A_BOOL testTURBO_2p4[2];
A_BOOL testTempMargin[3];
A_BOOL test32KHzSleepCrystal;
A_BOOL testDataIntegrity[3];
A_INT32 targetSensitivity[3][NUM_TEST_CHANNELS];
char goldenIPAddr[132];
A_UINT32 caseTemperature;
A_UINT32 falseDetectBackoff[3];
A_UINT32 perPassLimit;
A_UINT32 senPassLimit;
A_INT32 ppmMaxLimit;
A_INT32 ppmMinLimit;
A_UINT32 maskFailLimit;
double maxPowerCap[3];
double cck_ofdm_delta;
double ch14_filter_cck_delta;
A_UINT32 maxRetestIters;
A_UINT32 cal_fixed_gain[3];
A_UINT32 eeprom_map; // 0 for legacy 2nd gen cal format, 1 for 3rd gen cal format
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -