String readString = ""; void showWebClient() { EthernetClient client = server.available(); if (client) { Serial.println(">>>>>>>>> NEW Client"); // an http request ends with a blank line boolean currentLineIsBlank = true; if (client.connected()) { Serial.println("client.connected"); Serial.println(client .available()); while (client .available()) { char c = client.read(); //Serial.println(c); if (c == '\n') { Serial.println(">>>>> request cleared"); Serial.println(request); request = ""; } else { request += c; //Serial.println(request); } } if (request.length() > 0) { //------------------------------------------- //Network request.replace("new_myTCPserverIP=", ""); request.replace("new_myTCPserverPort=", ""); request.replace("new_ipAddress=", ""); request.replace("new_subnet=", ""); request.replace("new_gateway=", ""); //------------------------------------------- //Operations request.replace("new_basenum=", ""); request.replace("new_speedfactor=", ""); request.replace("new_minamp0=", ""); //------------------------------------------- //Geometry request.replace("new_triggerheight=", ""); request.replace("new_xdist01=", ""); request.replace("new_xdist12=", ""); request.replace("new_zdist0=", ""); //------------------------------------------- //Stored Values (no changes) //vtHeight0 //vtHeight1 //vtHeight2 //reserved //reserved //reserved //------------------------------------------- request = request + '&' + '\n'; Serial.print("R E Q U E S T = "); Serial.println(request); Serial.print("POS 1 = "); Serial.println(pos1); Serial.print("POS 2 = "); Serial.println(pos2); pos1 = 0; for (int i = 0; i < numEEPROMVariables; i++) { str[i] = request.substring(pos1, pos2); } Serial.print("------------------------>>>> proceeding to write length = "); Serial.println(request.length()); if (request.length() < 1000) { Serial.println("------------------------>>>> Writing EEPROM"); for (int i = 0; i < numEEPROMVariables; i++) { //Serial.print("-"); //Serial.print(i); str[i] = ""; pos2 = request.indexOf("&", pos1); str[i] = request.substring(pos1, pos2); pos1 = pos2 + 1; if (str[i].length() > 0) { if (i == numEEPROMVariables - 1) str[numEEPROMVariables - 1].replace("+", " "); str[i] += " "; str[i] = str[i].substring(0, 25); //Serial.print("str_write:"); //Serial.print(str[i]); //Serial.println(':'); for (int j = 0; j < 25; j++) { //int myNum = int(str[i].charAt(j)); //if (((myNum > 45) && (myNum < 58)) || (myNum == 32)) //to avoid EEPROM corruption - only allows number, . and space { EEPROM.write(i * 25 + j, byte(str[i].charAt(j))); } } Serial.print(" Writing "); Serial.print(i); Serial.print(" str[i] = "); Serial.println(str[i]); } } Serial.println(">>>>>>>>>>>>>>>> Done Writing >>>>>>>>>>>>>>>>"); } request = ""; f = false; } //if (request.length() > 0) Serial.println("Reading EEPROM"); for (int i = 0; i < numEEPROMVariables; i++) { str[i] = ""; for (int j = 0; j < 25; j++) { str[i] += char(EEPROM.read(i * 25 + j)); } str[i].trim(); Serial.print ("------------------------>>>> Read EEPROM"); Serial.print (" I = "); Serial.print (i); Serial.print (" "); Serial.println(str[i]); } //----------------------------------------------------------------------------------------------------------------------------------- // send a standard http response header client.println(F("HTTP/1.1 200 OK")); client.println(F("Content-Type: text/html")); client.println(F("Connection: close")); // the connection will be closed after completion of the response client.println(); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("
")); client.println(F("

")); client.println(F("A B C")); client.println(F("
")); client.println(F("Ver. 1.0.0")); client.println(F("
")); client.println(F("

")); if (f) { client.println(F("
")); } client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); //--------------------------------------------------------------------------------------------------------------------------------------------------------- //Network //--------------------------------------------------------------------------------------------------------------------------------------------------------- client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); //--------------------------------------------------------------------------------------------------------------------------------------------------------- //Operations //--------------------------------------------------------------------------------------------------------------------------------------------------------- client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); //--------------------------------------------------------------------------------------------------------------------------------------------------------- //Geometry //--------------------------------------------------------------------------------------------------------------------------------------------------------- client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); client.println(F("")); //--------------------------------------------------------------------------------------------------------------------------------------------------------- client.println(F("
VariableStored ValueNew Value
Server IP")); client.println(str[0]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Server Port")); client.println(str[1]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
IP Address")); client.println(str[2]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Subnet")); client.println(str[3]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Gateway")); client.println(str[4]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Base Number")); client.println(str[5]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Speed Factor")); client.println(str[6]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Min Amplitude(0)")); client.println(str[7]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Trigger Height")); client.println(str[8]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Hz Distance (0-1)")); client.println(str[9]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Hz Distance (1-2)")); client.println(str[10]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
Z Distance (0)")); client.println(str[11]); client.println(F("")); if (f) { client.println(F("")); } client.println(F("
")); client.println(F("
")); if (f) { client.println(F("
")); client.println(F("")); } client.println(F("
")); client.println(F("")); client.println(F("")); f = true; // give the web browser time to receive the data delay(200); // close the connection: client.stop(); Serial.println("Client disconnected"); } } }