Unclear error in code

I try to get the Arduino UNO Wifi rev2 working with 3 LED's. Example from library carrefully transferred according instructions from Woolley Workshop " Uno WiFi Rev2 Or Arduino Uno With WiFi Shield From A Web Browser". I don't know the error. Help would be appreciated!
Here follows the not working code:
#include <WiFiNINA.h>

char ssid[] = "NASSAU-1"; // your network SSID (name)
char pass[] = "x"; // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0; // your network key Index number (needed only for WEP)

const int redLED = 2;
const int yellowLED = 3;
const int greenLED = 5;

int status = WL_IDLE_STATUS;
WiFiServer server(80);

void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("Access Point Web Server");

pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT); // set the LED pin mode

// check for the WiFi module:
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("Communication with WiFi module failed!");
// don't continue
while (true)
;
}

String fv = WiFi.firmwareVersion();
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println("Please upgrade the firmware");
}

// print the network name (SSID);
Serial.print("Creating access point named: ");
Serial.println(ssid);

// Create open network. Change this line if you want to create an WEP network:
status = WiFi.beginAP(ssid, pass);
if (status != WL_AP_LISTENING) {
Serial.println("Creating access point failed");
// don't continue
while (true)
;
}

// wait 10 seconds for connection:
delay(10000);

// start the web server on port 80
server.begin();

// you're connected now, so print out the status
printWiFiStatus();
}

void loop() {
// compare the previous status to the current status
if (status != WiFi.status()) {
// it has changed update the variable
status = WiFi.status();

if (status == WL_AP_CONNECTED) {
  // a device has connected to the AP
  Serial.println("Device connected to AP");
} else {
  // a device has disconnected from the AP, and we are back in listening mode
  Serial.println("Device disconnected from AP");
}

}

WiFiClient client = server.available(); // listen for incoming clients

if (client) { // if you get a client,
Serial.println("new client"); // print a message out the serial port
String currentLine = ""; // make a String to hold incoming data from the client
while (client.connected()) { // loop while the client's connected
if (client.available()) { // if there's bytes to read from the client,
char c = client.read(); // read a byte, then
Serial.write(c); // print it out the serial monitor
if (c == '\n') { // if the byte is a newline character

      // if the current line is blank, you got two newline characters in a row.
      // that's the end of the client HTTP request, so send a response:
      if (currentLine.length() == 0) {
        // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
        // and a content-type so the client knows what's coming, then a blank line:
        client.println("HTTP/1.1 200 OK");
        client.println("Content-type:text/html");
        client.println();

        showWebPage(client);
        void showWebPage(WiFiClient client) {
          // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
          // and a content-type so the client knows what's coming, then a blank line:
          client.println("HTTP/1.1 200 OK");
          client.println("Content-type:text/html");
          client.println();
          // the content of the HTTP response follows the header:
          client.println("<h1>Arduino Remote Control</h1>");
          client.println("<table border=1 style='text-align:center'>");
          client.println("<tr><th>Component</th><th>Status</th><th>Control</th></tr>");
          // Red LED
          client.print("<tr><td>Red LED</td><td>");
          if (digitalRead(redLED)) {
            client.print("<font style='color:green;'>ON</font>");
          } else {
            client.print("<font style='color:red;'>OFF</font>");
          }
          client.println("</td><td><a href='/redLED/on'>ON</a> / <a href='/redLED/off'>OFF</a></td></tr>");
          // Yellow LED
          client.print("<tr><td>Yellow LED</td><td>");
          if (digitalRead(yellowLED)) {
            client.print("<font style='color:green;'>ON</font>");
          } else {
            client.print("<font style='color:red;'>OFF</font>");
          }
          client.println("</td><td><a href='/yellowLED/on'>ON</a> / <a href='/yellowLED/off'>OFF</a></td></tr>");
          // Green LED
          client.print("<tr><td>Green LED</td><td>");
          if (digitalRead(greenLED)) {
            client.print("<font style='color:green;'>ON</font>");
          } else {
            client.print("<font style='color:red;'>OFF</font>");
          }
          client.println("</td><td><a href='/greenLED/on'>ON</a> / <a href='/greenLED/off'>OFF</a></td></tr>");
          client.println("</table>");


          // The HTTP response ends with another blank line
          client.println();
        }
        // the content of the HTTP response follows the header:
        client.print("Click <a href=\"/H\">here</a> turn the LED on<br>");
        client.print("Click <a href=\"/L\">here</a> turn the LED off<br>");

        int randomReading = analogRead(A1);
        client.print("Random reading from analog pin: ");
        client.print(randomReading);

        // The HTTP response ends with another blank line:
        client.println();
        // break out of the while loop:
        break;
      } else {  // if you got a newline, then clear currentLine:
        currentLine = "";
      }
    } else if (c != '\r') {  // if you got anything else but a carriage return character,
      currentLine += c;      // add it to the end of the currentLine
    }
    performRequest(currentLine);
    void performRequest(String line) {
      if (line.endsWith("GET /redLED/on")) {
        digitalWrite(redLED, HIGH);
      } else if (line.endsWith("GET /redLED/off")) {
        digitalWrite(redLED, LOW);
      } else if (line.endsWith("GET /yellowLED/on")) {
        digitalWrite(yellowLED, HIGH);
      } else if (line.endsWith("GET /yellowLED/off")) {
        digitalWrite(yellowLED, LOW);
      } else if (line.endsWith("GET /greenLED/on")) {
        digitalWrite(greenLED, HIGH);
      } else if (line.endsWith("GET /greenLED/off")) {
        digitalWrite(greenLED, LOW);
      }
    }
  }
}
// close the connection:
client.stop();
Serial.println("client disconnected");

}
}

void printWiFiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());

// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);

// print where to go in a browser:
Serial.print("To see this page in action, open a browser to http://");
Serial.println(ip);
}

Use code tags to format code for the forum

please have a look at the code you posted.. see how unreadable that is ?

==> please Edit your post using the :pencil2: in the tool bar just below your post

select the code part and press the <code/> icon in the tool bar to mark it as code. (also make sure you indented the code in the IDE before copying, that’s done by pressing ctrlT on a PC or cmdT on a Mac)

➜ do yourself a favour and please read How to get the best out of this forum


and we are supposed to guess ?
does it compile ?

Hello J-M-L,

I tried to comply with your instructions, being a non-experienced pensionado in the Netherland.

I transferred the code to Arduino IDE and did the autoformat.

Returning with this edited code to Arduino Create Agent and the Web Editor as a new sketch I received the error message “showWebPage”not being not defined.

So, still the code is not working . What could this example making it working?

Your patient help would be appreciated.

Kind regards,

Leo van Nassau

Please go to your sketch. In the menus, find "Copy for Forum" and click on it. Go to the forum and start a new message. Paste with ctrl-V.

Nobody will read that, the way it is now.

Also, please post the entire error message, literally copy and paste. For that, you can use the />code/> icon above the reply window.

We're not trying to be cruel. These things are necessary.

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