ESP32-Reflow-Controller icon indicating copy to clipboard operation
ESP32-Reflow-Controller copied to clipboard

Type of ESP32 Board

Open nodurah opened this issue 2 years ago • 8 comments

Hello Miroslav,

could you please tell me which type of ESP32 board should be selected in the arduino IDE to compile the reflow controller successfully? I couldn't find that piece of information in the documentation.

Thanks in advance!

Cheers, Nodura

nodurah avatar Oct 01 '23 19:10 nodurah

Hi, it should compile fine if you select ESP32 Dev module in Arduino IDE.

dronecz avatar Oct 02 '23 09:10 dronecz

Hello, thanks for the quick answer!

nodurah avatar Oct 02 '23 09:10 nodurah

hello nodurah, were you able to compile successfully and is your controller already running?

MfromB avatar Oct 08 '23 16:10 MfromB

Hello Miroslav,

thanks for tracking this issue. Right now I am on vacation. As soon I can compile it and get it running again I will get back to you!

Cheers nodurah

nodurah avatar Oct 08 '23 17:10 nodurah

Hello,

so I had to opportunity to compile it. There seems to be a typo in the Reflow_Oven_Controller.ino in line 121. The "Reflow_logic.h" is in the original file with a small "r" while the .h is with a capital "R". After fixing that minor issue the code compiles but I get a few errors:

/ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:34:91: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] char *menuItems[] = {"Select profile", "Change profile", "Add profile", "Settings", "Info"}; ^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:34:91: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:34:91: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:34:91: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:34:91: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/button.ino: In function 'byte digitalButton(int)': /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/button.ino:49:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/profiles.ino: In function 'void loadProfiles(int)': /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/profiles.ino:126:61: warning: passing NULL to non-pointer argument 3 of 'size_t Preferences::getBytes(const char*, void*, size_t)' [-Wconversion-null] size_t schLen = preferences.getBytes(spaceName, NULL, NULL); ^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino: In function 'char* string2char(String)': /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/LCD.ino:43:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/button.ino: In function 'byte digitalButton(int)': /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/button.ino:8:51: warning: iteration 3 invokes undefined behavior [-Waggressive-loop-optimizations] buttonVal[i] = digitalRead(digitalButtonPins[i]); ~~~~~~~~~~~~~~~~~~~^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/button.ino:5:21: note: within this loop for (int i = 0; i < numDigButtons; i++) { /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/Reflow_Oven_Controller.ino: In function 'void setup()': /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/Reflow_Oven_Controller.ino:189:28: warning: iteration 3 invokes undefined behavior [-Waggressive-loop-optimizations] if (digitalButtonPins[i] > 20 && digitalButtonPins[i] < 40) { ~~~~~~~~~~~~~~~~~~~^ /ESP32-Reflow-Controller/Firmware/v2/Reflow_Oven_Controller/Reflow_Oven_Controller.ino:187:22: note: within this loop for (byte i = 0; i < numDigButtons - 1 ; i++) { ~~^~~~~~~~~~~~~~~~~~~

After flashing and reset it starts up but the buttons of the panel are not working.

Maybe you have a working flash image with the latest features that you could provide under "releases"?

Cheers, Nodurah

nodurah avatar Oct 10 '23 11:10 nodurah

Hello,

after further investigation the cause of the error messages seemed to be an outdated arduino-ide. Sorry for that. With the latest

  • Arduino ide: 2.2.1
  • WifiManager: 2.0.16-rc2 (latest via zip-file)
  • all other libraries according to your git repo and also with newest version

it compiles without issues. The problem with the buttons not working nevertheless remains. I also looked into the serial output. The Wifi access points opens only sporadically and when - no connection is possible. The programm seems to be stuck at some point

1:24:09.320 -> Text bounds for: "ESP32" x1:2 y1:-24 w:108 h:26
11:24:09.320 -> Text bounds for: "Reflow" x1:2 y1:-24 w:108 h:26
11:24:09.320 -> Text bounds for: "Controller" x1:2 y1:-24 w:154 h:26
11:24:09.353 -> Text bounds for: "by" x1:1 y1:-12 w:18 h:17
11:24:09.353 -> Text bounds for: "Czech maker" x1:1 y1:-12 w:105 h:13
11:24:09.353 -> Text bounds for: "www.czechmaker.com" x1:0 y1:-12 w:179 h:13
11:24:11.344 -> State is :0
11:24:11.407 -> Text bounds for: "Status:" x1:1 y1:-12 w:53 h:13
11:24:11.407 -> Text bounds for: "" x1:0 y1:0 w:0 h:0
11:24:11.407 -> Text bounds for: "Temp : 0" x1:2 y1:-24 w:138 h:32
11:24:11.407 -> Text bounds for: "Profile in use:" x1:1 y1:-12 w:106 h:13
11:24:11.407 -> Temp : 0
11:24:11.632 -> 27
11:24:11.632 -> 32
11:24:11.632 -> 33
11:24:11.632 -> *wm:AutoConnect 
11:24:11.632 -> *wm:No wifi saved, skipping 
11:24:11.632 -> *wm:AutoConnect: FAILED for  1 ms
11:24:11.632 -> *wm:StartAP with SSID:  ReflowOvenAP
11:24:12.146 -> *wm:AP IP address: 192.168.4.1
11:24:12.146 -> *wm:Starting Web Portal 
11:24:12.146 -> Configportal running
11:24:12.146 -> Initializing SD card...Card failed or not present, no SD Card data logging possible...
11:24:12.758 -> 
11:24:12.758 -> Number of profiles: 0
11:24:12.758 -> Titles and alloys: 
11:24:12.758 -> 
11:24:12.982 -> State is :0
11:24:13.046 -> Text bounds for: "Status:" x1:1 y1:-12 w:53 h:13
11:24:13.046 -> Text bounds for: "" x1:0 y1:0 w:0 h:0
11:24:13.046 -> Text bounds for: "Temp : 21" x1:2 y1:-24 w:154 h:32
11:24:13.046 -> Text bounds for: "Profile in use:" x1:1 y1:-12 w:106 h:13
11:24:13.046 -> Temp : 21
11:24:17.449 -> button 1 (28)
11:24:17.512 -> button 1 (30)
11:24:17.545 -> button 2 (32)
11:24:17.610 -> button 1 (38)
11:28:11.140 -> 
11:28:11.140 -> 
11:28:11.140 -> 
11:28:11.140 ->
[...] 

Any help would be appreciated as the oven by itself was quite useful before the update.

Cheers Nodurah

nodurah avatar Oct 22 '23 11:10 nodurah

Hi, sorry I forgot to reply to your previous post.

Are you compiling code from the main brain? If so, try to downgrade your ESP support to the 1.0.6 version. I did not compile it for a long time, but I think there is some issue (as you can see 😞 ) with 2.x.x version of the ESP support.

dronecz avatar Oct 22 '23 22:10 dronecz

No worries, with the 1.0.6 ESP version it work flawlessly. You might consider updating the README.md with this helpful piece of information...

Thanks for your support!

Cheers, Nodurah

nodurah avatar Oct 24 '23 17:10 nodurah