Hey friends.
I use an ESP32 and a Nextiondisplay. On my Nextiondisplay i have a textbox. Now i want to read the text from the textbox and do further stuff with it in my code.
I was always using the nextion lib and never had much problems. But from time to time, i have problems reading the text from the textbox.
i have created a button "bt_Alarm1PopCallback". When the button is pushed, i read the text from the textbox.
Since my code is very long it only post the Callback from the button, that reads the text
void bt_Alarm1PopCallback(void *ptr)
{
uint32_t alarmState;
bt_Alarm1.getValueDS(&alarmState);
char bufferLow[100];
char bufferHigh[100];
if(alarmState!=sonde_pH._alarmState)
{
sonde_pH._alarmState=alarmState;
EEPROM.writeInt(PHVALUEADDR + 4*(sizeof(float)), sonde_pH._alarmState);
EEPROM.commit();
}
if(alarmState ==1)
{
memset(bufferLow, 0, sizeof(bufferLow));
lowerAlarm.getText(bufferLow,sizeof(bufferLow));
sonde_pH._lowerAlarm=String(bufferLow);
// delay(20);
memset(bufferHigh, 0, sizeof(bufferHigh));
upperAlarm.getText(bufferHigh,sizeof(bufferHigh));
sonde_pH._upperAlarm=String(bufferHigh);
}
}
So my problem is now, that the code is sometime working and sometimes not. Sometimes i get the text from the textbox and sometimes my ESP32 reboots. I get this errormassage:
Stack smashing protect failure!
abort() was called at PC 0x400df724 on core 1
Backtrace: 0x4008c6dc:0x3ffb1d20 0x4008c90d:0x3ffb1d40 0x400df724:0x3ffb1d60 0x400d4672:0x3ffb1d80 0x4011b465:0x3ffb1dc0 0x400d940e:0x3ffb1de0 0x400d8c9a:0x3ffb1e00 0x400d5c67:0x3ffb1e30 0x400dc895:0x3ffb1fb0 0x40088e19:0x3ffb1fd0
Rebooting...
I dont get it, why this happens sometimes. Anyone an idea?
Thank you