I hope you’re doing well. I sincerely waited for your reply.
I think I should explain to you the problem in detail I’m facing up.
Below is a brief description of the project.
ESP32 WROOM module on my custom board communicates with MCP3913(adc chip) via SPI.
ESP32 receives 3600 sampling data from the MCP3913 and produces 1,200 data to be sent to the server based on them.
1200 data is stored in a list variable.
As you can see, the list variable consists of 12 sub arrays with a length of 100.
The 1200 data is not sent to the server at once. They are transmitted six times, 200 at a time.
Rebooting occurs if more than 200 data are transmitted at a time. Also, if the length of sub arrays is greater than 100, sometimes reboot occurs while adding values to the sub array.
That’s why I limited the length of the sub array to 100.
However, I really don’t understand why.
One data is calculated from three sampling data. So we get 1200 data from 3600 sampling data. The following code is for calculating 1200 data from 3600 sampling data from mcp.
The functions so far have already been realized and they work well.
The problem is from now on. I wanted to increase the number of data to be sent to the server from 1200 to 2048.
So I added a few sub arrays to the list variable as following and tried to send them 10 times, 200 at a time.
However, when I increase the number of sub arrays, rebooting occurs when adding values to the sub array(in the code shown above) and sending data to the server. With the firmware running reliably, the maximum number of data that could be transmitted was 1,200. Of course it’s a conclusion from many tests.
When the rebooting occurs, the serial monitor displays the following information.
For reference, the firmware has a FOTA feature. If I disabled the FOTA function, the rebooting incidence is significantly reduced.
So I first thought it’s because of flash memory limitation and Zerynth’s limitation regarding the core use. But the size of bytecode for the current firmware is only about 110Kbyte. So I don’t think it’s because of memory limitation.
And the firmware doesn’t have BLE feature.
At this point, this issue is the biggest obstacle to progress.
What do you think about debugging ESP32 using JTAG probe?
I wonder if it’s possible in Zerynth IDE environment and it would actually help.
I sincerely hope that you will provide professional help on what is the main cause of this issue and how to solve it!
Looking forward to hearing something from you as soon as possible.