Hey friends
Sometimes i have the problem that when i push a button to fast after another my SerialCommands to my Nextion wont arrive.
So i am thining about to implement some code to prohibit the "user" a fast button push.
For example:
This button hides or makes some elemts visible, depending on the button-state
void Alarm_1PopCallback(void *ptr)
{
uint32_t alarmState;
Alarm_1.getValueDS("Alarm",&alarmState);
Serial.print("alarmstate: ");
Serial.println(alarmState);
if(alarmState==1)
{
Serial2.print("vis t2,1");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis t3,1");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis AlarmUg,1");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis AlarmOg,1");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
memset(buffer, 0, sizeof(buffer));
lowerAlarm.getText(buffer,sizeof(buffer));
init_1._lowerAlarm=String(buffer);
memset(buffer, 0, sizeof(buffer));
upperAlarm.getText(buffer,sizeof(buffer));
init_1._upperAlarm=String(buffer);
//Serial.println(init_1._lowerAlarm);
//Serial.println(init_1._upperAlarm);
}
else if(alarmState==0)
{
Serial2.print("vis t2,0");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis t3,0");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis AlarmUg,0");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.print("vis AlarmOg,0");
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
}
if(alarmState!=init_1._alarmState)
{
init_1._alarmState=alarmState;
EEPROM.writeInt(PHVALUEADDR + 4*(sizeof(float)), init_1._alarmState);
EEPROM.commit();
}
}
A "delay(time)" is no option for me
Anyone an idea?
Thank you