nodeMCU client is working
[mTask.git] / client / nodemcu / interface.cpp
1 #include <Arduino.h>
2 #include <ESP8266WiFi.h>
3 #include <stdbool.h>
4 #include <stdint.h>
5
6 #define SSID "ASUS_NDL"
7 #define WPA2KEY "RT-AC66U"
8 #define PORT 8123
9
10 extern "C" unsigned long getmillis(void);
11 extern "C" void pdie(char *, ...);
12 extern "C" void die(char *, ...);
13 extern "C" void debug(char *, ...);
14 extern "C" void real_setup(void);
15 extern "C" void write_byte(uint8_t);
16 extern "C" uint8_t read_byte(void);
17 extern "C" bool input_available(void);
18 extern "C" void msdelay(unsigned long);
19
20 WiFiServer server(PORT);
21 WiFiClient client;
22
23 unsigned long getmillis(void)
24 {
25 return millis();
26 }
27
28 void msdelay(unsigned long ms)
29 {
30 delay(ms);
31 }
32
33 bool input_available(void)
34 {
35 return client.available();
36 }
37
38 uint8_t read_byte(void)
39 {
40 return client.read();
41 }
42
43 void write_byte(uint8_t b)
44 {
45 client.write(b);
46 }
47
48 void real_setup(void)
49 {
50 Serial.begin(115200);
51 Serial.print("Connecting to ");
52 Serial.println(SSID);
53 WiFi.begin(SSID, WPA2KEY);
54 while (WiFi.status() != WL_CONNECTED) {
55 delay(500);
56 Serial.print(".");
57 }
58 Serial.println("");
59 Serial.println("WiFi connected");
60 Serial.println("IP address: ");
61 Serial.println(WiFi.localIP());
62 server.begin();
63 Serial.print("Server started on port: ");
64 Serial.println(PORT);
65
66 Serial.print("Waiting for a client to connect.");
67 while(true){
68 client = server.available();
69 if(client){
70 break;
71 }
72 }
73 Serial.print("Client connected: ");
74 Serial.println(client.connected());
75 Serial.println("");
76 }
77
78 void debug(char *fmt, ...)
79 {
80 Serial.print(fmt);
81 }
82
83 void die(char *fmt, ...)
84 {
85 Serial.print(fmt);
86 while(1){
87 msdelay(1000);
88 Serial.print("die");
89 }
90 }
91
92 void pdie(char *s)
93 {
94 die(s);
95 }