Line No. | Rev | Author | Line |
---|---|---|---|
1 | 32 | kaklik | /****************************************************************************** |
2 | |||
3 | MRF24WB0M Driver |
||
4 | Module for Microchip TCP/IP Stack |
||
5 | -Provides access to MRF24WB0M WiFi controller |
||
6 | -Reference: MRF24WB0M Data sheet, IEEE 802.11 Standard |
||
7 | |||
8 | ******************************************************************************* |
||
9 | FileName: WFEasyConfig.h |
||
10 | Dependencies: TCP/IP Stack header files |
||
11 | Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32 |
||
12 | Compiler: Microchip C32 v1.10b or higher |
||
13 | Microchip C30 v3.22 or higher |
||
14 | Microchip C18 v3.34 or higher |
||
15 | Company: Microchip Technology, Inc. |
||
16 | |||
17 | Software License Agreement |
||
18 | |||
19 | Copyright (C) 2002-2010 Microchip Technology Inc. All rights reserved. |
||
20 | |||
21 | Microchip licenses to you the right to use, modify, copy, and distribute: |
||
22 | (i) the Software when embedded on a Microchip microcontroller or digital |
||
23 | signal controller product ("Device") which is integrated into |
||
24 | Licensee's product; or |
||
25 | (ii) ONLY the Software driver source files ENC28J60.c, ENC28J60.h, |
||
26 | ENCX24J600.c and ENCX24J600.h ported to a non-Microchip device used in |
||
27 | conjunction with a Microchip ethernet controller for the sole purpose |
||
28 | of interfacing with the ethernet controller. |
||
29 | |||
30 | You should refer to the license agreement accompanying this Software for |
||
31 | additional information regarding your rights and obligations. |
||
32 | |||
33 | THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY |
||
34 | KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY |
||
35 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND |
||
36 | NON-INFRINGEMENT. IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY INCIDENTAL, |
||
37 | SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST |
||
38 | OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS BY |
||
39 | THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), ANY CLAIMS |
||
40 | FOR INDEMNITY OR CONTRIBUTION, OR OTHER SIMILAR COSTS, WHETHER ASSERTED ON |
||
41 | THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTY, OR |
||
42 | OTHERWISE. |
||
43 | |||
44 | |||
45 | Author Date Comment |
||
46 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
||
47 | Steve Collmeyer 24 Sep 2009 Initial |
||
48 | Brad Rex 09 Feb 2010 Update for RoadRunner |
||
49 | ******************************************************************************/ |
||
50 | |||
51 | #ifndef __WFEASYCONFIG_H |
||
52 | #define __WFEASYCONFIG_H |
||
53 | |||
54 | #include "HardwareProfile.h" |
||
55 | #include "TCPIP Stack/TCPIP.h" |
||
56 | #include "TCPIPConfig.h" |
||
57 | |||
58 | #if defined(EZ_CONFIG_STORE) |
||
59 | #include "MainDemo.h" |
||
60 | #endif |
||
61 | |||
62 | typedef struct |
||
63 | { |
||
64 | UINT8 configBits; /* used to dictate MAC behavior following the calculation */ |
||
65 | UINT8 phraseLen; /* number of valid bytes in passphrase */ |
||
66 | UINT8 ssidLen; /* number of valid bytes in ssid */ |
||
67 | UINT8 reserved; /* alignment byte */ |
||
68 | INT8 ssid[32]; /* the string of characters representing the ssid */ |
||
69 | INT8 passPhrase[64+1]; /* the string of characters representing the pass phrase */ |
||
70 | } tWFPskCalcReq; |
||
71 | |||
72 | typedef enum { |
||
73 | cfg_stopped = 0, |
||
74 | cfg_stalled, |
||
75 | cfg_wait_idle_complete, |
||
76 | cfg_max |
||
77 | } tWFDynamicConfigStates; |
||
78 | |||
79 | typedef struct { |
||
80 | BYTE isWifiNeedToConfigure; |
||
81 | BYTE isWifiDoneConfigure; |
||
82 | BYTE ssid[33]; // 32 for ssid and one for term character |
||
83 | tWFNetworkType type; // Net type infrastructure vs adhoc |
||
84 | BYTE prevSSID[33]; // previous SSID we were connected to |
||
85 | BYTE prevWLAN; // previous WLAN type |
||
86 | |||
87 | BYTE security; // security type |
||
88 | BYTE defaultWepKey; // WEP index value |
||
89 | BYTE key[65]; // 64-byte key plus term character |
||
90 | |||
91 | tWFDynamicConfigStates cfg_state; |
||
92 | #if defined (EZ_CONFIG_STALL) |
||
93 | DWORD timeStart; |
||
94 | #endif |
||
95 | } tWFEasyConfigCtx; |
||
96 | |||
97 | extern tWFEasyConfigCtx g_easyConfigCtx; |
||
98 | #define CFGCXT (g_easyConfigCtx) |
||
99 | |||
100 | typedef struct |
||
101 | { |
||
102 | INT8 scanState; |
||
103 | UINT16 numScanResults; |
||
104 | UINT16 displayIdx; |
||
105 | } tWFScanCtx; |
||
106 | |||
107 | extern tWFScanCtx g_ScanCtx; |
||
108 | #define SCANCXT (g_ScanCtx) |
||
109 | |||
110 | /* Easy Config Public Functions */ |
||
111 | void WFEasyConfigInit(void); |
||
112 | void WFEasyConfigMgr(void); |
||
113 | void WFInitScan(void); |
||
114 | |||
115 | void WFScanEventHandler(UINT16 scanResults); |
||
116 | |||
117 | void WFDisplayScanMgr(void); |
||
118 | |||
119 | UINT16 WFStartScan(void); |
||
120 | |||
121 | UINT16 WFRetrieveScanResult(UINT8 Idx, tWFScanResult *p_ScanResult); |
||
122 | |||
123 | /* Macros */ |
||
124 | #define WF_WEP_KEY_INVALID 0xff |
||
125 | |||
126 | #define WF_START_EASY_CONFIG() CFGCXT.isWifiNeedToConfigure = 1; |
||
127 | |||
128 | /* Definitions for stall feature of state machine */ |
||
129 | #define WF_STALL_TIME 1 /* In seconds */ |
||
130 | #define WF_STALL_TIME_MS (WF_STALL_TIME * TICKS_PER_SECOND) |
||
131 | |||
132 | /* Scan status/control bits */ |
||
133 | #define SCAN_STATE_IN_PROGRESS 0x0001 |
||
134 | #define SCAN_STATE_VALID_RESULTS 0x0002 |
||
135 | #define SCAN_STATE_DISPLAY_RESULTS 0x0004 |
||
136 | |||
137 | #define IS_SCAN_IN_PROGRESS(x) ((x) & SCAN_STATE_IN_PROGRESS) |
||
138 | #define IS_SCAN_STATE_VALID(x) ((x) & SCAN_STATE_VALID_RESULTS) |
||
139 | #define IS_SCAN_STATE_DISPLAY(x) ((x) & SCAN_STATE_DISPLAY_RESULTS) |
||
140 | #define SCAN_SET_IN_PROGRESS(x) ((x) |= SCAN_STATE_IN_PROGRESS) |
||
141 | #define SCAN_SET_VALID(x) ((x) |= SCAN_STATE_VALID_RESULTS) |
||
142 | #define SCAN_SET_DISPLAY(x) ((x) |= SCAN_STATE_DISPLAY_RESULTS) |
||
143 | #define SCAN_CLEAR_IN_PROGRESS(x) ((x) &= ~SCAN_STATE_IN_PROGRESS) |
||
144 | #define SCAN_CLEAR_VALID(x) ((x) &= ~SCAN_STATE_VALID_RESULTS) |
||
145 | #define SCAN_CLEAR_DISPLAY(x) ((x) &= ~SCAN_STATE_DISPLAY_RESULTS) |
||
146 | #endif /* _WFEASYCONFIG_H_ */ |
Powered by WebSVN v2.8.3