ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts  1.0
ESP8266ILI9341DisplayProject
network.c
Go to the documentation of this file.
1 
25 #include "user_config.h"
26 
27 #include <stdint.h>
28 #include <stdarg.h>
29 #include <string.h>
30 #include <math.h>
31 
32 #include "display/ili9341.h"
33 #include "network/network.h"
34 
35 #ifdef NETWORK_TEST
36  #include "server/server.h"
37 #endif
38 
39 #ifndef SSID
40  //#define SSID "your wifi SSID"
41  //#define SSID_PASS "your wifi password"
42 
43  /* I define my private SSID and SSID_PASS in ssid.h.
44  For security reasons my ssid.h is not part of this github project 8-)
45  */
46  #include "../../ssid.h"
47 #endif
48 
49 
50 int network_init = 0;
53 
54 static struct station_config StationConfig;
55 static struct ip_info info;
56 static uint8_t macaddr[6];
57 static uint8_t received = 0;
58 
64 static char _ipv4_2str[32];
65 MEMSPACE
67 {
68  uint8_t *str = (uint8_t *) &ip;
69  snprintf(_ipv4_2str,sizeof(_ipv4_2str)-1,"%d.%d.%d.%d", str[0],str[1],str[2],str[3]);
70  return(_ipv4_2str);
71 }
72 
79 MEMSPACE
80 void wifi_event_cb( System_Event_t *event_p)
81 {
82  printf("WiFi Event: %02x\n", event_p->event);
83  ip_msg_state = event_p->event;
84 
85  switch( event_p->event)
86  {
87  case EVENT_STAMODE_CONNECTED :
88  printf( "Connect to [%s] ssid, channel[%d] \n " ,
89  event_p->event_info.connected.ssid ,
90  event_p->event_info.connected.channel);
91  snprintf(ip_msg, sizeof(ip_msg), "Connected");
92  break;
93  case EVENT_STAMODE_DISCONNECTED :
94  printf( "Disconnect from ssid:[%s], Reason:%02x\n " ,
95  event_p->event_info.disconnected.ssid ,
96  event_p->event_info.disconnected.reason);
97 // Reconnect ???
98 // wifi_station_connect();
99  snprintf(ip_msg, sizeof(ip_msg), "Disconnected");
100  break;
101  case EVENT_STAMODE_AUTHMODE_CHANGE :
102  printf( "New AuthMode: %02x -> %02x\n " ,
103  event_p->event_info.auth_change.old_mode ,
104  event_p->event_info.auth_change.new_mode);
105  snprintf(ip_msg, sizeof(ip_msg), "STA Auth change");
106  break;
107  case EVENT_STAMODE_GOT_IP :
108  printf("IP:[" IPSTR "], Mask:[" IPSTR "], GW:[" IPSTR "]\n",
109  IP2STR( & event_p->event_info.got_ip.ip) ,
110  IP2STR( & event_p->event_info.got_ip.mask) ,
111  IP2STR( & event_p->event_info.got_ip.gw) );
112  printf( "MAC:[" MACSTR "]\n" ,
113  MAC2STR( event_p->event_info.sta_connected.mac) );
114 
115  snprintf(ip_msg, sizeof(ip_msg), "IP:" IPSTR ,
116  IP2STR( & event_p->event_info.got_ip.ip));
117 
118  network_init = 1;
119 
120  break;
121  case EVENT_SOFTAPMODE_STACONNECTED :
122  printf( "STACONNECTED MAC:[" MACSTR "], AID:%02x\n " ,
123  MAC2STR( event_p->event_info.sta_connected.mac) ,
124  event_p->event_info. sta_connected.aid);
125  snprintf(ip_msg, sizeof(ip_msg), "STA Connected");
126  break;
127  case EVENT_SOFTAPMODE_STADISCONNECTED :
128  printf( "STADISCONNECTED MAC:[%s], AID:%02x\n " ,
129  MAC2STR( event_p->event_info.sta_connected.mac) ,
130  event_p->event_info. sta_connected.aid);
131  snprintf(ip_msg, sizeof(ip_msg), "STA Disconnected");
132  break;
133  }
134 }
135 
136 
164 MEMSPACE
166 {
167 
168  printf( "Networking setup start\n");
169 
170  os_memset(&StationConfig, 0, sizeof(StationConfig));
171  os_memset(&info, 0, sizeof(info));
172  const char *ssid = SSID;
173  const char *password = SSID_PASS;
174 
175  os_memset(ip_msg,0,sizeof(ip_msg));
176  strcpy(ip_msg,"Not Connected");
177 
178  if(wifi_get_opmode() != STATION_MODE)
179  {
180  printf("ESP8266 not in STATION mode, restarting in STATION mode...\r\n");
181  if(!wifi_station_disconnect())
182  printf( "ERROR wifi_station_disconnect()\n");
183  if(!wifi_set_opmode( STATION_MODE))
184  printf( "ERROR wifi_set_opmode(STATION_MODE)\n");
185  if(!wifi_station_set_reconnect_policy(FALSE))
186  printf( "ERROR wifi_station_set_reconnect_policy(FALSE)\n");
187  if(!wifi_station_set_auto_connect(FALSE) )
188  printf( "ERROR wifi_station_set_auto_connect(FALSE)\n");
189  if(wifi_get_phy_mode() != PHY_MODE_11N)
190  wifi_set_phy_mode(PHY_MODE_11N);
191  }
192 
193  if(wifi_get_opmode() == STATION_MODE)
194  {
195  printf("ESP8266 in STATION mode...\r\n");
196  wifi_station_get_config(&StationConfig);
197  os_sprintf(StationConfig.ssid, "%s", ssid);
198  os_sprintf(StationConfig.password, "%s", password);
199  if(!wifi_station_set_config(&StationConfig))
200  printf( "ERROR wifi_set_config()\n");
201  if(!wifi_station_get_config(&StationConfig))
202  printf( "ERROR wifi_station_get_config()\n");
203  if(!wifi_get_macaddr(STATION_IF, macaddr))
204  printf( "ERROR wifi_get_macaddr()\n");
205  printf("wifi_get_opmode: %d, SSID:[%s], PASSWORD:[%s]\n",
206  (int)wifi_get_opmode(),
207  StationConfig.ssid,
208  "**********"
209  /* StationConfig.password */
210  );
211  }
212  else
213  {
214  printf("ESP8266 not in STATION mode\n");
215  }
216 
217  // Wifi Connect
218  if(!wifi_station_set_reconnect_policy(TRUE))
219  printf( "ERROR wifi_station_set_reconnect_policy(TRUE)\n");
220 
221  if(!wifi_station_set_auto_connect(TRUE) )
222  printf( "ERROR wifi_station_set_auto_connect(TRUE)\n");
223 
224  if(!wifi_station_connect())
225  printf( "ERROR wifi_station_connect()\n");
226 
227  if(!wifi_station_dhcpc_start())
228  printf("ERROR wifi_station_dhcpc_start()\n");
229  // Monitor
230  wifi_set_event_handler_cb( wifi_event_cb);
231 
232  printf( "Networking setup done\n");
233 }
Master include file for project Includes all project includes and defines here.
MEMSPACE void wifi_event_cb(System_Event_t *event_p)
WIFI Event Callback.
Definition: network.c:80
static struct ip_info info
Definition: network.c:55
MEMSPACE void setup_networking()
Code fragments if(!wifi_station_dhcpc_stop()) printf( "ERROR wifi_station_dhcpc_stop() \n ");...
Definition: network.c:165
unsigned int uint32_t
Definition: send.c:19
#define snprintf(s, size, format, args...)
Definition: cpu.h:81
static struct station_config StationConfig
Definition: network.c:54
int network_init
Definition: network.c:50
MEMSPACE WEAK_ATR char * strcpy(char *dest, const char *src)
copy a string
Definition: stringsup.c:161
MEMSPACE char * ipv4_2str(uint32_t ip)
Definition: network.c:66
static uint8_t received
Definition: network.c:57
uint8_t ip_msg[64]
test task Runs corrected cube demo from Sem Optionally wireframe Earth viewer
Definition: network.c:51
#define MEMSPACE
Definition: cpu.h:25
MEMSPACE int printf(const char *format,...)
ili9341 driver inspired by Adafruit ili9341 code All code in this file has been rewritten by Mike Gor...
int ip_msg_state
Definition: network.c:52
unsigned char uint8_t
Definition: send.c:17
static uint8_t macaddr[6]
Definition: network.c:56
static char _ipv4_2str[32]
Convert IP address to string.
Definition: network.c:64