Hello everyone,
I have a problem with my custom librairy. I try to use SoftwareSerial in my custom class constructor and make this instanciation global.
Here's my code to better understand:
.h file:
class WATC {
private:
int m_RxPin;
int m_TxPin;
String m_WifiMdp;
String m_ServerName;
SoftwareSerial m_ESP8266;
public:
WATC(int, int, String, String);
void initWatc();
};
.cpp file:
WATC::WATC(int rxpin, int txpin, String wifiMdp, String serverName){
m_RxPin = rxpin;
m_TxPin = txpin;
m_WifiMdp = wifiMdp;
m_ServerName = serverName;
SoftwareSerial m_ESP8266(m_TxPin, m_RxPin);
};
void WATC::initWatc(){
Serial.begin(9600);
m_ESP8266.begin(115200);
sendToEsp("AT+UART_DEF=9600,8,1,0,0");
m_ESP8266.begin(9600);
}
i want to use m_ESP8266 in another method.
Thanks for your help i'm new to arduino development
Use a member initializer list:
[color=#00979c]class[/color] [color=#000000]WATC[/color] [color=#000000]{[/color]
[color=#00979c]private[/color][color=#434f54]:[/color]
[color=#00979c]String[/color] [color=#000000]m_WifiMdp[/color][color=#000000];[/color]
[color=#00979c]String[/color] [color=#000000]m_ServerName[/color][color=#000000];[/color]
[b][color=#d35400]SoftwareSerial[/color][/b] [color=#000000]m_ESP8266[/color][color=#000000];[/color]
[color=#00979c]public[/color][color=#434f54]:[/color]
[color=#000000]WATC[/color][color=#000000]([/color][color=#00979c]int[/color] [color=#000000]rxpin[/color][color=#434f54],[/color] [color=#00979c]int[/color] [color=#000000]txpin[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]wifiMdp[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]serverName[/color][color=#000000])[/color][color=#000000];[/color]
[color=#00979c]void[/color] [color=#000000]initWatc[/color][color=#000000]([/color][color=#000000])[/color][color=#000000];[/color]
[color=#000000]}[/color][color=#000000];[/color]
[color=#000000]WATC[/color][color=#434f54]:[/color][color=#434f54]:[/color][color=#000000]WATC[/color][color=#000000]([/color][color=#00979c]int[/color] [color=#000000]rxpin[/color][color=#434f54],[/color] [color=#00979c]int[/color] [color=#000000]txpin[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]wifiMdp[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]serverName[/color][color=#000000])[/color]
[color=#434f54]:[/color] [color=#000000]m_WifiMdp[/color][color=#000000]([/color][color=#000000]wifiMdp[/color][color=#000000])[/color][color=#434f54],[/color] [color=#000000]m_ServerName[/color][color=#000000]([/color][color=#000000]serverName[/color][color=#000000])[/color][color=#434f54],[/color] [color=#000000]m_ESP8266[/color][color=#000000]([/color][color=#000000]rxpin[/color][color=#434f54],[/color] [color=#000000]txpin[/color][color=#000000])[/color] [color=#000000]{[/color][color=#000000]}[/color]
Pieter