gcjr:
looks like the original code instantiated (i.e constructed) the serial interface at run time using a pointer
ss = new SoftwareSerial (GPS_RX_PIN, GPS_TX_PIN, GPS_INVERT, GPS_BUFSIZE);
the change defined it statically as a variable
SoftwareSerial ss(GPS_RX_PIN, GPS_TX_PIN);
hence the use of "->" and "."
i'm curious what the compiler error was
This is the statement that the compiler highlighted.
ss = new SoftwareSerial (GPS_RX_PIN, GPS_TX_PIN, GPS_INVERT, GPS_BUFSIZE);
Here is the original sketch compiled and its error. I think that the new syntax is only looking for 2 parameters rather than 4.
Arduino: 1.8.5 (Linux), Board: "Adafruit Feather HUZZAH ESP8266, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
sketch/Circum.cpp: In constructor 'Circum::Circum()':
Circum.cpp:21: error: no matching function for call to 'SoftwareSerial::SoftwareSerial(int, int, bool, int)'
ss = new SoftwareSerial (GPS_RX_PIN, GPS_TX_PIN, GPS_INVERT, GPS_BUFSIZE);
^
sketch/Circum.cpp:21:74: note: candidates are:
In file included from sketch/Circum.h:5:0,
from sketch/Circum.cpp:5:
/home/hexdump/Arduino-1.8.5/hardware/esp8266com/esp8266/libraries/SoftwareSerial/src/SoftwareSerial.h:94:5: note: SoftwareSerial::SoftwareSerial(int8_t, int8_t, bool)
SoftwareSerial(int8_t rxPin, int8_t txPin = -1, bool invert = false);
^
Multiple libraries were found for "SoftwareSerial.h"
Used: /home/hexdump/Arduino-1.8.5/hardware/esp8266com/esp8266/libraries/SoftwareSerial
Not used: /home/hexdump/Arduino-1.8.5/Sketches/libraries/EspSoftwareSerial
/home/hexdump/Arduino-1.8.5/hardware/esp8266com/esp8266/libraries/SoftwareSerial/src/SoftwareSerial.h:94:5: note: candidate expects 3 arguments, 4 provided
/home/hexdump/Arduino-1.8.5/hardware/esp8266com/esp8266/libraries/SoftwareSerial/src/SoftwareSerial.h:90:5: note: SoftwareSerial::SoftwareSerial()
SoftwareSerial();
^
/home/hexdump/Arduino-1.8.5/hardware/esp8266com/esp8266/libraries/SoftwareSerial/src/SoftwareSerial.h:90:5: note: candidate expects 0 arguments, 4 provided
exit status 1
no matching function for call to 'SoftwareSerial::SoftwareSerial(int, int, bool, int)'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.