From d245dd03a4e0ba0d3cf2a248aaa4ffa627b5ebaa Mon Sep 17 00:00:00 2001 From: SK21 Date: Mon, 2 Dec 2024 19:31:16 -0600 Subject: [PATCH] update default pins --- Modules/ESP32 Rate/RC_ESP32/Begin.ino | 130 ++++++++++-------- Modules/ESP32 Rate/RC_ESP32/GUI.ino | 2 +- Modules/ESP32 Rate/RC_ESP32/Motor.ino | 2 +- Modules/ESP32 Rate/RC_ESP32/RC_ESP32.ino | 100 +++++++------- Modules/ESP32 Rate/RC_ESP32/Relays.ino | 11 +- Modules/ESP32 Rate/RC_ESP32/UDPComm.ino | 18 ++- .../RateController/Resources/Pins.PNG | Bin 33272 -> 33328 bytes .../RateController/frmModuleConfig.cs | 10 +- 8 files changed, 150 insertions(+), 123 deletions(-) diff --git a/Modules/ESP32 Rate/RC_ESP32/Begin.ino b/Modules/ESP32 Rate/RC_ESP32/Begin.ino index 408fc78f..9ad30ca8 100644 --- a/Modules/ESP32 Rate/RC_ESP32/Begin.ino +++ b/Modules/ESP32 Rate/RC_ESP32/Begin.ino @@ -38,70 +38,76 @@ void DoSetup() Wire.setClock(400000); //Increase I2C data rate to 400kHz // ADS1115 - Serial.print("Starting ADS1115 at address "); - Serial.println(ADS1115_Address); - while (!ADSfound) + if (MDL.ADS1115Enabled) { - Wire.beginTransmission(ADS1115_Address); - Wire.write(0b00000000); //Point to Conversion register - Wire.endTransmission(); - Wire.requestFrom(ADS1115_Address, 2); - ADSfound = Wire.available(); - Serial.print("."); - delay(500); - if (ErrorCount++ > 10) break; - } - Serial.println(""); - if (ADSfound) - { - Serial.println("ADS1115 found."); - Serial.println(""); - } - else - { - Serial.print("ADS1115 not found."); - Serial.println("ADS1115 disabled."); + Serial.print("Starting ADS1115 at address "); + Serial.println(ADS1115_Address); + while (!ADSfound) + { + Wire.beginTransmission(ADS1115_Address); + Wire.write(0b00000000); //Point to Conversion register + Wire.endTransmission(); + Wire.requestFrom(ADS1115_Address, 2); + ADSfound = Wire.available(); + Serial.print("."); + delay(500); + if (ErrorCount++ > 10) break; + } Serial.println(""); + if (ADSfound) + { + Serial.println("ADS1115 found."); + Serial.println(""); + } + else + { + Serial.println("ADS1115 not found."); + Serial.println("ADS1115 disabled."); + Serial.println(""); + } } // ethernet - Serial.println("Starting Ethernet ..."); - MDL.IP3 = MDL.ID + 50; - IPAddress LocalIP(MDL.IP0, MDL.IP1, MDL.IP2, MDL.IP3); - static uint8_t LocalMac[] = { 0x0A,0x0B,0x42,0x0C,0x0D,MDL.IP3 }; - - Ethernet.init(W5500_SS); // SS pin - Ethernet.begin(LocalMac, 0); - Ethernet.setLocalIP(LocalIP); - IPAddress Mask(255, 255, 255, 0); - Ethernet.setSubnetMask(Mask); - IPAddress Gateway(MDL.IP0, MDL.IP1, MDL.IP2, 1); - Ethernet.setGatewayIP(Gateway); - - delay(1500); - ChipFound = (Ethernet.hardwareStatus() != EthernetNoHardware); - if (ChipFound) + if (MDL.EthernetEnabled) { - if (Ethernet.linkStatus() == LinkON) + Serial.println("Starting Ethernet ..."); + MDL.IP3 = MDL.ID + 50; + IPAddress LocalIP(MDL.IP0, MDL.IP1, MDL.IP2, MDL.IP3); + static uint8_t LocalMac[] = { 0x0A,0x0B,0x42,0x0C,0x0D,MDL.IP3 }; + + Ethernet.init(W5500_SS); // SS pin + Ethernet.begin(LocalMac, 0); + Ethernet.setLocalIP(LocalIP); + IPAddress Mask(255, 255, 255, 0); + Ethernet.setSubnetMask(Mask); + IPAddress Gateway(MDL.IP0, MDL.IP1, MDL.IP2, 1); + Ethernet.setGatewayIP(Gateway); + + delay(1500); + ChipFound = (Ethernet.hardwareStatus() != EthernetNoHardware); + if (ChipFound) { - Serial.println("Ethernet connected."); + if (Ethernet.linkStatus() == LinkON) + { + Serial.println("Ethernet connected."); + } + else + { + Serial.println("Ethernet not connected."); + } + Serial.print("IP Address: "); + Serial.println(Ethernet.localIP()); } else { - Serial.println("Ethernet not connected."); + Serial.println("Ethernet hardware not found."); } - Serial.print("IP Address: "); - Serial.println(Ethernet.localIP()); - } - else - { - Serial.println("Ethernet hardware not found."); - } - Ethernet_DestinationIP = IPAddress(MDL.IP0, MDL.IP1, MDL.IP2, 255); // update from saved data + Ethernet_DestinationIP = IPAddress(MDL.IP0, MDL.IP1, MDL.IP2, 255); // update from saved data - // UDP - UDP_Ethernet.begin(ListeningPort); + // UDP + UDP_Ethernet.begin(ListeningPort); + } // sensors for (int i = 0; i < MDL.SensorCount; i++) @@ -319,7 +325,7 @@ void DoSetup() Serial.println("OTA started."); // wifi client mode - if (MDL.WifiMode == 1) + if (MDL.WifiModeUseStation) { // connect to network delay(1000); @@ -388,13 +394,13 @@ void LoadDefaults() Serial.println("Loading default settings."); // RC17 - MDL.WorkPin = 2; - MDL.PressurePin = 15; + MDL.WorkPin = 13; + MDL.PressurePin = 33; // default flow pins - Sensor[0].FlowPin = 13; - Sensor[0].IN1 = 17; - Sensor[0].IN2 = 5; + Sensor[0].FlowPin = 32; + Sensor[0].IN1 = 4; + Sensor[0].IN2 = 16; Sensor[1].FlowPin = NC; Sensor[1].IN1 = NC; @@ -420,8 +426,12 @@ void LoadDefaults() } MDL.SensorCount = 1; MDL.RelayControl = 4; - MDL.WifiMode = 0; + MDL.WifiModeUseStation = false; MDL.Is3Wire = true; + MDL.ADS1115Enabled = false; + MDL.EthernetEnabled = false; + MDL.InvertFlow = false; + MDL.InvertRelay = false; } bool ValidData() @@ -459,7 +469,7 @@ bool ValidData() } if (!Result) break; } - + debug3 = Result; if (Result) { for (int i = 0; i < MDL.SensorCount; i++) @@ -502,7 +512,7 @@ bool ValidData() if (!Result) break; } } - + debug4 = Result; if (Result && MDL.RelayControl == 1) { // check GPIOs for relays diff --git a/Modules/ESP32 Rate/RC_ESP32/GUI.ino b/Modules/ESP32 Rate/RC_ESP32/GUI.ino index 91aed1d1..e3984a42 100644 --- a/Modules/ESP32 Rate/RC_ESP32/GUI.ino +++ b/Modules/ESP32 Rate/RC_ESP32/GUI.ino @@ -29,7 +29,7 @@ void handleCredentials() server.arg("prop1").toCharArray(MDL.SSID, sizeof(MDL.SSID) - 1); server.arg("prop2").toCharArray(MDL.Password, sizeof(MDL.Password) - 1); - MDL.WifiMode = 1; + MDL.WifiModeUseStation = true; server.send(200, "text/html", GetPage0()); diff --git a/Modules/ESP32 Rate/RC_ESP32/Motor.ino b/Modules/ESP32 Rate/RC_ESP32/Motor.ino index 908c5f62..cb765e71 100644 --- a/Modules/ESP32 Rate/RC_ESP32/Motor.ino +++ b/Modules/ESP32 Rate/RC_ESP32/Motor.ino @@ -46,7 +46,7 @@ void AdjustFlow() void SetPWM(byte ID, double PWM) { - if (MDL.FlowOnDirection == 0) PWM *= -1; // flow on low + if (MDL.InvertFlow) PWM *= -1; // flow on low if (PWM > 0) { diff --git a/Modules/ESP32 Rate/RC_ESP32/RC_ESP32.ino b/Modules/ESP32 Rate/RC_ESP32/RC_ESP32.ino index 168fb7b9..0fa1b837 100644 --- a/Modules/ESP32 Rate/RC_ESP32/RC_ESP32.ino +++ b/Modules/ESP32 Rate/RC_ESP32/RC_ESP32.ino @@ -17,8 +17,8 @@ #include // rate control with ESP32 board: DOIT ESP32 DEVKIT V1 -# define InoDescription "RC_ESP32 : 30-Nov-2024" -const uint16_t InoID = 30114; // change to send defaults to eeprom, ddmmy, no leading 0 +# define InoDescription "RC_ESP32 : 02-Dec-2024" +const uint16_t InoID = 2124; // change to send defaults to eeprom, ddmmy, no leading 0 const uint8_t InoType = 4; // 0 - Teensy AutoSteer, 1 - Teensy Rate, 2 - Nano Rate, 3 - Nano SwitchBox, 4 - ESP Rate const uint8_t Processor = 0; // 0 - ESP32-Wroom-32U @@ -41,8 +41,8 @@ struct ModuleConfig { uint8_t ID = 0; uint8_t SensorCount = 1; // up to 2 sensors, if 0 rate control will be disabled - uint8_t RelayOnSignal = 0; // value that turns on relays - uint8_t FlowOnDirection = 0; // sets on value for flow valve or sets motor direction + bool InvertRelay = false; // value that turns on relays + bool InvertFlow = false; // sets on value for flow valve or sets motor direction uint8_t IP0 = 192; uint8_t IP1 = 168; uint8_t IP2 = 1; @@ -51,13 +51,15 @@ struct ModuleConfig uint8_t RelayControl = 4; // 0 - no relays, 1 - GPIOs, 2 - PCA9555 8 relays, 3 - PCA9555 16 relays, 4 - MCP23017, 5 - PCA9685, 6 - PCF8574 char APname[ModStringLengths] = "RateModule"; char APpassword[ModStringLengths] = "111222333"; - uint8_t WifiMode = 0; // 0 AP mode, 1 Station + AP + bool WifiModeUseStation = false; // false - AP mode, true - AP + Station char SSID[ModStringLengths] = "Tractor"; // name of network ESP32 connects to char Password[ModStringLengths] = "111222333"; uint8_t WorkPin = 2; bool WorkPinIsMomentary = false; bool Is3Wire = true; // False - DRV8870 provides powered on/off with Output1/Output2, True - DRV8870 provides on/off with Output2 only, Output1 is off uint8_t PressurePin = 15; // NC - no pressure pin + bool ADS1115Enabled = false; + bool EthernetEnabled = false; }; ModuleConfig MDL; @@ -179,7 +181,7 @@ void WiFiStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info) if (DisconnectCount > 10) { // use AP mode only - MDL.WifiMode = 0; + MDL.WifiModeUseStation = false; SaveData(); ESP.restart(); } @@ -219,7 +221,7 @@ void loop() } SendComm(); server.handleClient(); - //Blink(); + Blink(); } byte ParseModID(byte ID) @@ -295,43 +297,47 @@ void CheckPressure() } } -//bool State = false; -//uint32_t LastBlink; -//uint32_t LastLoop; -//byte ReadReset; -//uint32_t MaxLoopTime; -//double debug1; -//double debug2; -//double debug3; -// -//void Blink() -//{ -// if (millis() - LastBlink > 1000) -// { -// LastBlink = millis(); -// State = !State; -// //digitalWrite(LED_BUILTIN, State); -// -// //Serial.print(" Micros: "); -// //Serial.print(MaxLoopTime); -// -// //Serial.print(", "); -// Serial.print(debug1); -// -// Serial.print(", "); -// Serial.print(debug2); -// -// Serial.print(", "); -// Serial.print(debug3); -// -// Serial.println(""); -// -// if (ReadReset++ > 5) -// { -// ReadReset = 0; -// MaxLoopTime = 0; -// } -// } -// if (micros() - LastLoop > MaxLoopTime) MaxLoopTime = micros() - LastLoop; -// LastLoop = micros(); -//} +bool State = false; +uint32_t LastBlink; +uint32_t LastLoop; +byte ReadReset; +uint32_t MaxLoopTime; +double debug1; +double debug2; +double debug3; +double debug4; + +void Blink() +{ + if (millis() - LastBlink > 1000) + { + LastBlink = millis(); + State = !State; + //digitalWrite(LED_BUILTIN, State); + + //Serial.print(" Micros: "); + //Serial.print(MaxLoopTime); + + //Serial.print(", "); + Serial.print(debug1); + + Serial.print(", "); + Serial.print(debug2); + + Serial.print(", "); + Serial.print(debug3); + + Serial.print(", "); + Serial.print(debug4); + + Serial.println(""); + + if (ReadReset++ > 5) + { + ReadReset = 0; + MaxLoopTime = 0; + } + } + if (micros() - LastLoop > MaxLoopTime) MaxLoopTime = micros() - LastLoop; + LastLoop = micros(); +} diff --git a/Modules/ESP32 Rate/RC_ESP32/Relays.ino b/Modules/ESP32 Rate/RC_ESP32/Relays.ino index 2b45f6b4..5029df20 100644 --- a/Modules/ESP32 Rate/RC_ESP32/Relays.ino +++ b/Modules/ESP32 Rate/RC_ESP32/Relays.ino @@ -55,7 +55,7 @@ void CheckRelays() { if (MDL.RelayPins[i + j * 8] < NC) // check if relay is enabled { - if (bitRead(Rlys, i)) digitalWrite(MDL.RelayPins[i + j * 8], MDL.RelayOnSignal); else digitalWrite(MDL.RelayPins[i + j * 8], !MDL.RelayOnSignal); + if (bitRead(Rlys, i)) digitalWrite(MDL.RelayPins[i + j * 8], MDL.InvertRelay); else digitalWrite(MDL.RelayPins[i + j * 8], !MDL.InvertRelay); } } } @@ -160,6 +160,13 @@ void CheckRelays() (bitRead(RelayLo, 6) ? 32 : 16) | (bitRead(RelayLo, 7) ? 128 : 64); } + if (MDL.InvertRelay) + { + mcpOutA = ~mcpOutA; + mcpOutB = ~mcpOutB; + } + debug1 = RelayLo; + debug2 = mcpOutA; // Send both outputs in a single transmission Wire.beginTransmission(MCP23017address); @@ -244,7 +251,7 @@ void CheckRelays() { for (int i = 0; i < 8; i++) { - if (bitRead(NewLo, i)) PCF.write(i, MDL.RelayOnSignal); else PCF.write(i, !MDL.RelayOnSignal); + if (bitRead(NewLo, i)) PCF.write(i, MDL.InvertRelay); else PCF.write(i, !MDL.InvertRelay); } } break; diff --git a/Modules/ESP32 Rate/RC_ESP32/UDPComm.ino b/Modules/ESP32 Rate/RC_ESP32/UDPComm.ino index 0aa33cee..9d394b8f 100644 --- a/Modules/ESP32 Rate/RC_ESP32/UDPComm.ino +++ b/Modules/ESP32 Rate/RC_ESP32/UDPComm.ino @@ -373,11 +373,13 @@ void ParseData(byte Data[], uint16_t len) //2 Module ID 0-15 //3 sensor count //4 commands - // bit 0 - Relay on high - // bit 1 - Flow on high - // bit 2 - client mode + // bit 0 - Invert relay control + // bit 1 - Invert flow control + // bit 2 - wifi station/client mode enabled // bit 3 - work pin is momentary // bit 4 - Is3Wire valve + // bit 5 - ADS1115 enabled + // bit 6 - Ethernet enabled //5 relay control type 0 - no relays, 1 - GPIOs, 2 - PCA9555 8 relays, 3 - PCA9555 16 relays, 4 - MCP23017 // , 5 - PCA9685, 6 - PCF8574 //6 wifi module serial port @@ -402,11 +404,13 @@ void ParseData(byte Data[], uint16_t len) MDL.SensorCount = Data[3]; byte tmp = Data[4]; - if ((tmp & 1) == 1) MDL.RelayOnSignal = 1; else MDL.RelayOnSignal = 0; - if ((tmp & 2) == 2) MDL.FlowOnDirection = 1; else MDL.FlowOnDirection = 0; - if ((tmp & 4) == 4) MDL.WifiMode = 1; else MDL.WifiMode = 0; - if ((tmp & 8) == 8) MDL.WorkPinIsMomentary = 1; else MDL.WorkPinIsMomentary = 0; + MDL.InvertRelay = ((tmp & 1) == 1); + MDL.InvertFlow = ((tmp & 2) == 2); + MDL.WifiModeUseStation = ((tmp & 4) == 4); + MDL.WorkPinIsMomentary = ((tmp & 8) == 8); MDL.Is3Wire = ((tmp & 16) == 16); + MDL.ADS1115Enabled = ((tmp & 32) == 32); + MDL.EthernetEnabled = ((tmp & 64) == 64); MDL.RelayControl = Data[5]; Sensor[0].FlowPin = Data[7]; diff --git a/RateAppSource/RateController/Resources/Pins.PNG b/RateAppSource/RateController/Resources/Pins.PNG index 5157fc53cb89f6e294dc52e64d969a46829ba20a..97d28de539d5ab088da5f22486afc35bf68e83e7 100644 GIT binary patch literal 33328 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