what is the simplest way please, to pass the ssid and password between these functions?
in my main code I have
#include <WiFi.h>
#define BAUDRATE 115200
char ssid[50];
char pass[50];
void setup() {
Serial.begin(BAUDRATE);
Serial.println();
serGetCreds(); //gets credentilals but they arent passed to the connectWiFi() function
/* // however like this it works
Serial.print("Enter your WiFi credentials.\n");
Serial.print("SSID: ");
while (Serial.available() == 0) {
// wait
}
Serial.readBytesUntil(10, ssid, 50);
Serial.println(ssid);
Serial.println("PASS: ");
while (Serial.available() == 0) {
// wait
}
Serial.readBytesUntil(10, pass, 50);
Serial.println(pass);
*/
connectWiFi(ssid, pass);
}
and in another tab
void serGetCreds(){
Serial.print("Enter your WiFi credentials.\n");
Serial.print("SSID: ");
while (Serial.available() == 0) {
// wait
}
Serial.readBytesUntil(10, ssid, 50);
Serial.println(ssid);
Serial.println("PASS: ");
while (Serial.available() == 0) {
// wait
}
Serial.readBytesUntil(10, pass, 50);
Serial.println(pass);
}
void connectWiFi(char* ssid, char* pass) {
WiFi.begin(ssid, pass);
//confirm ssid, pwd
Serial.print("Initialising SSID: ");
Serial.print(ssid);
Serial.print(" with PASS: ");
Serial.println(pass);
delay(200); //allow time to connect
// Wait until connection completed
Serial.print("Connecting to AP...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Ok\n");
Serial.print("IP number is ");
Serial.print(WiFi.localIP());
Serial.print(" MAC address is ");
Serial.println(WiFi.macAddress());
Serial.print("WiFi connection signal Strength (RRSI): ");
Serial.println(WiFi.RSSI());
}