Sketch ESPConn error

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)

Welcome to the forum

Please post you complete sketch and complete error message using code tags when you do

Is there an ESPConn.h that you were supposed to #include?

Thanks Bob, I have re-edited and hope this now makes sense.

Thanks John, I have re-edited and hope this now makes sense.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.