Clean up, add wifi info to serial menu
This commit is contained in:
parent
424cbe7024
commit
4028b67e1f
254
CG_scale.ino
254
CG_scale.ino
@ -4,12 +4,12 @@
|
|||||||
(c) 2019 by M. Lehmann
|
(c) 2019 by M. Lehmann
|
||||||
------------------------------------------------------------------
|
------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
#define CGSCALE_VERSION "1.0.66"
|
#define CGSCALE_VERSION "1.1"
|
||||||
/*
|
/*
|
||||||
|
|
||||||
******************************************************************
|
******************************************************************
|
||||||
history:
|
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
|
V1.0 12.01.19 first release
|
||||||
|
|
||||||
|
|
||||||
@ -97,6 +97,9 @@ enum {
|
|||||||
MENU_RESISTOR_R2,
|
MENU_RESISTOR_R2,
|
||||||
MENU_BATTERY_MEASUREMENT,
|
MENU_BATTERY_MEASUREMENT,
|
||||||
MENU_SHOW_ACTUAL,
|
MENU_SHOW_ACTUAL,
|
||||||
|
#if defined(ESP8266)
|
||||||
|
MENU_WIFI_INFO,
|
||||||
|
#endif
|
||||||
MENU_RESET_DEFAULT
|
MENU_RESET_DEFAULT
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -199,6 +202,8 @@ int menuPage = 0;
|
|||||||
String errMsg[5] = "";
|
String errMsg[5] = "";
|
||||||
int errMsgCnt = 0;
|
int errMsgCnt = 0;
|
||||||
#if defined(ESP8266)
|
#if defined(ESP8266)
|
||||||
|
String wifiMsg = "";
|
||||||
|
bool wifiSTAmode = true;
|
||||||
char curModelName[MAX_MODELNAME_LENGHT + 1] = "";
|
char curModelName[MAX_MODELNAME_LENGHT + 1] = "";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -207,7 +212,7 @@ char curModelName[MAX_MODELNAME_LENGHT + 1] = "";
|
|||||||
#if defined(__AVR__)
|
#if defined(__AVR__)
|
||||||
void(* resetCPU) (void) = 0;
|
void(* resetCPU) (void) = 0;
|
||||||
#elif defined(ESP8266)
|
#elif defined(ESP8266)
|
||||||
void resetCPU(){}
|
void resetCPU() {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -250,14 +255,14 @@ bool runAutoCalibrate() {
|
|||||||
float toWeightLoadCell2 = ((refCG - distanceX1) * refWeight) / distanceX2;
|
float toWeightLoadCell2 = ((refCG - distanceX1) * refWeight) / distanceX2;
|
||||||
float toWeightLoadCell1 = refWeight - toWeightLoadCell2;
|
float toWeightLoadCell1 = refWeight - toWeightLoadCell2;
|
||||||
float toWeightLoadCell3 = 0;
|
float toWeightLoadCell3 = 0;
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
toWeightLoadCell1 = toWeightLoadCell1 / 2;
|
toWeightLoadCell1 = toWeightLoadCell1 / 2;
|
||||||
toWeightLoadCell3 = toWeightLoadCell1;
|
toWeightLoadCell3 = toWeightLoadCell1;
|
||||||
}
|
}
|
||||||
// calculate calibration factors
|
// calculate calibration factors
|
||||||
calFactorLoadcell1 = calFactorLoadcell1 / (toWeightLoadCell1 / weightLoadCell1);
|
calFactorLoadcell1 = calFactorLoadcell1 / (toWeightLoadCell1 / weightLoadCell1);
|
||||||
calFactorLoadcell2 = calFactorLoadcell2 / (toWeightLoadCell2 / weightLoadCell2);
|
calFactorLoadcell2 = calFactorLoadcell2 / (toWeightLoadCell2 / weightLoadCell2);
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
calFactorLoadcell3 = calFactorLoadcell3 / (toWeightLoadCell3 / weightLoadCell3);
|
calFactorLoadcell3 = calFactorLoadcell3 / (toWeightLoadCell3 / weightLoadCell3);
|
||||||
}
|
}
|
||||||
saveCalFactor1();
|
saveCalFactor1();
|
||||||
@ -269,7 +274,7 @@ bool runAutoCalibrate() {
|
|||||||
|
|
||||||
|
|
||||||
// check if a loadcell has error
|
// check if a loadcell has error
|
||||||
bool getLoadcellError(){
|
bool getLoadcellError() {
|
||||||
bool err = false;
|
bool err = false;
|
||||||
|
|
||||||
if (LoadCell_1.getTareTimeoutFlag()) {
|
if (LoadCell_1.getTareTimeoutFlag()) {
|
||||||
@ -282,7 +287,7 @@ bool getLoadcellError(){
|
|||||||
err = true;
|
err = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
if (LoadCell_3.getTareTimeoutFlag()) {
|
if (LoadCell_3.getTareTimeoutFlag()) {
|
||||||
errMsg[++errMsgCnt] = "ERROR: Timeout TARE Lc3\n";
|
errMsg[++errMsgCnt] = "ERROR: Timeout TARE Lc3\n";
|
||||||
err = true;
|
err = true;
|
||||||
@ -405,23 +410,23 @@ void setup() {
|
|||||||
LoadCell_2.begin();
|
LoadCell_2.begin();
|
||||||
LoadCell_2.setCalFactor(calFactorLoadcell2);
|
LoadCell_2.setCalFactor(calFactorLoadcell2);
|
||||||
|
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
LoadCell_3.begin();
|
LoadCell_3.begin();
|
||||||
LoadCell_3.setCalFactor(calFactorLoadcell3);
|
LoadCell_3.setCalFactor(calFactorLoadcell3);
|
||||||
}
|
}
|
||||||
|
|
||||||
// stabilize scale values
|
// stabilize scale values
|
||||||
while(millis() < STABILISINGTIME) {
|
while (millis() < STABILISINGTIME) {
|
||||||
LoadCell_1.update();
|
LoadCell_1.update();
|
||||||
LoadCell_2.update();
|
LoadCell_2.update();
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
LoadCell_3.update();
|
LoadCell_3.update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadCell_1.tare();
|
LoadCell_1.tare();
|
||||||
LoadCell_2.tare();
|
LoadCell_2.tare();
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
LoadCell_3.tare();
|
LoadCell_3.tare();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -434,26 +439,47 @@ void setup() {
|
|||||||
WiFi.mode(WIFI_STA);
|
WiFi.mode(WIFI_STA);
|
||||||
WiFi.begin(ssid_STA, password_STA);
|
WiFi.begin(ssid_STA, password_STA);
|
||||||
|
|
||||||
|
wifiMsg += TimeToString(millis());
|
||||||
|
wifiMsg += " STA mode - connect with wifi: ";
|
||||||
|
wifiMsg += ssid_STA;
|
||||||
|
wifiMsg += "\n";
|
||||||
|
|
||||||
long timeoutWiFi = millis();
|
long timeoutWiFi = millis();
|
||||||
bool wifiSTAmode = true;
|
|
||||||
|
|
||||||
while (WiFi.status() != WL_CONNECTED) {
|
while (WiFi.status() != WL_CONNECTED) {
|
||||||
delay(500);
|
delay(500);
|
||||||
if (WiFi.status() == WL_NO_SSID_AVAIL) {
|
if (WiFi.status() == WL_NO_SSID_AVAIL) {
|
||||||
|
wifiMsg += TimeToString(millis());
|
||||||
|
wifiMsg += " No SSID available\n";
|
||||||
break;
|
break;
|
||||||
} else if (WiFi.status() == WL_CONNECT_FAILED) {
|
} else if (WiFi.status() == WL_CONNECT_FAILED) {
|
||||||
|
wifiMsg += TimeToString(millis());
|
||||||
|
wifiMsg += " Connection failed\n";
|
||||||
break;
|
break;
|
||||||
} else if ((millis() - timeoutWiFi) > TIMEOUT_CONNECT) {
|
} else if ((millis() - timeoutWiFi) > TIMEOUT_CONNECT) {
|
||||||
|
wifiMsg += TimeToString(millis());
|
||||||
|
wifiMsg += " Timeout\n";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (WiFi.status() != WL_CONNECTED) {
|
if (WiFi.status() != WL_CONNECTED) {
|
||||||
// if WiFi not connected, switch to access point mode
|
// 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.mode(WIFI_AP);
|
||||||
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
|
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
|
||||||
WiFi.softAP(ssid_AP, password_AP);
|
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
|
// init mDNS
|
||||||
@ -467,6 +493,10 @@ void setup() {
|
|||||||
MDNS.begin(hostString);
|
MDNS.begin(hostString);
|
||||||
hostName += ".local";
|
hostName += ".local";
|
||||||
#endif
|
#endif
|
||||||
|
wifiMsg += "\n";
|
||||||
|
wifiMsg += TimeToString(millis());
|
||||||
|
wifiMsg += " Hostname: ";
|
||||||
|
wifiMsg += hostName;
|
||||||
|
|
||||||
// print wifi status
|
// print wifi status
|
||||||
oledDisplay.firstPage();
|
oledDisplay.firstPage();
|
||||||
@ -481,17 +511,17 @@ void setup() {
|
|||||||
|
|
||||||
oledDisplay.setFont(u8g2_font_helvR10_tr);
|
oledDisplay.setFont(u8g2_font_helvR10_tr);
|
||||||
oledDisplay.setCursor(28, 14);
|
oledDisplay.setCursor(28, 14);
|
||||||
if(wifiSTAmode){
|
if (wifiSTAmode) {
|
||||||
oledDisplay.print(ssid_STA);
|
oledDisplay.print(ssid_STA);
|
||||||
}else{
|
} else {
|
||||||
oledDisplay.print(ssid_AP);
|
oledDisplay.print(ssid_AP);
|
||||||
}
|
}
|
||||||
oledDisplay.setCursor(28, 39);
|
oledDisplay.setCursor(28, 39);
|
||||||
oledDisplay.print(hostName);
|
oledDisplay.print(hostName);
|
||||||
oledDisplay.setCursor(28, 64);
|
oledDisplay.setCursor(28, 64);
|
||||||
if(wifiSTAmode){
|
if (wifiSTAmode) {
|
||||||
oledDisplay.print(WiFi.localIP());
|
oledDisplay.print(WiFi.localIP());
|
||||||
}else{
|
} else {
|
||||||
oledDisplay.print(WiFi.softAPIP());
|
oledDisplay.print(WiFi.softAPIP());
|
||||||
}
|
}
|
||||||
} while ( oledDisplay.nextPage() );
|
} while ( oledDisplay.nextPage() );
|
||||||
@ -536,9 +566,18 @@ void setup() {
|
|||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
|
#if defined(ESP8266)
|
||||||
|
|
||||||
|
#if ENABLE_MDNS
|
||||||
|
MDNS.update();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
server.handleClient();
|
||||||
|
#endif
|
||||||
|
|
||||||
LoadCell_1.update();
|
LoadCell_1.update();
|
||||||
LoadCell_2.update();
|
LoadCell_2.update();
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
LoadCell_3.update();
|
LoadCell_3.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -549,7 +588,7 @@ void loop() {
|
|||||||
// get Loadcell weights
|
// get Loadcell weights
|
||||||
weightLoadCell1 = LoadCell_1.getData();
|
weightLoadCell1 = LoadCell_1.getData();
|
||||||
weightLoadCell2 = LoadCell_2.getData();
|
weightLoadCell2 = LoadCell_2.getData();
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
weightLoadCell3 = LoadCell_3.getData();
|
weightLoadCell3 = LoadCell_3.getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -580,7 +619,7 @@ void loop() {
|
|||||||
CG_length = ((weightLoadCell2 * distanceX2) / weightTotal) + distanceX1;
|
CG_length = ((weightLoadCell2 * distanceX2) / weightTotal) + distanceX1;
|
||||||
|
|
||||||
// CG transverse axis
|
// CG transverse axis
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
CG_trans = (distanceX3 / 2) - (((weightLoadCell1 + weightLoadCell2 / 2) * distanceX3) / weightTotal);
|
CG_trans = (distanceX3 / 2) - (((weightLoadCell1 + weightLoadCell2 / 2) * distanceX3) / weightTotal);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -597,7 +636,7 @@ void loop() {
|
|||||||
char buff[8];
|
char buff[8];
|
||||||
int pos_weightTotal = 7;
|
int pos_weightTotal = 7;
|
||||||
int pos_CG_length = 28;
|
int pos_CG_length = 28;
|
||||||
if (nLoadcells < 3) {
|
if (nLoadcells == 2) {
|
||||||
pos_weightTotal = 17;
|
pos_weightTotal = 17;
|
||||||
pos_CG_length = 45;
|
pos_CG_length = 45;
|
||||||
if (!enableBatVolt) {
|
if (!enableBatVolt) {
|
||||||
@ -635,7 +674,7 @@ void loop() {
|
|||||||
oledDisplay.print(F(" mm"));
|
oledDisplay.print(F(" mm"));
|
||||||
|
|
||||||
// print CG transverse axis
|
// print CG transverse axis
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
oledDisplay.drawXBMP(2, 47, 18, 18, CGtransImage);
|
oledDisplay.drawXBMP(2, 47, 18, 18, CGtransImage);
|
||||||
dtostrf(CG_trans, 5, 1, buff);
|
dtostrf(CG_trans, 5, 1, buff);
|
||||||
oledDisplay.setCursor(93 - oledDisplay.getStrWidth(buff), 64);
|
oledDisplay.setCursor(93 - oledDisplay.getStrWidth(buff), 64);
|
||||||
@ -772,11 +811,6 @@ void loop() {
|
|||||||
menuPage = 0;
|
menuPage = 0;
|
||||||
updateMenu = true;
|
updateMenu = true;
|
||||||
break;
|
break;
|
||||||
case MENU_SHOW_ACTUAL:
|
|
||||||
Serial.readString();
|
|
||||||
menuPage = 0;
|
|
||||||
updateMenu = true;
|
|
||||||
break;
|
|
||||||
case MENU_RESET_DEFAULT:
|
case MENU_RESET_DEFAULT:
|
||||||
if (Serial.read() == 'J') {
|
if (Serial.read() == 'J') {
|
||||||
// reset eeprom
|
// reset eeprom
|
||||||
@ -796,6 +830,11 @@ void loop() {
|
|||||||
menuPage = 0;
|
menuPage = 0;
|
||||||
updateMenu = true;
|
updateMenu = true;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
Serial.readString();
|
||||||
|
menuPage = 0;
|
||||||
|
updateMenu = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
Serial.readString();
|
Serial.readString();
|
||||||
|
|
||||||
@ -809,39 +848,92 @@ void loop() {
|
|||||||
case MENU_HOME:
|
case MENU_HOME:
|
||||||
Serial.print(F("\n\n********************************************\nCG scale by M.Lehmann - V"));
|
Serial.print(F("\n\n********************************************\nCG scale by M.Lehmann - V"));
|
||||||
Serial.print(CGSCALE_VERSION);
|
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(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(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(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(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(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(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(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(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(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(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(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) {
|
if (enableBatVolt) {
|
||||||
Serial.print(F("enabled)\n"));
|
Serial.print(F("enabled)\n"));
|
||||||
} else {
|
} else {
|
||||||
Serial.print(F("disabled)\n"));
|
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++) {
|
for (int i = 1; i <= errMsgCnt; i++) {
|
||||||
Serial.print(errMsg[i]);
|
Serial.print(errMsg[i]);
|
||||||
}
|
}
|
||||||
Serial.print(F("Please choose the menu number:"));
|
|
||||||
|
Serial.print(F("\nPlease choose the menu number:"));
|
||||||
|
|
||||||
updateMenu = false;
|
updateMenu = false;
|
||||||
break;
|
break;
|
||||||
case MENU_LOADCELLS:
|
case MENU_LOADCELLS:
|
||||||
@ -928,7 +1020,7 @@ void loop() {
|
|||||||
Serial.print(weightLoadCell1);
|
Serial.print(weightLoadCell1);
|
||||||
Serial.print(F("g Lc2: "));
|
Serial.print(F("g Lc2: "));
|
||||||
Serial.print(weightLoadCell2);
|
Serial.print(weightLoadCell2);
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
Serial.print(F("g Lc3: "));
|
Serial.print(F("g Lc3: "));
|
||||||
Serial.print(weightLoadCell3);
|
Serial.print(weightLoadCell3);
|
||||||
}
|
}
|
||||||
@ -936,7 +1028,7 @@ void loop() {
|
|||||||
Serial.print(weightTotal);
|
Serial.print(weightTotal);
|
||||||
Serial.print(F("g CG length: "));
|
Serial.print(F("g CG length: "));
|
||||||
Serial.print(CG_length);
|
Serial.print(CG_length);
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
Serial.print(F("mm CG trans: "));
|
Serial.print(F("mm CG trans: "));
|
||||||
Serial.print(CG_trans);
|
Serial.print(CG_trans);
|
||||||
Serial.print(F("mm"));
|
Serial.print(F("mm"));
|
||||||
@ -948,6 +1040,53 @@ void loop() {
|
|||||||
}
|
}
|
||||||
Serial.println();
|
Serial.println();
|
||||||
break;
|
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:
|
case MENU_RESET_DEFAULT:
|
||||||
Serial.print(F("\n\nReset to factory defaults (J/N)?\n"));
|
Serial.print(F("\n\nReset to factory defaults (J/N)?\n"));
|
||||||
updateMenu = false;
|
updateMenu = false;
|
||||||
@ -958,16 +1097,6 @@ void loop() {
|
|||||||
updateMenu = true;
|
updateMenu = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ESP8266)
|
|
||||||
|
|
||||||
#if ENABLE_MDNS
|
|
||||||
MDNS.update();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
server.handleClient();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1175,10 +1304,10 @@ void autoCalibrate() {
|
|||||||
void runTare() {
|
void runTare() {
|
||||||
LoadCell_1.tare();
|
LoadCell_1.tare();
|
||||||
LoadCell_2.tare();
|
LoadCell_2.tare();
|
||||||
if (nLoadcells > 2) {
|
if (nLoadcells == 3) {
|
||||||
LoadCell_3.tare();
|
LoadCell_3.tare();
|
||||||
}
|
}
|
||||||
if (!getLoadcellError()){
|
if (!getLoadcellError()) {
|
||||||
server.send(200, "text/plain", "tare completed");
|
server.send(200, "text/plain", "tare completed");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1423,4 +1552,19 @@ void writeModelData(JsonObject& object) {
|
|||||||
object["x2"] = distanceX2;
|
object["x2"] = distanceX2;
|
||||||
object["x3"] = distanceX3;
|
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
|
#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
|
// Station mode: connect to available network
|
||||||
#define SSID_STA "myWiFi"
|
#define SSID_STA "myWiFi"
|
||||||
#define PASSWORD_STA ""
|
#define PASSWORD_STA ""
|
||||||
#define TIMEOUT_CONNECT 15000 //ms
|
#define TIMEOUT_CONNECT 30000 //ms
|
||||||
|
|
||||||
// Access point mode: create own network
|
// Access point mode: create own network
|
||||||
#define SSID_AP "CG scale"
|
#define SSID_AP "CG scale"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user