AgN4010WSOAPI.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:24k
源码类别:

MTK

开发平台:

C++ Builder

  1. //#include "stdafx.h"
  2. #if defined(__cplusplus)
  3. #include <comdef.h>
  4. #else
  5. #define true TRUE
  6. #define false FALSE
  7. #endif
  8. enum enumWindowType
  9. {
  10.     enumWindowType_Uniform = 0,
  11.     enumWindowType_Hanning = 1,
  12.     enumWindowType_Gaussian = 2,
  13.     enumWindowType_FlatTop = 3,
  14. };
  15. enum enumModulationFormat
  16. {
  17.     enumModulationFormat_BPSK = 0, // 6 Mbps, 9 Mbps
  18.     enumModulationFormat_QPSK = 1, // 12 Mbps, 18 Mbps
  19.     enumModulationFormat_QAM16 = 2, // 24 Mbps, 36 Mbps
  20.     enumModulationFormat_QAM64 = 3, // 48 Mbps, 54 Mbps
  21.     enumModulationFormat_PSK8 = 4,
  22.     enumModulationFormat_Barker1 = 5,
  23.     enumModulationFormat_Barker2 = 6,
  24.     enumModulationFormat_CCK5_5 = 7,
  25.     enumModulationFormat_CCK11 = 8,
  26.     enumModulationFormat_PBCC5_5 = 9,
  27.     enumModulationFormat_PBCC11 = 10,
  28.     enumModulationFormat_PBCC22 = 11,
  29.     enumModulationFormat_PBCC33 = 12,
  30.     enumModulationFormat_Unknown = 99
  31. };
  32. enum enumTriggerStyle
  33. {
  34.     enumTriggerStyle_FreeRun  = 1,
  35.     enumTriggerStyle_MagLevel = 2,
  36.     enumTriggerStyle_External = 3,
  37. };
  38. enum enumGatedSpectrum_SpectrumWidth
  39. {
  40.     enumGatedSpectrum_SpectrumWidthEnum_Width_22MHz = 1,
  41.     enumGatedSpectrum_SpectrumWidthEnum_Width_44MHz = 2,
  42.     enumGatedSpectrum_SpectrumWidthEnum_Width_66MHz = 3
  43. };
  44. enum enumGatedSpectrum_AveragingStyle
  45. {
  46.     enumGatedSpectrum_AveragingStyleEnum_RMS = 1,
  47.     enumGatedSpectrum_AveragingStyleEnum_RMSExponential = 2,
  48.     enumGatedSpectrum_AveragingStyleEnum_Time = 3,
  49.     enumGatedSpectrum_AveragingStyleEnum_TimeExponential = 4,
  50.     enumGatedSpectrum_AveragingStyleEnum_PeakHold = 5,
  51. #if defined(__IP_3_9__) || defined(__IP_4_4__)
  52. enumGatedSpectrum_AveragingStyleEnum_MinPeakHold = 6
  53. #endif
  54. };
  55. enum enumARBDownload_FileTypeOption
  56. {
  57.     enumARBDownload_FileTypeOption_SegmentFile = 1,
  58.     enumARBDownload_FileTypeOption_SequenceFile = 2,
  59.     enumARBDownload_FileTypeOption_CheckExisting = 0x80,
  60. };
  61. enum enumCalc_ValueOption
  62. {
  63.     enumCalc_ValueOption_Percent2dB = 1,
  64.     enumCalc_ValueOption_dB2Percent,
  65. };
  66. enum enumAutoRangeExOption
  67. {
  68.     enumAutoRangeExOption_None = 0,
  69.     enumAutoRangeExOption_WaitUntilComplete = 0x1,
  70.     enumAutoRangeExOption_SetPropertyAfterComplete = 0x2,
  71. };
  72. #if defined(__cplusplus)
  73. extern "C" {
  74. #endif
  75. __declspec(dllexport) long _stdcall AgN4010_TurnSelfRangeOn(
  76. #if defined(__cplusplus)
  77. double ddExpectPower_dBm,BOOL boolOn = true);
  78. #else
  79. double ddExpectPower_dBm,BOOL boolOn);
  80. #endif
  81. // Return:
  82. // >= 0, SUCCESS
  83. // < 0, ERROR
  84. __declspec(dllexport) double _stdcall AgN4010_GetSelfRangeValue(const char *lpszPropertyName);
  85. // Return:
  86. // = 999, PROPERTY NOT EXISTS
  87. // others, SUCCESS
  88. //
  89. // Supported Property Name:
  90. //
  91. // ExpectPower
  92. // TriggerLevel_mV_11a
  93. // TriggerLevel_mV_11b
  94. // EVM_PowerRange_dBm_11a
  95. //
  96. __declspec(dllexport) long _stdcall AgN4010_InitViSession(const char *lpszAgN4010Address);
  97. // Return:
  98. // > 0, SUCCESS
  99. // = 0, NULL VI SESSION
  100. // < 0, ERROR
  101. __declspec(dllexport) long _stdcall AgN4010_CloseViSession();
  102. // Return:
  103. // >= 0, SUCCESS
  104. // < 0, ERROR
  105. __declspec(dllexport) long _stdcall AgN4010_Init(
  106. const char *lpszAgN4010Address,
  107. #if defined(__cplusplus)
  108. BOOL boolDeleteARBSequenceFiles = false,
  109. BOOL boolUseInternalLicense = true,
  110. BOOL boolVsaVisible = false,
  111. BOOL boolWtaVisible = false);
  112. #else
  113. BOOL boolDeleteARBSequenceFiles,
  114. BOOL boolUseInternalLicense,
  115. BOOL boolVsaVisible,
  116. BOOL boolWtaVisible);
  117. #endif
  118. // Return:
  119. // >= 0, SUCCESS
  120. // < 0, ERROR
  121. //__declspec(dllexport) long _stdcall AgN4010_Get_Obj89607(_variant_t Obj89607);
  122. // Return:
  123. // >= 0, SUCCESS
  124. // < 0, ERROR
  125. //__declspec(dllexport) long _stdcall AgN4010_Get_Obj89601(_variant_t Obj89601);
  126. // Return:
  127. // >= 0, SUCCESS
  128. // < 0, ERROR
  129. __declspec(dllexport) long _stdcall AgN4010_Preset();
  130. // Return:
  131. // >= 0, SUCCESS
  132. // < 0, ERROR
  133. __declspec(dllexport) long _stdcall AgN4010_SelfTest();
  134. // Return:
  135. // >= 0, SUCCESS
  136. // < 0, ERROR
  137. __declspec(dllexport) long _stdcall AgN4010_Close();
  138. // Return:
  139. // >= 0, SUCCESS
  140. // < 0, ERROR
  141. __declspec(dllexport) long _stdcall AgN4010_SerialNumber(char *lpszSerialNumber);
  142. // Return:
  143. // >= 0, SUCCESS
  144. // < 0, ERROR
  145. __declspec(dllexport) long _stdcall AgN4010_DigitalAnalyzer_Setup_11ag(
  146. double ddCenterFrequency_MHz,
  147. long nMirrorFrequency_false,
  148. long nFramesUsed,
  149. long nMaxSymbolsUsed,
  150. double ddPowerRange_dBm,
  151. enum enumTriggerStyle nTriggerStyle,
  152. double ddTriggerDelay_s,
  153. double ddTriggerLevel_mV);
  154. // Return:
  155. // >= 0, SUCCESS
  156. // < 0, ERROR
  157. __declspec(dllexport) long _stdcall AgN4010_DigitalAnalyzer_Setup_11b(
  158. double ddCenterFrequency_MHz,
  159. long nMirrorFrequency_false,
  160. long nPacketUsed,
  161. double ddMaxPacketLength_s,
  162. double ddPowerRange_dBm,
  163. enum enumTriggerStyle nTriggerStyle,
  164. double ddTriggerDelay_s,
  165. double ddTriggerLevel_mV);
  166. // Return:
  167. // >= 0, SUCCESS
  168. // < 0, ERROR
  169. __declspec(dllexport) long _stdcall AgN4010_RFAnalyzer_Setup(
  170. double ddCenterFrequency_MHz,
  171. enum enumTriggerStyle nTriggerStyle,
  172. double ddTriggerDelay_s,
  173. double ddTriggerLevel_mV,
  174. double ddTriggerHoldOff_s);
  175. // Return:
  176. // >= 0, SUCCESS
  177. // < 0, ERROR
  178. __declspec(dllexport) long _stdcall AgN4010_SetProperty(const char *lpszPropertyName,double Value);
  179. // Return:
  180. // > 0, SUCCESS
  181. // = 0, PROPERTY NOT EXISTS
  182. // < 0, ERROR
  183. //
  184. // Supported Property Name:
  185. //
  186. // AWG_HighPowerMode
  187. //
  188. // CenterFrequency_MHz
  189. // FramesUsed
  190. // MaxPacketLength_s
  191. // MaxSymbolsUsed
  192. // MeasurementOffset_11ag
  193. // MeasurementOffset_11b
  194. // PowerRange
  195. // ShowSplashScreen
  196. // SubcarrierSpacing_KHz
  197. // TrackPhase
  198. // TriggerDelay_s
  199. // TriggerLevel_mV
  200. // TriggerStyle
  201. // UseAlternateSyncSequence
  202. // WindowType
  203. //
  204. // VSA_Visible
  205. //
  206. // WTA_Visible
  207. // WTA_MaxPacketLength_11b
  208. // WTA_PowerRange_11b
  209. // WTA_TriggerLevel_11b
  210. // WTA_MaxSymbolsUsed_11ag
  211. // WTA_PowerRange_11ag
  212. // WTA_TriggerLevel_11ag
  213. //
  214. // API_GatedSpectrum_Width
  215. // API_GatedSpectrum_AveragingStyle
  216. // API_GatedSpectrum_NumAverages
  217. //
  218. __declspec(dllexport) long _stdcall AgN4010_GetProperty(const char *lpszPropertyName,double *lpValue);
  219. // Return:
  220. // > 0, SUCCESS
  221. // = 0, PROPERTY NOT EXISTS
  222. // < 0, ERROR
  223. //
  224. // Read-only property
  225. // AutoRange_PowerRange_11ag
  226. // AutoRange_TriggerLevel_mV_11ag
  227. // AutoRange_MaxPacketLength_s_11ag
  228. // AutoRange_MaxSymbolsUsed_11ag
  229. //
  230. // Autorange_PowerRange_11b
  231. // Autorange_TriggerLevel_mV_11b
  232. // Autorange_MaxPacketLength_s_11b
  233. //
  234. __declspec(dllexport) long _stdcall AgN4010_Measure_ALL_11b(
  235. double *lpddEVM,
  236. double *lpddFreqErr_ppm,
  237. #if defined(__cplusplus)
  238. BOOL boolForceInit = true);
  239. #else
  240. BOOL boolForceInit);
  241. #endif
  242. // Return:
  243. // > 0, SUCCESS
  244. // = 0, OVER LOAD
  245. // < 0, ERROR
  246. __declspec(dllexport) long _stdcall AgN4010_Measure_ALL_11ag(
  247. double *lpddEVM,
  248. double *lpddFreqErr_ppm,
  249. double *lpddCFL,
  250. double *lpddSpecFlatnessMargin,
  251. double ddSpecFlatnessFreqArray[],
  252. long *lpnSpecFlatnessFreqArraySize,
  253. #if defined(__cplusplus)
  254. BOOL boolForceInit = true);
  255. #else
  256. BOOL boolForceInit);
  257. #endif
  258. // Return:
  259. // > 0, SUCCESS
  260. // = 0, OVER LOAD
  261. // < 0, ERROR
  262. // Note:
  263. // 1. value of *lpddSpecFlatnessMargin
  264. // A positive value indicates the minimum margin by which the PSD passed
  265. // this test. A negative value indicates the worst case amount by which
  266. // the PSD failed this test.
  267. __declspec(dllexport) long _stdcall AgN4010_Measure_Demod_ALL_11ag(
  268. double *lpddRmsEVM,
  269. double *lpddFreqErr_ppm);
  270. // Return:
  271. // > 0, SUCCESS
  272. // = 0, OVER LOAD
  273. // < 0, ERROR
  274. __declspec(dllexport) long _stdcall AgN4010_Measure_Demod_ALL_11b(
  275. double *lpddPeakEVM,
  276. double *lpddFreqErr_ppm);
  277. // Return:
  278. // > 0, SUCCESS
  279. // = 0, OVER LOAD
  280. // < 0, ERROR
  281. __declspec(dllexport) long _stdcall AgN4010_Measure_SpectralMask_11ag(
  282. double *lpddMargin_dB,
  283. double *lpddRefLevelResult_dBm,
  284. long *lpnNumSpecPoints,
  285. double ddFreqArray[],
  286. double ddAmplArray[],
  287. #if defined(__cplusplus)
  288. BOOL boolForceInit = true);
  289. #else
  290. BOOL boolForceInit);
  291. #endif
  292. // Return:
  293. // > 0, SUCCESS
  294. // = 0, OVER LOAD
  295. // < 0, ERROR
  296. // Note:
  297. // 1. value of *lpddSpecFlatnessMargin
  298. // A positive value indicates the minimum margin by which the PSD passed
  299. // this test. A negative value indicates the worst case amount by which
  300. // the PSD failed this test.
  301. __declspec(dllexport) long _stdcall AgN4010_Measure_SpectralMask_11b(
  302. double *lpddMargin_dB,
  303. double *lpddRefLevelResult_dBm,
  304. long *lpnNumSpecPoints,
  305. double ddFreqArray[],
  306. double ddAmplArray[],
  307. #if defined(__cplusplus)
  308. BOOL boolForceInit = true);
  309. #else
  310. BOOL boolForceInit);
  311. #endif
  312. // Return:
  313. // > 0, SUCCESS
  314. // = 0, OVER LOAD
  315. // < 0, ERROR
  316. // Note:
  317. // 1. value of *lpddSpecFlatnessMargin
  318. // A positive value indicates the minimum margin by which the PSD passed
  319. // this test. A negative value indicates the worst case amount by which
  320. // the PSD failed this test.
  321. __declspec(dllexport) long _stdcall AgN4010_Measure_AveragePower(
  322. double *lpddAvgPower_dBm);
  323. // Return:
  324. // > 0, SUCCESS
  325. // = 0, OVER LOAD
  326. // < 0, ERROR
  327. //
  328. // Instrument settings affecting this mesurement
  329. // CenterFrequency
  330. // MaxPacketLength
  331. // PowerRange
  332. // TriggerStyle
  333. // TriggerLevel
  334. // TriggerHoldoff
  335. // TriggerDelay
  336. __declspec(dllexport) long _stdcall AgN4010_MeasureEx_AveragePower(
  337. double *lpddAvgPower_dBm);
  338. // Return:
  339. // > 0, SUCCESS
  340. // = 0, OVER LOAD
  341. // < 0, ERROR
  342. //
  343. // Instrument settings affecting this mesurement
  344. // CenterFrequency
  345. // MaxPacketLength
  346. // PowerRange
  347. // TriggerStyle
  348. // TriggerLevel
  349. // TriggerHoldoff
  350. // TriggerDelay
  351. __declspec(dllexport) long _stdcall AgN4010_Measure_CarrierSuppression_dB_11b(
  352. double *lpddSuppression_dB,
  353. #if defined(__cplusplus)
  354. BOOL boolForceInit = true);
  355. #else
  356. BOOL boolForceInit);
  357. #endif
  358. // Return:
  359. // > 0, SUCCESS
  360. // = 0, OVER LOAD
  361. // < 0, ERROR
  362. __declspec(dllexport) long _stdcall AgN4010_ARB_DownloadEx(const char *lpszWildcard
  363. ,enum enumARBDownload_FileTypeOption enumFileTypeOption);
  364. // Return:
  365. // > 0, THE NUMBERS OF DOWNLOADED FILES
  366. // = 0, NO FILES WERE DOWNLOADED
  367. // < 0, ERROR
  368. __declspec(dllexport) long _stdcall AgN4010_ARB_Download(const char *lpszSegmentPath);
  369. // Return:
  370. // > 0, THE NUMBERS OF DOWNLOADED FILES
  371. // = 0, NO FILES WERE DOWNLOADED
  372. // < 0, ERROR
  373. __declspec(dllexport) long _stdcall AgN4010_ARB_Select_Sequence(
  374. const char *lpszSequenceFile,
  375. double ddLevel_dBm,
  376. double ddOffsetFrequency_MHz,
  377. long nSamplingRate_MHz);
  378. // Return:
  379. // >= 0, SUCCESS
  380. // < 0, ERROR
  381. __declspec(dllexport) long _stdcall AgN4010_ARB_Play_Segment(
  382. const char *lpszSegmentFile,
  383. double ddLevel_dBm,
  384. double ddOffsetFrequency_MHz,
  385. long nSamplingRate_MHz);
  386. // Return:
  387. // >= 0, SUCCESS
  388. // < 0, ERROR
  389. __declspec(dllexport) long _stdcall AgN4010_ARB_Select_Sequence_11ag(
  390. const char *lpszSequenceFile,
  391. double ddLevel_dBm,
  392. double ddOffsetFrequency_MHz);
  393. // Return:
  394. // >= 0, SUCCESS
  395. // < 0, ERROR
  396. __declspec(dllexport) long _stdcall AgN4010_ARB_Play_Segment_11ag(
  397. const char *lpszSegmentFile,
  398. double ddLevel_dBm,
  399. double ddOffsetFrequency_MHz);
  400. // Return:
  401. // >= 0, SUCCESS
  402. // < 0, ERROR
  403. __declspec(dllexport) long _stdcall AgN4010_ARB_Select_Sequence_11b(
  404. const char *lpszSequenceFile,
  405. double ddLevel_dBm,
  406. double ddOffsetFrequency_MHz);
  407. // Return:
  408. // >= 0, SUCCESS
  409. // < 0, ERROR
  410. // Note:
  411. // 1. ddLevel_dBm must be between -90 and -15 dBm
  412. __declspec(dllexport) long _stdcall AgN4010_ARB_Play_Segment_11b(
  413. const char *lpszSegmentFile,
  414. double ddLevel_dBm,
  415. double ddOffsetFrequency_MHz);
  416. // Return:
  417. // >= 0, SUCCESS
  418. // < 0, ERROR
  419. // Note:
  420. // 1. ddLevel_dBm must be between -90 and -15 dBm
  421. __declspec(dllexport) long _stdcall AgN4010_ARB_TriggerSequence();
  422. // Return:
  423. // >= 0, SUCCESS
  424. // < 0, ERROR
  425. __declspec(dllexport) long _stdcall AgN4010_ARB_Stop(
  426. #if defined(__cplusplus)
  427. long boolWaitUntilStopPlaying = true);
  428. #else
  429. long boolWaitUntilStopPlaying);
  430. #endif
  431. // Return:
  432. // >= 0, SUCCESS
  433. // < 0, ERROR
  434. __declspec(dllexport) long _stdcall AgN4010_ARB_Delete_Sequence(
  435. const char *lpszSequenceFile);
  436. // Return:
  437. // >= 0, SUCCESS
  438. // < 0, ERROR
  439. __declspec(dllexport) long _stdcall AgN4010_ARB_Delete_Segment(
  440. const char *lpszSegmentFile);
  441. // Return:
  442. // >= 0, SUCCESS
  443. // < 0, ERROR
  444. __declspec(dllexport) long _stdcall AgN4010_ARB_FreeSegmentSpace();
  445. // Return:
  446. // >= 0, SUCCESS (free spaces in bytes)
  447. // < 0, ERROR
  448. __declspec(dllexport) long _stdcall AgN4010_ARB_CWTone(
  449.         double ddLevel_dBm,
  450.         double ddOffsetFrequency_MHz);
  451. // Return:
  452. // >= 0, SUCCESS
  453. // < 0, ERROR
  454. __declspec(dllexport) long _stdcall AgN4010_ARB_SaveSegment(
  455. const char *lpszSegmentFile,
  456. const char *lpszSaveAsWindowsFilename);
  457. // Return:
  458. // >= 0, SUCCESS
  459. // < 0, ERROR
  460. __declspec(dllexport) long _stdcall AgN4010_ARB_CreateSequenceFile();
  461. // Return:
  462. // >= 0, SUCCESS
  463. // < 0, ERROR
  464. __declspec(dllexport) long _stdcall AgN4010_ARB_SequenceFile_AddSegment(
  465. const char *lpszSegmentName,
  466.         long nRepetitions);
  467. // Return:
  468. // >= 0, SUCCESS
  469. // < 0, ERROR
  470. __declspec(dllexport) long _stdcall AgN4010_ARB_SequenceFile_Save(
  471.         const char *lpszWindowsFileName);
  472. // Return:
  473. // >= 0, SUCCESS
  474. // < 0, ERROR
  475. __declspec(dllexport) long _stdcall AgN4010_GatedSpectrum(
  476. enum enumGatedSpectrum_SpectrumWidth nSpectrumWidthEnum,
  477. enum enumGatedSpectrum_AveragingStyle nAveragingStyle,
  478. long nNumAverages,
  479. long *lpnNumMeasurementPoints,
  480. double ddFreqArray[],
  481. double ddPowerArray[],
  482. double *lpddBandPower_dBm);
  483. // Return:
  484. // > 0, SUCCESS
  485. // = 0, OVER LOAD
  486. // < 0, ERROR
  487. //
  488. // Instrument settings affecting this mesurement
  489. // CenterFrequency
  490. // MaxPacketLength
  491. // PowerRange
  492. // TriggerStyle
  493. // TriggerLevel
  494. // TriggerHoldoff
  495. // TriggerDelay
  496. __declspec(dllexport) long _stdcall AgN4010_Calibrate();
  497. // Return:
  498. // >= 0, SUCCESS
  499. // < 0, ERROR
  500. __declspec(dllexport) long _stdcall AgN4010_CalibrationRunning(
  501. #if defined(__cplusplus)
  502. BOOL boolLogit = false);
  503. #else
  504. BOOL boolLogit);
  505. #endif
  506. // Return:
  507. // = 1, CALIBRATION IS RUNNING
  508. // = 0, CALIBRATION NOT RUNNING
  509. // < 0, ERROR
  510. __declspec(dllexport) long _stdcall AgN4010_ARB_SourceActive();
  511. // Return:
  512. // > 0, is ACTIVE
  513. // = 0, not ACTIVE
  514. // < 0, ERROR
  515. __declspec(dllexport) long _stdcall AgN4010_ARB_SequencePlaying(
  516. #if defined(__cplusplus)
  517. BOOL boolLogit = false);
  518. #else
  519. BOOL boolLogit);
  520. #endif
  521. // Return:
  522. // > 0, is playing
  523. // = 0, stop playing
  524. // < 0, ERROR
  525. __declspec(dllexport) long _stdcall AgN4010_Suspend();
  526. // Return:
  527. // >= 0, SUCCESS
  528. // < 0, ERROR
  529. __declspec(dllexport) long _stdcall AgN4010_ActivateInstrument();
  530. // Return:
  531. // >= 0, SUCCESS
  532. // < 0, ERROR
  533. __declspec(dllexport) long _stdcall AgN4010_ARB_GetLoadedSegmentFileList(
  534. char *lpszReturnLoadedSegmentFileList,long nMaxLenz);
  535. // Return:
  536. // >= 0, SUCCESS
  537. // < 0, ERROR
  538. __declspec(dllexport) long _stdcall AgN4010_ARB_GetLoadedSequenceFileList(
  539. char *lpszReturnLoadedSequenceFileList,long nMaxLenz);
  540. // Return:
  541. // >= 0, SUCCESS
  542. // < 0, ERROR
  543. __declspec(dllexport) long _stdcall AgN4010_AutoRangeEx_Run_11ag(
  544. #if defined(__cplusplus)
  545. enum enumAutoRangeExOption enumAutoRangeExOption = enumAutoRangeExOption_None,
  546. double *lpddPowerRange = NULL,
  547. double *lpddTriggerLevel_mV = NULL,
  548. long *lpnMaxSymbolsUsed = NULL,
  549. double *lpddMaxPacketLength_s = NULL);
  550. #else
  551. enum enumAutoRangeExOption enumAutoRangeExOption,
  552. double *lpddPowerRange,
  553. double *lpddTriggerLevel_mV,
  554. long *lpnMaxSymbolsUsed,
  555. double *lpddMaxPacketLength_s);
  556. #endif
  557. // Return:
  558. // > 0, complete
  559. // = 0, is running
  560. // < 0, ERROR
  561. __declspec(dllexport) long _stdcall AgN4010_AutoRangeEx_Run_11b(
  562. #if defined(__cplusplus)
  563. enum enumAutoRangeExOption enumAutoRangeExOption = enumAutoRangeExOption_None,
  564. double *lpddPowerRange = NULL,
  565. double *lpddTriggerLevel_mV = NULL,
  566. double *lpddMaxPacketLength_s = NULL);
  567. #else
  568. enum enumAutoRangeExOption enumAutoRangeExOption,
  569. double *lpddPowerRange,
  570. double *lpddTriggerLevel_mV,
  571. double *lpddMaxPacketLength_s);
  572. #endif
  573. // Return:
  574. // > 0, complete
  575. // = 0, is running
  576. // < 0, ERROR
  577. __declspec(dllexport) long _stdcall AgN4010_AutoRange_Run_11ag();
  578. // Return:
  579. // >= 0, SUCCESS
  580. // < 0, ERROR
  581. __declspec(dllexport) long _stdcall AgN4010_AutoRange_Run_11b();
  582. // Return:
  583. // >= 0, SUCCESS
  584. // < 0, ERROR
  585. __declspec(dllexport) long _stdcall AgN4010_AutoRange_Running(
  586. #if defined(__cplusplus)
  587. BOOL boolLogit = false);
  588. #else
  589. BOOL boolLogit);
  590. #endif
  591. // Return:
  592. // > 0, is running
  593. // = 0, stop running
  594. // < 0, ERROR
  595. __declspec(dllexport) long _stdcall AgN4010_Measure_CWFrequencyOffset(
  596. double *lpddFrequencyOffset);
  597. // Return:
  598. // > 0, SUCCESS
  599. // = 0, OVER LOAD
  600. // < 0, ERROR
  601. //------------------------------------------------------------------------------
  602. // extra APIs
  603. //
  604. __declspec(dllexport) long _stdcall AgN4010_MeasureEx_SpectralMask_11ag(
  605. long nPoints,
  606. const double ddFreqArray_Hz[],
  607. const double ddAmplArray_dBm[],
  608. double ddAmplMaskArray_dBm[],
  609. double ddFreqOverSpecArray_Hz[],
  610. double ddAmplOverSpecArray_dBm[]);
  611. // Return:
  612. // > 0, the number of points are out of spec
  613. // = 0, No points are out of spec
  614. // < 0, ERROR
  615. __declspec(dllexport) long _stdcall AgN4010_MeasureEx_SpectralMask_11b(
  616. long nPoints,
  617. const double ddFreqArray_Hz[],
  618. const double ddAmplArray_dBm[],
  619. double ddAmplMaskArray_dBm[],
  620. double ddFreqOverSpecArray_Hz[],
  621. double ddAmplOverSpecArray_dBm[]);
  622. // Return:
  623. // > 0, the number of points are out of spec
  624. // = 0, No points are out of spec
  625. // < 0, ERROR
  626. __declspec(dllexport) long _stdcall AgN4010_MeasureEx_OBW(
  627. long nPoints,
  628. const double ddFreqArray[],
  629. const double ddAmplArray[],
  630. double *lpddBandwidth,
  631. #if defined(__cplusplus)
  632. double ddPowerPercent = 99);
  633. #else
  634. double ddPowerPercent);
  635. #endif
  636. // Return:
  637. // >= 0, SUCCESS
  638. // < 0, ERROR
  639. __declspec(dllexport) long _stdcall AgN4010_MeasureEx_Sidelobe_11b(
  640. long nPoints,
  641. const double ddFreqArray[],
  642. const double ddAmplArray[],
  643. double ddSidelobeFreq_Hz[7],
  644. double ddSidelobePower_dBm[7]);
  645. // Return:
  646. // >= 0, SUCCESS
  647. // < 0, ERROR
  648. // Note:
  649. // ddSidelobePower[0],ddSidelobeFreq[0]
  650. // is mainlobe power with frequency in Hz
  651. // ddSidelobePower[1],ddSidelobeFreq[1]
  652. // is the mainlobe power minus max power of 1st sidelobe power with frequency in Hz
  653. // ddSidelobePower[2],ddSidelobeFreq[2]
  654. // is the mainlobe power minus max power of 2nd sidelobe power with frequency in Hz
  655. // ddSidelobePower[3,4],ddSidelobeFreq[3,4]
  656. // is left and right power of 1st sidelobe power with frequency in Hz
  657. // ddSidelobePower[5,6],ddSidelobeFreq[5,6]
  658. // is left and right power of 2nd sidelobe power with frequency in Hz
  659. __declspec(dllexport) long _stdcall AgN4010_WTA_AutoRange_11ag();
  660. // Return:
  661. // >= 0, SUCCESS
  662. // < 0, ERROR
  663. __declspec(dllexport) long _stdcall AgN4010_WTA_AutoRange_11b();
  664. // Return:
  665. // >= 0, SUCCESS
  666. // < 0, ERROR
  667. __declspec(dllexport) long _stdcall AgN4010_Calc_SegmentBurstRMS(
  668. const char *lpszSegmentFilename,double *lpddBurstRMS);
  669. // Return:
  670. // > 0, THE NUMBER OF BURST
  671. // = 0, NO BURST INSIDE
  672. // < 0, ERROR
  673. __declspec(dllexport) long _stdcall AgN4010_Calc_ReduceSegmentBurstRMS(
  674. const char *lpszSegmentFilename,
  675. double ddScaleFactor,
  676. const char *lpszSaveAsSegmentFilename,
  677. double *lpddBurstRMS);
  678. // Return:
  679. // > 0, THE NUMBER OF BURST
  680. // = 0, NO BURST INSIDE
  681. // < 0, ERROR
  682. __declspec(dllexport) double _stdcall AgN4010_Calc_Value(
  683. double ddValue,enum enumCalc_ValueOption enumCalc_ValueOption);
  684. // Return:
  685. // CONVERTED VALUE
  686. __declspec(dllexport) long _stdcall AgN4010_Calc_LimitLine(
  687. long nPoints,
  688. const double ddFreqArray_Hz[],
  689. const double ddAmplArray_dBm[],
  690. long nLimitLinePoints,
  691. const double ddLimitLineArray[],
  692. #if defined(__cplusplus)
  693. double ddAmplMaskArray_dBm[] = NULL,
  694. double ddFreqOverSpecArray_Hz[] = NULL,
  695. double ddAmplOverSpecArray_dBm[] = NULL);
  696. #else
  697. double ddAmplMaskArray_dBm[],
  698. double ddFreqOverSpecArray_Hz[],
  699. double ddAmplOverSpecArray_dBm[]);
  700. #endif
  701. // Return:
  702. // > 0, the number of points are out of spec
  703. // = 0, No points are out of spec
  704. // < 0, ERROR
  705. // ddLimitLineArray of OFDM (nLimitLines = 20):
  706. // (-40e6,-40), (-30e6,-40), (-20e6,-28), (-11e6,-20), (-9e6,0),
  707. // (9e6,0), (11e6,-20), (20e6,-28), (30e6,-40), (40e6,-40)
  708. // ddLimitLineArray of CCK (nLimitLines = 20):
  709. // (-30e6,-50), (-22e6,-50), (-22e6,-30), (-11e6,-30), (-11e6,0),
  710. // (11e6,0), (11e6,-30), (22e6,-30), (22e6,-50), (30e6,-50)
  711. __declspec(dllexport) void _stdcall AgN4010_Log_Open();
  712. __declspec(dllexport) void _stdcall AgN4010_Log_Close();
  713. __declspec(dllexport) void _stdcall AgN4010_Log_LogIt(const char *fmt,...);
  714. __declspec(dllexport) long _stdcall AgN4010_SetBluetoothMode();
  715. // Return:
  716. // >= 0, SUCCESS
  717. // < 0, ERROR
  718. __declspec(dllexport) long _stdcall AgN4010_SetWlanMode();
  719. // Return:
  720. // >= 0, SUCCESS
  721. // < 0, ERROR
  722. __declspec(dllexport) long _stdcall AgN4010_GetExtraMeasureResult(
  723. const char *lpszItemName,double *lpddMeasureResult);
  724. // > 0, SUCCESS
  725. // = 0, PROPERTY NOT EXISTS
  726. // < 0, ERROR
  727. //
  728. // Supported Item Name:
  729. //
  730. // EVM_BurstGood
  731. // EVM_FrequencyError_Hz
  732. // EVM_GatedPower_dBm
  733. // EVM_IQOffset_dB
  734. // EVM_ModulationFormat
  735. // EVM_RmsEVM_Percent
  736. //
  737. __declspec(dllexport) long _stdcall AgN4010_Chart_SpectralMask(
  738. long nPoints,
  739. const double ddFreqArray_Hz[],
  740. const double ddAmplArray_dBm[],
  741. const double ddAmplMaskArray_dBm[],
  742. #if defined(__cplusplus)
  743. const char *lpszCaption = NULL,unsigned long uWaitTime = 0);
  744. #else
  745. const char *lpszCaption,unsigned long uWaitTime);
  746. #endif
  747. // Return:
  748. // >= 0, SUCCESS
  749. // < 0, ERROR
  750. __declspec(dllexport) long _stdcall AgN4010_Chart_Spectrum(
  751. long nPoints,
  752. const double ddFreqArray_Hz[],
  753. const double ddAmplArray_dBm[],
  754. #if defined(__cplusplus)
  755. const char *lpszCaption = NULL,unsigned long uWaitTime = 0);
  756. #else
  757. const char *lpszCaption,unsigned long uWaitTime);
  758. #endif
  759. // Return:
  760. // >= 0, SUCCESS
  761. // < 0, ERROR
  762. __declspec(dllexport) long _stdcall AgN4010_Chart_OBW(
  763. long nPoints,
  764. const double ddFreqArray_Hz[],
  765. const double ddAmplArray_dBm[],
  766. #if defined(__cplusplus)
  767. const char *lpszCaption = NULL,unsigned long uWaitTime = 0);
  768. #else
  769. const char *lpszCaption,unsigned long uWaitTime);
  770. #endif
  771. // Return:
  772. // >= 0, SUCCESS
  773. // < 0, ERROR
  774. __declspec(dllexport) long _stdcall AgN4010_Chart_MultiTraces(
  775. long nPoints,
  776. const double ddFreqArray_Hz[],
  777. long nTraces,
  778. const double *ddTraces,
  779. #if defined(__cplusplus)
  780. const char *lpszTraceNameList = NULL,
  781. const char *lpszCaption = NULL,unsigned long uWaitTime = 0);
  782. #else
  783. const char *lpszTraceNameList,
  784. const char *lpszCaption,unsigned long uWaitTime);
  785. #endif
  786. // Return:
  787. // >= 0, SUCCESS
  788. // < 0, ERROR
  789. __declspec(dllexport) long _stdcall AgN4010_ARBEx_ReSelect(
  790. double ddLevel_dBm,
  791. #if defined(__cplusplus)
  792. double ddOffsetFrequency_MHz = 0);
  793. #else
  794. double ddOffsetFrequency_MHz);
  795. #endif
  796. // Return:
  797. // >= 0, SUCCESS
  798. // < 0, ERROR
  799. __declspec(dllexport) long _stdcall AgN4010_ARBEx_Select_Sequence(
  800. const char *lpszSequenceFile,
  801. double ddLevel_dBm,
  802. double ddOffsetFrequency_MHz,
  803. long nSamplingRate_MHz);
  804. // Return:
  805. // >= 0, SUCCESS
  806. // < 0, ERROR
  807. __declspec(dllexport) long _stdcall AgN4010_ARBEx_Select_Sequence_11ag(
  808. const char *lpszSequenceFile,
  809. double ddLevel_dBm,
  810. double ddOffsetFrequency_MHz);
  811. // Return:
  812. // >= 0, SUCCESS
  813. // < 0, ERROR
  814. __declspec(dllexport) long _stdcall AgN4010_ARBEx_Select_Sequence_11b(
  815. const char *lpszSequenceFile,
  816. double ddLevel_dBm,
  817. double ddOffsetFrequency_MHz);
  818. // Return:
  819. // >= 0, SUCCESS
  820. // < 0, ERROR
  821. __declspec(dllexport) long _stdcall AgN4010_ARBEx_TriggerSequence();
  822. // Return:
  823. // >= 0, SUCCESS
  824. // < 0, ERROR
  825. __declspec(dllexport) long _stdcall AgN4010_ARBEx_Stop(
  826. #if defined(__cplusplus)
  827. long boolWaitUntilStopPlaying = true);
  828. #else
  829. long boolWaitUntilStopPlaying);
  830. #endif
  831. // Return:
  832. // > 0, STOP PLAYING
  833. // = 0, STILL PLAYING
  834. // < 0, ERROR
  835. __declspec(dllexport) long _stdcall AgN4010_ARBEx_CWTone(
  836.         double ddLevel_dBm,
  837.         double ddOffsetFrequency_MHz);
  838. // Return:
  839. // >= 0, SUCCESS
  840. // < 0, ERROR
  841. __declspec(dllexport) long _stdcall AgN4010_TTL_Output(long TTLBits);
  842. // Return:
  843. // >= 0, SUCCESS
  844. // < 0, ERROR
  845. __declspec(dllexport) long _stdcall AgN4010_TTL_SwitchChannel(long nChanNo);
  846. // Return:
  847. // >= 0, SUCCESS
  848. // < 0, ERROR
  849. // Note:
  850. // nChanNo is zero-based
  851. #if defined(__cplusplus)
  852. }
  853. #endif