| 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 |
| 14 | extern "C" { |
| 15 | #endif |
| 16 | |
| 17 | typedef 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) |
| 31 | dataRate: 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 |
| 44 | antenna: 1 - one antenna |
| 45 | 2 - two antenna |
| 46 | Note : Enable/disable continuous tx test cmd works only when target is awake. |
| 47 | */ |
| 48 | |
| 49 | typedef 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 | |
| 57 | typedef 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 | */ |
| 88 | typedef 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 | |
| 95 | typedef 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 | */ |
| 118 | typedef enum { |
| 119 | TCMD_PM_WAKEUP = 1, /* be consistent with target */ |
| 120 | TCMD_PM_SLEEP |
| 121 | } TCMD_PM_MODE; |
| 122 | |
| 123 | typedef PREPACK struct { |
| 124 | A_UINT32 testCmdId; |
| 125 | A_UINT32 mode; |
| 126 | } POSTPACK TCMD_PM; |
| 127 | |
| 128 | typedef enum{ |
| 129 | TCMD_CONT_TX_ID, |
| 130 | TCMD_CONT_RX_ID, |
| 131 | TCMD_PM_ID |
| 132 | } TCMD_ID; |
| 133 | |
| 134 | typedef 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 | |