1/* 2 * Copyright (c) 2004-2005 Atheros Communications Inc. 3 * All rights reserved. 4 * 5 * 6 * $ATH_LICENSE_HOSTSDK0_C$ 7 * 8 */ 9 10#ifndef TESTCMD_H_ 11#define TESTCMD_H_ 12 13#ifdef __cplusplus 14extern "C" { 15#endif 16 17typedef enum { 18 ZEROES_PATTERN = 0, 19 ONES_PATTERN, 20 REPEATING_10, 21 PN7_PATTERN, 22 PN9_PATTERN, 23 PN15_PATTERN 24}TX_DATA_PATTERN; 25 26/* Continous tx 27 mode : TCMD_CONT_TX_OFF - Disabling continous tx 28 TCMD_CONT_TX_SINE - Enable continuous unmodulated tx 29 TCMD_CONT_TX_FRAME- Enable continuous modulated tx 30 freq : Channel freq in Mhz. (e.g 2412 for channel 1 in 11 g) 31dataRate: 0 - 1 Mbps 32 1 - 2 Mbps 33 2 - 5.5 Mbps 34 3 - 11 Mbps 35 4 - 6 Mbps 36 5 - 9 Mbps 37 6 - 12 Mbps 38 7 - 18 Mbps 39 8 - 24 Mbps 40 9 - 36 Mbps 41 10 - 28 Mbps 42 11 - 54 Mbps 43 txPwr: Tx power in dBm[5 -11] for unmod Tx, [5-14] for mod Tx 44antenna: 1 - one antenna 45 2 - two antenna 46Note : Enable/disable continuous tx test cmd works only when target is awake. 47*/ 48 49typedef enum { 50 TCMD_CONT_TX_OFF = 0, 51 TCMD_CONT_TX_SINE, 52 TCMD_CONT_TX_FRAME, 53 TCMD_CONT_TX_TX99, 54 TCMD_CONT_TX_TX100 55} TCMD_CONT_TX_MODE; 56 57typedef PREPACK struct { 58 A_UINT32 testCmdId; 59 A_UINT32 mode; 60 A_UINT32 freq; 61 A_UINT32 dataRate; 62 A_INT32 txPwr; 63 A_UINT32 antenna; 64 A_UINT32 enANI; 65 A_UINT32 scramblerOff; 66 A_UINT32 aifsn; 67 A_UINT16 pktSz; 68 A_UINT16 txPattern; 69} POSTPACK TCMD_CONT_TX; 70 71#define TCMD_TXPATTERN_ZERONE 0x1 72#define TCMD_TXPATTERN_ZERONE_DIS_SCRAMBLE 0x2 73 74/* Continuous Rx 75 act: TCMD_CONT_RX_PROMIS - promiscuous mode (accept all incoming frames) 76 TCMD_CONT_RX_FILTER - filter mode (accept only frames with dest 77 address equal specified 78 mac address (set via act =3) 79 TCMD_CONT_RX_REPORT off mode (disable cont rx mode and get the 80 report from the last cont 81 Rx test) 82 83 TCMD_CONT_RX_SETMAC - set MacAddr mode (sets the MAC address for the 84 target. This Overrides 85 the default MAC address.) 86 87*/ 88typedef enum { 89 TCMD_CONT_RX_PROMIS =0, 90 TCMD_CONT_RX_FILTER, 91 TCMD_CONT_RX_REPORT, 92 TCMD_CONT_RX_SETMAC 93} TCMD_CONT_RX_ACT; 94 95typedef PREPACK struct { 96 A_UINT32 testCmdId; 97 A_UINT32 act; 98 A_UINT32 enANI; 99 PREPACK union { 100 struct PREPACK TCMD_CONT_RX_PARA { 101 A_UINT32 freq; 102 A_UINT32 antenna; 103 } POSTPACK para; 104 struct PREPACK TCMD_CONT_RX_REPORT { 105 A_UINT32 totalPkt; 106 A_INT32 rssiInDBm; 107 } POSTPACK report; 108 struct PREPACK TCMD_CONT_RX_MAC { 109 A_UCHAR addr[ATH_MAC_LEN]; 110 } POSTPACK mac; 111 } POSTPACK u; 112} POSTPACK TCMD_CONT_RX; 113 114/* Force sleep/wake test cmd 115 mode: TCMD_PM_WAKEUP - Wakeup the target 116 TCMD_PM_SLEEP - Force the target to sleep. 117 */ 118typedef enum { 119 TCMD_PM_WAKEUP = 1, /* be consistent with target */ 120 TCMD_PM_SLEEP 121} TCMD_PM_MODE; 122 123typedef PREPACK struct { 124 A_UINT32 testCmdId; 125 A_UINT32 mode; 126} POSTPACK TCMD_PM; 127 128typedef enum{ 129 TCMD_CONT_TX_ID, 130 TCMD_CONT_RX_ID, 131 TCMD_PM_ID 132 } TCMD_ID; 133 134typedef PREPACK union { 135 TCMD_CONT_TX contTx; 136 TCMD_CONT_RX contRx; 137 TCMD_PM pm ; 138} POSTPACK TEST_CMD; 139 140#ifdef __cplusplus 141} 142#endif 143 144#endif /* TESTCMD_H_ */ 145