Compile of esp-01-wifi-library](GitHub - crhossen/esp-01-wifi-library: Arduino library to simplify use of the ESP-01 (ESP8266) WiFi module using AT commands over SoftwareSerial.) ESPConn.cpp stops at error (program also known as ESPConn.cpp)
ESPConn' does not name type
----------------Sketch ESPConn.ino listing ----------------
`Preformatted text````
#include "Arduino.h"
#include <SoftwareSerial.h>
#include "ESPConn.h"
#define DEBUG
#ifdef DEBUG
#define DEBUG_PRINTLN(x) Serial.println(x)
#define DEBUG_PRINT(x) Serial.print(x)
#define DEBUG_WRITE_BYTES(x, y) Serial.write(x, y)
#define DEBUG_WRITE(x) Serial.write(x)
#else
#define DEBUG_PRINTLN(x)
#define DEBUG_PRINT(x)
#define DEBUG_WRITE_BYTES(x, y)
#define DEBUG_WRITE(x)
#endif
const char* READY_TERMINATORS[] = { "WIFI DISCONNECT", "WIFI CONNECTED" };
const char* SEND_TERMINATORS[] = { "SEND OK", "SEND FAIL", "ERROR" };
ESPConn::ESPConn(int rxPin, int txPin) :
esp(SoftwareSerial(rxPin, txPin))
{
_rxPin = rxPin;
_txPin = txPin;
}
bool ESPConn::setupSerial() {
// Setup ESP connection
pinMode(_rxPin, INPUT);
pinMode(_txPin, OUTPUT);
esp.begin(9600);
delay(1000);
return true;
}
int ESPConn::sendReset() {
// Send AT command
esp.println("AT+RST");
readUntilLine("ready");
int resetStatus = readUntilLineOptions(READY_TERMINATORS, 2);
if (resetStatus == 0) {
DEBUG_PRINTLN("ESPConn - Looks not connected.");
return 0;
}
// if it is connected wait for IP
else if (resetStatus == 1) {
DEBUG_PRINTLN("ESPConn - Looks already connected.");
readUntilLine("WIFI GOT IP");
return 1;
}
}
String ESPConn::readLine() {
String str = esp.readStringUntil('\r');
if (esp.available() > 0) esp.read();
str.trim();
return str;
}
bool ESPConn::connectToAP(String ssid, String pass) {
esp.println("AT+CWMODE_CUR=3"); //station mode
readUntilOKorERROR();
esp.print("AT+CWJAP="");
esp.print(ssid); esp.print("",""); esp.print(pass); esp.println('"');
return readUntilOKorERROR();
}
String ESPConn::getIPAddr() {
esp.println("AT+CIPSTA_CUR?");
// first part of response in quotes is the ip
esp.readStringUntil('"');
String ip = esp.readStringUntil('"');
DEBUG_PRINT(ip);
readUntilOKorERROR();
return ip;
}
bool ESPConn::enableMDNS(String hostname, String service, int port) {
esp.print("AT+MDNS=1,"");
esp.print(hostname);
esp.print("","");
esp.print(service);
esp.print("",");
esp.println(port);
return readUntilOKorERROR();
}
bool ESPConn::listenTCP(int port, TCPDataReceived dataReceivedCallback) {
esp.println("AT+CIPMUX=1");
if (readUntilOKorERROR()) {
esp.print("AT+CIPSERVER=1,"); esp.println(port);
readUntilOKorERROR();
if (esp.available()) {
char dumpData[esp.available()];
esp.readBytes(dumpData, esp.available());
DEBUG_PRINT(dumpData);
}
listenForTCPData(dataReceivedCallback);
pipeSerial();
} else {
return false;
}
}
bool ESPConn::readUntilLine(String text) {
String line;
int emptyLineCount = 0;
do {
line = readLine();
DEBUG_PRINTLN(line);
if (line.equals("")) {
++emptyLineCount;
} else {
emptyLineCount = 0;
}
} while (!line.equals(text) && emptyLineCount < 10);
if (emptyLineCount >= 10) pipeSerial();
return true;
}
int ESPConn::readUntilLineOptions(const char* texts[], int length) {
String line;
int foundTextIdx = -1;
do {
line = readLine();
DEBUG_PRINTLN(line);
for (int i = 0; i < length; i++) {
if (line.equals(texts[i])) {
foundTextIdx = i;
}
}
} while (foundTextIdx < 0);
return true;
}
bool ESPConn::readUntilOKorERROR() {
String line;
do {
line = readLine();
DEBUG_PRINTLN(line);
} while (!line.equals("OK") && !line.equals("ERROR"));
return line.equals("OK");
}
void ESPConn::pipeSerial() {
Serial.println("*** PIPING SERIAL TO ESP NOW ***");
while (true) {
if (Serial.available()) {
esp.write(Serial.read());
}
if (esp.available()) {
Serial.write(esp.read());
}
}
}
void ESPConn::listenForTCPData(TCPDataReceived dataReceivedCallback) {
//pipeSerial();
DEBUG_PRINTLN("Waiting for TCP connections");
while (true) {
while (!esp.available()) {}
// check if connection status message.
if (esp.peek() != '+') {
String str = readLine();
if (str.endsWith("CONNECT")) {
DEBUG_PRINTLN(str);
DEBUG_PRINTLN("NEW CONN");
} else if (str.endsWith("CLOSED")) {
DEBUG_PRINTLN(str);
DEBUG_PRINTLN("CONN CLOSED");
} else if (str.equals("")) {
// eat a carriage return if it exists
if (esp.peek() == '\n') {
esp.read();
}
} else {
DEBUG_PRINT("DUNNO:"); DEBUG_PRINTLN(str);
}
} else {
DEBUG_PRINTLN("looks like we have new data");
String str;
if (esp.peek() == '+') {
esp.read();
int linkID, length;
str = esp.readStringUntil(',');
DEBUG_PRINT(str);
if (str.equals("IPD")) {
str = esp.readStringUntil(',');
DEBUG_PRINT(str);
linkID = str.toInt();
str = esp.readStringUntil(':');
DEBUG_PRINT(str);
length = str.toInt();
if (esp.peek() == ':') { esp.read(); }
byte data[length];
int readBytes = esp.readBytes(data, length);
DEBUG_PRINT("Actually read ");
DEBUG_PRINTLN(readBytes);
DEBUG_PRINT(" content: ");
DEBUG_WRITE_BYTES(data, readBytes);
DEBUG_PRINTLN();
dataReceivedCallback(linkID, data, length);
}
}
}
}
}
bool ESPConn::openSendCloseTCP(String host, int port, String str) {
// include room for null terminator
byte data[str.length() + 1];
str.getBytes(data, str.length() + 1);
return openSendCloseTCP(host, port, data, str.length());
}
bool ESPConn::openSendCloseTCP(String host, int port, byte data[], int length) {
esp.print("AT+CIPSTART="TCP","");
esp.print(host); esp.print("","); esp.println(port);
if (!readUntilOKorERROR()) {
return false;
}
DEBUG_PRINT("Sending: ");
DEBUG_WRITE_BYTES(data, length); DEBUG_PRINTLN();
esp.print("AT+CIPSEND="); esp.println(length);
if (!readUntilOKorERROR()) {
return false;
}
esp.readStringUntil('>');
esp.write(data, length);
int sendResult = readUntilLineOptions(SEND_TERMINATORS, 3);
esp.println("AT+CIPCLOSE");
readUntilOKorERROR();
return (sendResult == 1);
}
bool ESPConn::setupUDP(String ip, int port) {
esp.print("AT+CIPSTART="UDP","");
esp.print(ip); esp.print("","); esp.println(port);
return readUntilOKorERROR();
}
bool ESPConn::sendUDP(String str) {
// include room for null terminator
byte data[str.length() + 1];
str.getBytes(data, str.length() + 1);
return sendUDP(data, str.length());
}
bool ESPConn::sendUDP(byte data[], int length) {
esp.print("AT+CIPSEND="); esp.println(length);
if (!readUntilOKorERROR()) {
return false;
}
esp.readStringUntil('>');
esp.write(data, length);
int sendResult = readUntilLineOptions(SEND_TERMINATORS, 3);
return (sendResult == 1);
}
````Preformatted text`
----------------Sketch ESPConn.ino ERROR Report ----------------
Arduino: 1.8.19 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 512KB (FS:64KB OTA:~214KB), 1, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -hardware C:\Users\PATRICK\AppData\Local\Arduino15\packages -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -tools C:\Users\PATRICK\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\PATRICK\Documents\Arduino\libraries -fqbn=esp8266:esp8266:generic:xtal=80,vt=flash,exception=disabled,stacksmash=disabled,ssl=all,mmu=3232,non32xfer=fast,ResetMethod=nodemcu,CrystalFreq=26,FlashFreq=40,FlashMode=dout,eesz=512K64,led=1,sdk=nonosdk_190703,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=115200 -vid-pid=1A86_7523 -ide-version=10819 -build-path C:\Users\PATRICK\AppData\Local\Temp\arduino_build_618876 -warnings=none -build-cache C:\Users\PATRICK\AppData\Local\Temp\arduino_cache_841779 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mklittlefs.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mklittlefs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mklittlefs-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mklittlefs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mkspiffs.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mkspiffs-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.python3.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.xtensa-lx106-elf-gcc-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed -verbose C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino
C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files\Arduino\hardware -hardware C:\Users\PATRICK\AppData\Local\Arduino15\packages -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -tools C:\Users\PATRICK\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\PATRICK\Documents\Arduino\libraries -fqbn=esp8266:esp8266:generic:xtal=80,vt=flash,exception=disabled,stacksmash=disabled,ssl=all,mmu=3232,non32xfer=fast,ResetMethod=nodemcu,CrystalFreq=26,FlashFreq=40,FlashMode=dout,eesz=512K64,led=1,sdk=nonosdk_190703,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=115200 -vid-pid=1A86_7523 -ide-version=10819 -build-path C:\Users\PATRICK\AppData\Local\Temp\arduino_build_618876 -warnings=none -build-cache C:\Users\PATRICK\AppData\Local\Temp\arduino_cache_841779 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mklittlefs.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mklittlefs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mklittlefs-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mklittlefs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mkspiffs.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.mkspiffs-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.python3.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed -prefs=runtime.tools.xtensa-lx106-elf-gcc-3.0.4-gcc10.3-1757bed.path=C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed -verbose C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino
Using board 'generic' from platform in folder: C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2
Using core 'esp8266' from platform in folder: C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2
Detecting libraries used...
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=1 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\sketch\\ESPConn.ino.cpp" -o nul
Alternatives for SoftwareSerial.h: [SoftwareSerial@6.12.7]
ResolveLibrary(SoftwareSerial.h)
-> candidates: [SoftwareSerial@6.12.7]
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=1 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SoftwareSerial\\src" "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\sketch\\ESPConn.ino.cpp" -o nul
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=1 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SoftwareSerial\\src" "C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SoftwareSerial\\src\\SoftwareSerial.cpp" -o nul
Generating function prototypes...
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=1 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SoftwareSerial\\src" "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\sketch\\ESPConn.ino.cpp" -o "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3" -I "C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/signing.py" --mode header --publickey "C:\\Program Files\\Arduino\\Arduino\\ESPconn/public.key" --out "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core/Updater_Signing.h"
"C:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=1 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "-IC:\\Users\\PATRICK\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SoftwareSerial\\src" "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\sketch\\ESPConn.ino.cpp" -o "C:\\Users\\PATRICK\\AppData\\Local\\Temp\\arduino_build_618876\\sketch\\ESPConn.ino.cpp.o"
ESPConn:22:1: error: 'ESPConn' does not name a type
22 | ESPConn::ESPConn(int rxPin, int txPin) :
| ^~~~~~~
ESPConn:29:6: error: 'ESPConn' has not been declared
29 | bool ESPConn::setupSerial() {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool setupSerial()':
ESPConn:31:11: error: '_rxPin' was not declared in this scope
31 | pinMode(_rxPin, INPUT);
| ^~~~~~
ESPConn:32:11: error: '_txPin' was not declared in this scope
32 | pinMode(_txPin, OUTPUT);
| ^~~~~~
ESPConn:33:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
33 | esp.begin(9600);
| ^~~
| exp
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:39:5: error: 'ESPConn' has not been declared
39 | int ESPConn::sendReset() {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'int sendReset()':
ESPConn:41:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
41 | esp.println("AT+RST");
| ^~~
| exp
ESPConn:42:3: error: 'readUntilLine' was not declared in this scope
42 | readUntilLine("ready");
| ^~~~~~~~~~~~~
ESPConn:43:21: error: 'readUntilLineOptions' was not declared in this scope
43 | int resetStatus = readUntilLineOptions(READY_TERMINATORS, 2);
| ^~~~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:56:8: error: 'ESPConn' has not been declared
56 | String ESPConn::readLine() {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'String readLine()':
ESPConn:57:16: error: 'esp' was not declared in this scope; did you mean 'exp'?
57 | String str = esp.readStringUntil('\r');
| ^~~
| exp
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:63:6: error: 'ESPConn' has not been declared
63 | bool ESPConn::connectToAP(String ssid, String pass) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool connectToAP(String, String)':
ESPConn:64:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
64 | esp.println("AT+CWMODE_CUR=3"); //station mode
| ^~~
| exp
ESPConn:65:3: error: 'readUntilOKorERROR' was not declared in this scope
65 | readUntilOKorERROR();
| ^~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:71:8: error: 'ESPConn' has not been declared
71 | String ESPConn::getIPAddr() {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'String getIPAddr()':
ESPConn:72:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
72 | esp.println("AT+CIPSTA_CUR?");
| ^~~
| exp
ESPConn:78:3: error: 'readUntilOKorERROR' was not declared in this scope
78 | readUntilOKorERROR();
| ^~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:82:6: error: 'ESPConn' has not been declared
82 | bool ESPConn::enableMDNS(String hostname, String service, int port) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool enableMDNS(String, String, int)':
ESPConn:83:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
83 | esp.print("AT+MDNS=1,\"");
| ^~~
| exp
ESPConn:89:10: error: 'readUntilOKorERROR' was not declared in this scope
89 | return readUntilOKorERROR();
| ^~~~~~~~~~~~~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:92:6: error: 'ESPConn' has not been declared
92 | bool ESPConn::listenTCP(int port, TCPDataReceived dataReceivedCallback) {
| ^~~~~~~
ESPConn:92:35: error: 'TCPDataReceived' has not been declared
92 | bool ESPConn::listenTCP(int port, TCPDataReceived dataReceivedCallback) {
| ^~~~~~~~~~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool listenTCP(int, int)':
ESPConn:93:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
93 | esp.println("AT+CIPMUX=1");
| ^~~
| exp
ESPConn:94:7: error: 'readUntilOKorERROR' was not declared in this scope
94 | if (readUntilOKorERROR()) {
| ^~~~~~~~~~~~~~~~~~
ESPConn:99:21: error: 'dumpData' was not declared in this scope
99 | esp.readBytes(dumpData, esp.available());
| ^~~~~~~~
ESPConn:102:5: error: 'listenForTCPData' was not declared in this scope
102 | listenForTCPData(dataReceivedCallback);
| ^~~~~~~~~~~~~~~~
ESPConn:103:5: error: 'pipeSerial' was not declared in this scope; did you mean 'Serial'?
103 | pipeSerial();
| ^~~~~~~~~~
| Serial
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:109:6: error: 'ESPConn' has not been declared
109 | bool ESPConn::readUntilLine(String text) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool readUntilLine(String)':
ESPConn:121:29: error: 'pipeSerial' was not declared in this scope; did you mean 'Serial'?
121 | if (emptyLineCount >= 10) pipeSerial();
| ^~~~~~~~~~
| Serial
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:125:5: error: 'ESPConn' has not been declared
125 | int ESPConn::readUntilLineOptions(const char* texts[], int length) {
| ^~~~~~~
ESPConn:140:6: error: 'ESPConn' has not been declared
140 | bool ESPConn::readUntilOKorERROR() {
| ^~~~~~~
ESPConn:149:6: error: 'ESPConn' has not been declared
149 | void ESPConn::pipeSerial() {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'void pipeSerial()':
ESPConn:153:7: error: 'esp' was not declared in this scope; did you mean 'exp'?
153 | esp.write(Serial.read());
| ^~~
| exp
ESPConn:155:9: error: 'esp' was not declared in this scope; did you mean 'exp'?
155 | if (esp.available()) {
| ^~~
| exp
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:161:6: error: 'ESPConn' has not been declared
161 | void ESPConn::listenForTCPData(TCPDataReceived dataReceivedCallback) {
| ^~~~~~~
ESPConn:161:6: error: variable or field 'listenForTCPData' declared void
ESPConn:161:32: error: 'TCPDataReceived' was not declared in this scope
161 | void ESPConn::listenForTCPData(TCPDataReceived dataReceivedCallback) {
| ^~~~~~~~~~~~~~~
ESPConn:216:6: error: 'ESPConn' has not been declared
216 | bool ESPConn::openSendCloseTCP(String host, int port, String str) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool openSendCloseTCP(String, int, String)':
ESPConn:220:39: error: invalid conversion from 'byte*' {aka 'unsigned char*'} to 'const char*' [-fpermissive]
220 | return openSendCloseTCP(host, port, data, str.length());
| ^~~~
| |
| byte* {aka unsigned char*}
In file included from C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:286,
from C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino:1:
C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/WString.h:57:28: note: initializing argument 1 of 'String::String(const char*)'
57 | String(const char *cstr);
| ~~~~~~~~~~~~^~~~
ESPConn:220:57: error: too many arguments to function 'bool openSendCloseTCP(String, int, String)'
220 | return openSendCloseTCP(host, port, data, str.length());
| ^
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino:216:6: note: declared here
216 | bool ESPConn::openSendCloseTCP(String host, int port, String str) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:223:6: error: 'ESPConn' has not been declared
223 | bool ESPConn::openSendCloseTCP(String host, int port, byte data[], int length) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool openSendCloseTCP(String, int, byte*, int)':
ESPConn:224:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
224 | esp.print("AT+CIPSTART=\"TCP\",\"");
| ^~~
| exp
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:247:6: error: 'ESPConn' has not been declared
247 | bool ESPConn::setupUDP(String ip, int port) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool setupUDP(String, int)':
ESPConn:248:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
248 | esp.print("AT+CIPSTART=\"UDP\",\"");
| ^~~
| exp
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:253:6: error: 'ESPConn' has not been declared
253 | bool ESPConn::sendUDP(String str) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool sendUDP(String)':
ESPConn:257:18: error: invalid conversion from 'byte*' {aka 'unsigned char*'} to 'const char*' [-fpermissive]
257 | return sendUDP(data, str.length());
| ^~~~
| |
| byte* {aka unsigned char*}
In file included from C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:286,
from C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino:1:
C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/WString.h:57:28: note: initializing argument 1 of 'String::String(const char*)'
57 | String(const char *cstr);
| ~~~~~~~~~~~~^~~~
ESPConn:257:36: error: too many arguments to function 'bool sendUDP(String)'
257 | return sendUDP(data, str.length());
| ^
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino:253:6: note: declared here
253 | bool ESPConn::sendUDP(String str) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: At global scope:
ESPConn:260:6: error: 'ESPConn' has not been declared
260 | bool ESPConn::sendUDP(byte data[], int length) {
| ^~~~~~~
C:\Program Files\Arduino\Arduino\ESPconn\ESPConn.ino: In function 'bool sendUDP(byte*, int)':
ESPConn:261:3: error: 'esp' was not declared in this scope; did you mean 'exp'?
261 | esp.print("AT+CIPSEND="); esp.println(length);
| ^~~
| exp
Using library SoftwareSerial at version 6.12.7 in folder: C:\Users\PATRICK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\SoftwareSerial
exit status 1
Exception in thread "AWT-EventQueue-0" 'ESPConn' does not name a type
java.lang.NullPointerException
at org.fife.ui.rsyntaxtextarea.TokenMakerBase.addToken(TokenMakerBase.java:136)
at processing.app.syntax.SketchTokenMaker.addToken(SketchTokenMaker.java:73)
at org.fife.ui.rsyntaxtextarea.TokenMakerBase.addToken(TokenMakerBase.java:110)
at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1868)
at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1852)
at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1841)
at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.yylex(CPlusPlusTokenMaker.java:2213)
at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.getTokenList(CPlusPlusTokenMaker.java:1919)
at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.getTokenListForLine(RSyntaxDocument.java:431)
at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:306)
at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.refreshFontMetrics(RSyntaxTextArea.java:2106)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.setFont(RSyntaxTextArea.java:2545)
at processing.app.EditorTab.applyPreferences(EditorTab.java:333)
at processing.app.Editor.lambda$selectTab$52(Editor.java:1457)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)