Clean up, add wifi info to serial menu
This commit is contained in:
		
							
								
								
									
										274
									
								
								CG_scale.ino
									
									
									
									
									
								
							
							
						
						
									
										274
									
								
								CG_scale.ino
									
									
									
									
									
								
							@@ -4,12 +4,12 @@
 | 
			
		||||
                      (c) 2019 by M. Lehmann
 | 
			
		||||
  ------------------------------------------------------------------
 | 
			
		||||
*/
 | 
			
		||||
#define CGSCALE_VERSION "1.0.66"
 | 
			
		||||
#define CGSCALE_VERSION "1.1"
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
  ******************************************************************
 | 
			
		||||
  history:
 | 
			
		||||
  V1.1    beta          ESP8266
 | 
			
		||||
  V1.1    02.02.19      Supports ESP8266, webpage integrated, STA and AP mode
 | 
			
		||||
  V1.0    12.01.19      first release
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -97,6 +97,9 @@ enum {
 | 
			
		||||
  MENU_RESISTOR_R2,
 | 
			
		||||
  MENU_BATTERY_MEASUREMENT,
 | 
			
		||||
  MENU_SHOW_ACTUAL,
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
  MENU_WIFI_INFO,
 | 
			
		||||
#endif
 | 
			
		||||
  MENU_RESET_DEFAULT
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -199,6 +202,8 @@ int menuPage = 0;
 | 
			
		||||
String errMsg[5] = "";
 | 
			
		||||
int errMsgCnt = 0;
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
String wifiMsg = "";
 | 
			
		||||
bool wifiSTAmode = true;
 | 
			
		||||
char curModelName[MAX_MODELNAME_LENGHT + 1] = "";
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@@ -207,7 +212,7 @@ char curModelName[MAX_MODELNAME_LENGHT + 1] = "";
 | 
			
		||||
#if defined(__AVR__)
 | 
			
		||||
void(* resetCPU) (void) = 0;
 | 
			
		||||
#elif defined(ESP8266)
 | 
			
		||||
void resetCPU(){}
 | 
			
		||||
void resetCPU() {}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -250,14 +255,14 @@ bool runAutoCalibrate() {
 | 
			
		||||
  float toWeightLoadCell2 = ((refCG - distanceX1) * refWeight) / distanceX2;
 | 
			
		||||
  float toWeightLoadCell1 = refWeight - toWeightLoadCell2;
 | 
			
		||||
  float toWeightLoadCell3 = 0;
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    toWeightLoadCell1 = toWeightLoadCell1 / 2;
 | 
			
		||||
    toWeightLoadCell3 = toWeightLoadCell1;
 | 
			
		||||
  }
 | 
			
		||||
  // calculate calibration factors
 | 
			
		||||
  calFactorLoadcell1 = calFactorLoadcell1 / (toWeightLoadCell1 / weightLoadCell1);
 | 
			
		||||
  calFactorLoadcell2 = calFactorLoadcell2 / (toWeightLoadCell2 / weightLoadCell2);
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    calFactorLoadcell3 = calFactorLoadcell3 / (toWeightLoadCell3 / weightLoadCell3);
 | 
			
		||||
  }
 | 
			
		||||
  saveCalFactor1();
 | 
			
		||||
