I am trying to make my sketch modular ,
So I set this up:
// connection.h
namespace Funcs
{
class Connect
{
public:
void connectWifi();
};
}
then I created :
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include "connection.h"
const char* ssid = "ssid";
const char* password = "password";
namespace Funcs
{
void connectWifi() {
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(10);
Serial.print(".");
}
Serial.println("");
Serial.print("WiFi connected with ip ");
Serial.println(WiFi.localIP());
}
}
and then the main sketch ino file.
#include "connection.h"
#include <ESP8266WiFi.h>
#include <ESP8266Ping.h>
#include <ESP8266WebServer.h>
#include <ArduinoJson.h>
#define HTTP_REST_PORT 80
void setup() {
Serial.begin(115200);
ads.setGain(GAIN_TWOTHIRDS);
ads.begin();
Funcs::Connect::connectWifi();
}
void loop (){
}
But this throws error when compiling:
Funcs::Connect::connectWifi();
^
exit status 1
cannot call member function 'void Funcs::Connect::connectWifi()' without object
I know I have done the same way in past but why is it not working with arduino ?