From ce55c874ec3c7e36c12a8cfd76c00e83307a964d Mon Sep 17 00:00:00 2001
From: Marcus
Date: Thu, 18 Apr 2024 02:13:05 +0200
Subject: [PATCH] firmware wip
---
Arduino/CanGrow/CanGrow.ino | 66 +++++++++++++++++++++++++++++++++++--
1 file changed, 63 insertions(+), 3 deletions(-)
diff --git a/Arduino/CanGrow/CanGrow.ino b/Arduino/CanGrow/CanGrow.ino
index 19b42e9..bea7945 100644
--- a/Arduino/CanGrow/CanGrow.ino
+++ b/Arduino/CanGrow/CanGrow.ino
@@ -80,7 +80,7 @@ char WebUiPassword[32] = "cangrow";
// configured - if false, let the user configure system settings first
bool configured = false;
// NTP Offset
-int ntpOffset = 0;
+int ntpOffset;
// MoistureSensor_Type - contains which moisture sensor to use
// 1: analog capacitive sensor
// 2: I2C chirp sensor from catnip electronics
@@ -1037,7 +1037,10 @@ void WebHandler() {
// failed whole page every call. we can save up this 0,5kb traffic :o)
webserver.on("/favicon.ico", [](){ webserver.send(404, "text/html", "404 - not found"); });
webserver.onNotFound(WEB404);
-
+
+ // switching MOSFETs
+ webserver.on("/switch", HTTP_POST, POSTswitchMOSFET);
+
}
void WebRestart() {
@@ -1245,7 +1248,28 @@ void WEBroot() {
}
}
+
+ body += "";
+
+
body += "
";
+
+
body += returnHTMLfooter();
webserver.send(200, "text/html", body);
@@ -1529,7 +1553,7 @@ void POSTgrowSettings() {
- analogWrite(PINled, PINled_PWM);
+ //analogWrite(PINled, PINled_PWM);
Serial.println(":: POSTgrowSettings ::");
@@ -1678,7 +1702,43 @@ void POSTwifiSettings() {
webserver.send(302, "text/plain", "wifiSettings/save: success!");
}
+
+void POSTswitchMOSFET() {
+ byte MosfetState = webserver.arg("state").toInt();
+ byte MosfetNr = webserver.arg("output").toInt();
+ Serial.println(":: GETswitchMOSFET ::");
+ Serial.print("MosfetState: ");
+ Serial.println(MosfetState);
+ Serial.print("MosfetNr: ");
+ Serial.println(MosfetNr);
+
+ if((MosfetState > 1) || (MosfetState < 0)) {
+ webserver.send(400, "text/plain", "not valid\n");
+ } else {
+ switch(MosfetNr) {
+ case 1:
+ if( MosfetState == 1) {
+ analogWrite(PINled, PINled_PWM);
+ } else {
+ digitalWrite(PINled, MosfetState);
+ }
+ break;
+ case 2:
+ digitalWrite(PINpump, MosfetState);
+ break;
+ case 3:
+ digitalWrite(PINfan, MosfetState);
+ break;
+ default:
+ webserver.send(400, "text/plain", "not valid\n");
+ break;
+ }
+ webserver.sendHeader("Location", String("/?success"), true);
+ webserver.send(302, "text/plain", "wifiSettings/save: success!");
+ }
+}
+
/*
String JSreplaceStr(String elementID, String content) {
String jsReturn = "";