@@ -269,9 +274,9 @@ bool runAutoCalibrate() {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// check if a loadcell has error
 | 
			
		||||
bool getLoadcellError(){
 | 
			
		||||
bool getLoadcellError() {
 | 
			
		||||
  bool err = false;
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  if (LoadCell_1.getTareTimeoutFlag()) {
 | 
			
		||||
    errMsg[++errMsgCnt] = "ERROR: Timeout TARE Lc1\n";
 | 
			
		||||
    err = true;
 | 
			
		||||
@@ -282,7 +287,7 @@ bool getLoadcellError(){
 | 
			
		||||
    err = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    if (LoadCell_3.getTareTimeoutFlag()) {
 | 
			
		||||
      errMsg[++errMsgCnt] = "ERROR: Timeout TARE Lc3\n";
 | 
			
		||||
      err = true;
 | 
			
		||||
@@ -401,64 +406,85 @@ void setup() {
 | 
			
		||||
  // init & tare Loadcells
 | 
			
		||||
  LoadCell_1.begin();
 | 
			
		||||
  LoadCell_1.setCalFactor(calFactorLoadcell1);
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  LoadCell_2.begin();
 | 
			
		||||
  LoadCell_2.setCalFactor(calFactorLoadcell2);
 | 
			
		||||
  
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    LoadCell_3.begin();
 | 
			
		||||
    LoadCell_3.setCalFactor(calFactorLoadcell3);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // stabilize scale values
 | 
			
		||||
  while(millis() < STABILISINGTIME) {
 | 
			
		||||
  while (millis() < STABILISINGTIME) {
 | 
			
		||||
    LoadCell_1.update();
 | 
			
		||||
    LoadCell_2.update();
 | 
			
		||||
    if (nLoadcells > 2) {
 | 
			
		||||
    if (nLoadcells == 3) {
 | 
			
		||||
      LoadCell_3.update();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  LoadCell_1.tare();
 | 
			
		||||
  LoadCell_2.tare();
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    LoadCell_3.tare();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  getLoadcellError();
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
 | 
			
		||||
  // Start by connecting to a WiFi network
 | 
			
		||||
  // Start by connecting to a WiFi network 
 | 
			
		||||
  WiFi.mode(WIFI_STA);
 | 
			
		||||
  WiFi.begin(ssid_STA, password_STA);
 | 
			
		||||
 | 
			
		||||
  wifiMsg += TimeToString(millis());
 | 
			
		||||
  wifiMsg += " STA mode - connect with wifi: ";
 | 
			
		||||
  wifiMsg += ssid_STA;
 | 
			
		||||
  wifiMsg += "\n";
 | 
			
		||||
 | 
			
		||||
  long timeoutWiFi = millis();
 | 
			
		||||
  bool wifiSTAmode = true;
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  while (WiFi.status() != WL_CONNECTED) {
 | 
			
		||||
    delay(500);
 | 
			
		||||
    if (WiFi.status() == WL_NO_SSID_AVAIL) {
 | 
			
		||||
      wifiMsg += TimeToString(millis());
 | 
			
		||||
      wifiMsg += " No SSID available\n";
 | 
			
		||||
      break;
 | 
			
		||||
    } else if (WiFi.status() == WL_CONNECT_FAILED) {
 | 
			
		||||
      wifiMsg += TimeToString(millis());
 | 
			
		||||
      wifiMsg += " Connection failed\n";
 | 
			
		||||
      break;
 | 
			
		||||
    } else if ((millis() - timeoutWiFi) > TIMEOUT_CONNECT) {
 | 
			
		||||
      wifiMsg += TimeToString(millis());
 | 
			
		||||
      wifiMsg += " Timeout\n";
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (WiFi.status() != WL_CONNECTED) {
 | 
			
		||||
    // if WiFi not connected, switch to access point mode
 | 
			
		||||
    wifiSTAmode = false;
 | 
			
		||||
    wifiMsg += TimeToString(millis());
 | 
			
		||||
    wifiMsg += " AP mode - create access point: ";
 | 
			
		||||
    wifiMsg += ssid_AP;
 | 
			
		||||
    WiFi.mode(WIFI_AP);
 | 
			
		||||
    WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
 | 
			
		||||
    WiFi.softAP(ssid_AP, password_AP);
 | 
			
		||||
    wifiSTAmode = false;
 | 
			
		||||
    wifiMsg += "\n";
 | 
			
		||||
    wifiMsg += TimeToString(millis());
 | 
			
		||||
    wifiMsg += " IP: ";
 | 
			
		||||
    wifiMsg += WiFi.softAPIP().toString();
 | 
			
		||||
  } else {
 | 
			
		||||
    wifiMsg += TimeToString(millis());
 | 
			
		||||
    wifiMsg += " Connected, IP: ";
 | 
			
		||||
    wifiMsg += WiFi.localIP().toString();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // init mDNS
 | 
			
		||||
  String hostName = "disabled";
 | 
			
		||||
#if ENABLE_MDNS 
 | 
			
		||||
#if ENABLE_MDNS
 | 
			
		||||
  hostName = ssid_AP;
 | 
			
		||||
  hostName.replace(" ", "");
 | 
			
		||||
  hostName.toLowerCase();
 | 
			
		||||
@@ -467,6 +493,10 @@ void setup() {
 | 
			
		||||
  MDNS.begin(hostString);
 | 
			
		||||
  hostName += ".local";
 | 
			
		||||
#endif
 | 
			
		||||
  wifiMsg += "\n";
 | 
			
		||||
  wifiMsg += TimeToString(millis());
 | 
			
		||||
  wifiMsg += " Hostname: ";
 | 
			
		||||
  wifiMsg += hostName;
 | 
			
		||||
 | 
			
		||||
  // print wifi status
 | 
			
		||||
  oledDisplay.firstPage();
 | 
			
		||||
@@ -481,19 +511,19 @@ void setup() {
 | 
			
		||||
 | 
			
		||||
    oledDisplay.setFont(u8g2_font_helvR10_tr);
 | 
			
		||||
    oledDisplay.setCursor(28, 14);
 | 
			
		||||
    if(wifiSTAmode){
 | 
			
		||||
    if (wifiSTAmode) {
 | 
			
		||||
      oledDisplay.print(ssid_STA);
 | 
			
		||||
    }else{
 | 
			
		||||
    } else {
 | 
			
		||||
      oledDisplay.print(ssid_AP);
 | 
			
		||||
    }
 | 
			
		||||
    oledDisplay.setCursor(28, 39);
 | 
			
		||||
    oledDisplay.print(hostName);
 | 
			
		||||
    oledDisplay.setCursor(28, 64);
 | 
			
		||||
    if(wifiSTAmode){
 | 
			
		||||
    if (wifiSTAmode) {
 | 
			
		||||
      oledDisplay.print(WiFi.localIP());
 | 
			
		||||
    }else{
 | 
			
		||||
    } else {
 | 
			
		||||
      oledDisplay.print(WiFi.softAPIP());
 | 
			
		||||
    }    
 | 
			
		||||
    }
 | 
			
		||||
  } while ( oledDisplay.nextPage() );
 | 
			
		||||
  delay(3000);
 | 
			
		||||
 | 
			
		||||
@@ -523,7 +553,7 @@ void setup() {
 | 
			
		||||
 | 
			
		||||
  // init webserver
 | 
			
		||||
  server.begin();
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
#if ENABLE_MDNS
 | 
			
		||||
  // Add service to MDNS-SD
 | 
			
		||||
  MDNS.addService("http", "tcp", 80);
 | 
			
		||||
@@ -536,9 +566,18 @@ void setup() {
 | 
			
		||||
 | 
			
		||||
void loop() {
 | 
			
		||||
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
 | 
			
		||||
#if ENABLE_MDNS
 | 
			
		||||
  MDNS.update();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  server.handleClient();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  LoadCell_1.update();
 | 
			
		||||
  LoadCell_2.update();
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    LoadCell_3.update();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -549,7 +588,7 @@ void loop() {
 | 
			
		||||
    // get Loadcell weights
 | 
			
		||||
    weightLoadCell1 = LoadCell_1.getData();
 | 
			
		||||
    weightLoadCell2 = LoadCell_2.getData();
 | 
			
		||||
    if (nLoadcells > 2) {
 | 
			
		||||
    if (nLoadcells == 3) {
 | 
			
		||||
      weightLoadCell3 = LoadCell_3.getData();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -566,7 +605,7 @@ void loop() {
 | 
			
		||||
 | 
			
		||||
  // update display and serial menu
 | 
			
		||||
  if ((millis() - lastTimeMenu) > UPDATE_INTERVAL_OLED_MENU) {
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    lastTimeMenu = millis();
 | 
			
		||||
 | 
			
		||||
    // total model weight
 | 
			
		||||
@@ -580,7 +619,7 @@ void loop() {
 | 
			
		||||
      CG_length = ((weightLoadCell2 * distanceX2) / weightTotal) + distanceX1;
 | 
			
		||||
 | 
			
		||||
      // CG transverse axis
 | 
			
		||||
      if (nLoadcells > 2) {
 | 
			
		||||
      if (nLoadcells == 3) {
 | 
			
		||||
        CG_trans = (distanceX3 / 2) - (((weightLoadCell1 + weightLoadCell2 / 2) * distanceX3) / weightTotal);
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
@@ -597,7 +636,7 @@ void loop() {
 | 
			
		||||
    char buff[8];
 | 
			
		||||
    int pos_weightTotal = 7;
 | 
			
		||||
    int pos_CG_length = 28;
 | 
			
		||||
    if (nLoadcells < 3) {
 | 
			
		||||
    if (nLoadcells == 2) {
 | 
			
		||||
      pos_weightTotal = 17;
 | 
			
		||||
      pos_CG_length = 45;
 | 
			
		||||
      if (!enableBatVolt) {
 | 
			
		||||
@@ -635,7 +674,7 @@ void loop() {
 | 
			
		||||
        oledDisplay.print(F(" mm"));
 | 
			
		||||
 | 
			
		||||
        // print CG transverse axis
 | 
			
		||||
        if (nLoadcells > 2) {
 | 
			
		||||
        if (nLoadcells == 3) {
 | 
			
		||||
          oledDisplay.drawXBMP(2, 47, 18, 18, CGtransImage);
 | 
			
		||||
          dtostrf(CG_trans, 5, 1, buff);
 | 
			
		||||
          oledDisplay.setCursor(93 - oledDisplay.getStrWidth(buff), 64);
 | 
			
		||||
@@ -772,11 +811,6 @@ void loop() {
 | 
			
		||||
            menuPage = 0;
 | 
			
		||||
            updateMenu = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MENU_SHOW_ACTUAL:
 | 
			
		||||
            Serial.readString();
 | 
			
		||||
            menuPage = 0;
 | 
			
		||||
            updateMenu = true;
 | 
			
		||||
            break;
 | 
			
		||||
          case MENU_RESET_DEFAULT:
 | 
			
		||||
            if (Serial.read() == 'J') {
 | 
			
		||||
              // reset eeprom
 | 
			
		||||
@@ -796,6 +830,11 @@ void loop() {
 | 
			
		||||
            menuPage = 0;
 | 
			
		||||
            updateMenu = true;
 | 
			
		||||
            break;
 | 
			
		||||
          default:
 | 
			
		||||
            Serial.readString();
 | 
			
		||||
            menuPage = 0;
 | 
			
		||||
            updateMenu = true;
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        Serial.readString();
 | 
			
		||||
 | 
			
		||||
@@ -809,39 +848,92 @@ void loop() {
 | 
			
		||||
        case MENU_HOME:
 | 
			
		||||
          Serial.print(F("\n\n********************************************\nCG scale by M.Lehmann - V"));
 | 
			
		||||
          Serial.print(CGSCALE_VERSION);
 | 
			
		||||
          Serial.print(F("\n\n1  - Set number of load cells ("));
 | 
			
		||||
          Serial.print(F("\n\n"));
 | 
			
		||||
 | 
			
		||||
          Serial.print(MENU_LOADCELLS);
 | 
			
		||||
          Serial.print(F("  - Set number of load cells ("));
 | 
			
		||||
          Serial.print(nLoadcells);
 | 
			
		||||
          Serial.print(F(")\n2  - Set distance X1 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F(")\n"));
 | 
			
		||||
          Serial.print(MENU_DISTANCE_X1);
 | 
			
		||||
          Serial.print(F("  - Set distance X1 ("));
 | 
			
		||||
          Serial.print(distanceX1);
 | 
			
		||||
          Serial.print(F("mm)\n3  - Set distance X2 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("mm)\n"));
 | 
			
		||||
          Serial.print(MENU_DISTANCE_X2);
 | 
			
		||||
          Serial.print(F("  - Set distance X2 ("));
 | 
			
		||||
          Serial.print(distanceX2);
 | 
			
		||||
          Serial.print(F("mm)\n4  - Set distance X3 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("mm)\n"));
 | 
			
		||||
          Serial.print(MENU_DISTANCE_X3);
 | 
			
		||||
          Serial.print(F("  - Set distance X3 ("));
 | 
			
		||||
          Serial.print(distanceX3);
 | 
			
		||||
          Serial.print(F("mm)\n5  - Set reference weight ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("mm)\n"));
 | 
			
		||||
          Serial.print(MENU_REF_WEIGHT);
 | 
			
		||||
          Serial.print(F("  - Set reference weight ("));
 | 
			
		||||
          Serial.print(refWeight);
 | 
			
		||||
          Serial.print(F("g)\n6  - Set reference CG ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("g)\n"));
 | 
			
		||||
          Serial.print(MENU_REF_CG);
 | 
			
		||||
          Serial.print(F("  - Set reference CG ("));
 | 
			
		||||
          Serial.print(refCG);
 | 
			
		||||
          Serial.print(F("mm)\n7  - Start autocalibration\n8  - Set calibration factor of load cell 1 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("mm)\n"));
 | 
			
		||||
          Serial.print(MENU_AUTO_CALIBRATE);
 | 
			
		||||
          Serial.print(F("  - Start autocalibration\n"));
 | 
			
		||||
 | 
			
		||||
          Serial.print(MENU_LOADCELL1_CALIBRATION_FACTOR);
 | 
			
		||||
          Serial.print(F("  - Set calibration factor of load cell 1 ("));
 | 
			
		||||
          Serial.print(calFactorLoadcell1);
 | 
			
		||||
          Serial.print(F(")\n9  - Set calibration factor of load cell 2 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F(")\n"));
 | 
			
		||||
          Serial.print(MENU_LOADCELL2_CALIBRATION_FACTOR);
 | 
			
		||||
          Serial.print(F("  - Set calibration factor of load cell 2 ("));
 | 
			
		||||
          Serial.print(calFactorLoadcell2);
 | 
			
		||||
          Serial.print(F(")\n10 - Set calibration factor of load cell 3 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F(")\n"));
 | 
			
		||||
          Serial.print(MENU_LOADCELL3_CALIBRATION_FACTOR);
 | 
			
		||||
          Serial.print(F(" - Set calibration factor of load cell 3 ("));
 | 
			
		||||
          Serial.print(calFactorLoadcell3);
 | 
			
		||||
          Serial.print(F(")\n11 - Set value of resistor R1 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F(")\n"));
 | 
			
		||||
          Serial.print(MENU_RESISTOR_R1);
 | 
			
		||||
          Serial.print(F(" - Set value of resistor R1 ("));
 | 
			
		||||
          Serial.print(resistorR1);
 | 
			
		||||
          Serial.print(F("ohm)\n12 - Set value of resistor R2 ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("ohm)\n"));
 | 
			
		||||
          Serial.print(MENU_RESISTOR_R2);
 | 
			
		||||
          Serial.print(F(" - Set value of resistor R2 ("));
 | 
			
		||||
          Serial.print(resistorR2);
 | 
			
		||||
          Serial.print(F("ohm)\n13 - Enable battery voltage measurement ("));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("ohm)\n"));
 | 
			
		||||
          Serial.print(MENU_BATTERY_MEASUREMENT);
 | 
			
		||||
          Serial.print(F(" - Enable battery voltage measurement ("));
 | 
			
		||||
          if (enableBatVolt) {
 | 
			
		||||
            Serial.print(F("enabled)\n"));
 | 
			
		||||
          } else {
 | 
			
		||||
            Serial.print(F("disabled)\n"));
 | 
			
		||||
          }
 | 
			
		||||
          Serial.print(F("14 - Show actual values\n15 - Reset to factory defaults\n\n"));
 | 
			
		||||
 | 
			
		||||
          Serial.print(MENU_SHOW_ACTUAL);
 | 
			
		||||
          Serial.print(F(" - Show actual values\n"));
 | 
			
		||||
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
          Serial.print(MENU_WIFI_INFO);
 | 
			
		||||
          Serial.print(F(" - Show WiFi network info\n"));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
          Serial.print(MENU_RESET_DEFAULT);
 | 
			
		||||
          Serial.print(F(" - Reset to factory defaults\n"));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("\n"));
 | 
			
		||||
          for (int i = 1; i <= errMsgCnt; i++) {
 | 
			
		||||
            Serial.print(errMsg[i]);
 | 
			
		||||
          }
 | 
			
		||||
          Serial.print(F("Please choose the menu number:"));
 | 
			
		||||
 | 
			
		||||
          Serial.print(F("\nPlease choose the menu number:"));
 | 
			
		||||
 | 
			
		||||
          updateMenu = false;
 | 
			
		||||
          break;
 | 
			
		||||
        case MENU_LOADCELLS:
 | 
			
		||||
@@ -928,7 +1020,7 @@ void loop() {
 | 
			
		||||
          Serial.print(weightLoadCell1);
 | 
			
		||||
          Serial.print(F("g  Lc2: "));
 | 
			
		||||
          Serial.print(weightLoadCell2);
 | 
			
		||||
          if (nLoadcells > 2) {
 | 
			
		||||
          if (nLoadcells == 3) {
 | 
			
		||||
            Serial.print(F("g  Lc3: "));
 | 
			
		||||
            Serial.print(weightLoadCell3);
 | 
			
		||||
          }
 | 
			
		||||
@@ -936,7 +1028,7 @@ void loop() {
 | 
			
		||||
          Serial.print(weightTotal);
 | 
			
		||||
          Serial.print(F("g  CG length: "));
 | 
			
		||||
          Serial.print(CG_length);
 | 
			
		||||
          if (nLoadcells > 2) {
 | 
			
		||||
          if (nLoadcells == 3) {
 | 
			
		||||
            Serial.print(F("mm  CG trans: "));
 | 
			
		||||
            Serial.print(CG_trans);
 | 
			
		||||
            Serial.print(F("mm"));
 | 
			
		||||
@@ -948,6 +1040,53 @@ void loop() {
 | 
			
		||||
          }
 | 
			
		||||
          Serial.println();
 | 
			
		||||
          break;
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
        case MENU_WIFI_INFO:
 | 
			
		||||
          {
 | 
			
		||||
            Serial.println("\n\n********************************************\nWiFi network information\n");
 | 
			
		||||
            Serial.println("# Startup log:");
 | 
			
		||||
            Serial.println(wifiMsg);
 | 
			
		||||
            Serial.println("# end of log");
 | 
			
		||||
 | 
			
		||||
            if(wifiSTAmode == false){
 | 
			
		||||
              Serial.print("\nConnected clients: ");
 | 
			
		||||
              Serial.println(WiFi.softAPgetStationNum());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Serial.println("\nAvailable WiFi networks:");
 | 
			
		||||
            int wifiCnt = WiFi.scanNetworks();
 | 
			
		||||
            if (wifiCnt == 0) {
 | 
			
		||||
              Serial.println("no networks found");
 | 
			
		||||
            } else {
 | 
			
		||||
              for (int i = 0; i < wifiCnt; ++i) {
 | 
			
		||||
                // Print SSID and RSSI for each network found
 | 
			
		||||
                Serial.print(i + 1);
 | 
			
		||||
                Serial.print(": ");
 | 
			
		||||
                Serial.print(WiFi.SSID(i));
 | 
			
		||||
                Serial.print(" (");
 | 
			
		||||
                Serial.print(WiFi.RSSI(i));
 | 
			
		||||
                Serial.print("dBm) ");
 | 
			
		||||
                switch (WiFi.encryptionType(i)) {
 | 
			
		||||
                  case ENC_TYPE_WEP:
 | 
			
		||||
                    Serial.print("WEP");
 | 
			
		||||
                    break;
 | 
			
		||||
                  case ENC_TYPE_TKIP:
 | 
			
		||||
                    Serial.print("WPA");
 | 
			
		||||
                    break;
 | 
			
		||||
                  case ENC_TYPE_CCMP:
 | 
			
		||||
                    Serial.print("WPA2");
 | 
			
		||||
                    break;
 | 
			
		||||
                  case ENC_TYPE_AUTO:
 | 
			
		||||
                    Serial.print("Auto");
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                Serial.println("");
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          updateMenu = false;
 | 
			
		||||
          break;
 | 
			
		||||
#endif
 | 
			
		||||
        case MENU_RESET_DEFAULT:
 | 
			
		||||
          Serial.print(F("\n\nReset to factory defaults (J/N)?\n"));
 | 
			
		||||
          updateMenu = false;
 | 
			
		||||
@@ -958,16 +1097,6 @@ void loop() {
 | 
			
		||||
      updateMenu = true;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#if defined(ESP8266)
 | 
			
		||||
 | 
			
		||||
#if ENABLE_MDNS
 | 
			
		||||
  MDNS.update();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  server.handleClient();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1175,10 +1304,10 @@ void autoCalibrate() {
 | 
			
		||||
void runTare() {
 | 
			
		||||
  LoadCell_1.tare();
 | 
			
		||||
  LoadCell_2.tare();
 | 
			
		||||
  if (nLoadcells > 2) {
 | 
			
		||||
  if (nLoadcells == 3) {
 | 
			
		||||
    LoadCell_3.tare();
 | 
			
		||||
  }
 | 
			
		||||
  if (!getLoadcellError()){
 | 
			
		||||
  if (!getLoadcellError()) {
 | 
			
		||||
    server.send(200, "text/plain", "tare completed");
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
@@ -1423,4 +1552,19 @@ void writeModelData(JsonObject& object) {
 | 
			
		||||
  object["x2"] = distanceX2;
 | 
			
		||||
  object["x3"] = distanceX3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// convert time to string
 | 
			
		||||
char * TimeToString(unsigned long t)
 | 
			
		||||
{
 | 
			
		||||
  static char str[13];
 | 
			
		||||
  int h = t / 3600000;
 | 
			
		||||
  t = t % 3600000;
 | 
			
		||||
  int m = t / 60000;
 | 
			
		||||
  t = t % 60000;
 | 
			
		||||
  int s = t / 1000;
 | 
			
		||||
  int ms = t - (s * 1000);
 | 
			
		||||
  sprintf(str, "%02ld:%02d:%02d.%03d", h, m, s, ms);
 | 
			
		||||
  return str;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -130,7 +130,7 @@ U8G2_SH1106_128X64_NONAME_1_HW_I2C oledDisplay(U8G2_R0, /* reset=*/ U8X8_PIN_NON
 | 
			
		||||
// Station mode: connect to available network
 | 
			
		||||
#define SSID_STA                    "myWiFi"
 | 
			
		||||
#define PASSWORD_STA                ""
 | 
			
		||||
#define TIMEOUT_CONNECT             15000   //ms
 | 
			
		||||
#define TIMEOUT_CONNECT             30000   //ms
 | 
			
		||||
 | 
			
		||||
// Access point mode: create own network
 | 
			
		||||
#define SSID_AP                     "CG scale"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user