dronecz / ESP32-Reflow-Controller

Reflow controller with ESP32 and TFT LCD on board.
67 stars 22 forks source link

Type of ESP32 Board #5

Open nodurah opened 11 months ago

nodurah commented 11 months ago

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

dronecz commented 11 months ago

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

nodurah commented 11 months ago

Hello, thanks for the quick answer!

MfromB commented 11 months ago

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

nodurah commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

Hello,

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

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

dronecz commented 11 months ago

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.

nodurah commented 10 months ago

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