Skip to content

Commit 39325be

Browse files
committed
fix some rfid message not displaying as intented
fix lcd lagging with rfid messages
1 parent c8ae6fd commit 39325be

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/rfid.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ void RfidTask::setup(){
4141
void RfidTask::scanCard(String& uid){
4242
if(waitingForTag){
4343
waitingForTag = false;
44-
lcd.display("Tag detected", 0, 0, 0, LCD_CLEAR_LINE);
44+
lcd.display("Tag detected", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
4545
lcd.display(uid, 0, 1, 3000, LCD_CLEAR_LINE);
4646

4747
StaticJsonDocument<128> event;
@@ -65,14 +65,16 @@ void RfidTask::scanCard(String& uid){
6565
foundCard = true;
6666
if (!isAuthenticated()){
6767
setAuthentication(uid);
68+
lcd.display("Activating", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
6869
lcd.display("Tag Allowed", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
6970
DBUGLN(F("[rfid] found card"));
7071
} else if (uid == authenticatedTag) {
7172
resetAuthentication();
73+
lcd.display("Disabling", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
7274
lcd.display("Session Ended", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
7375
DBUGLN(F("[rfid] finished by presenting card"));
7476
} else {
75-
lcd.display("Wrong Tag", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
77+
lcd.display("Wrong Tag", 0, 1, 5 * 1000, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
7678
DBUGLN(F("[rfid] card does not match"));
7779
}
7880
break;
@@ -81,7 +83,7 @@ void RfidTask::scanCard(String& uid){
8183
}
8284

8385
if (!foundCard) {
84-
lcd.display("Unrecognized Tag", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
86+
lcd.display("Unrecognized Tag", 0, 1, 5 * 1000, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
8587
DBUGLN(F("[rfid] did not recognize card"));
8688
}
8789
}
@@ -97,15 +99,15 @@ unsigned long RfidTask::loop(MicroTasks::WakeReason reason){
9799
vehicleConnected = _evse->isVehicleConnected();
98100

99101
if (isAuthenticated()) {
100-
lcd.display("EV Disconnected", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
102+
lcd.display("EV Disconnected", 0, 1, 5 * 1000, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
101103
DBUGLN(F("[rfid] finished by unplugging"));
102104
}
103105
resetAuthentication();
104106
}
105107

106108
if (authenticationTimeoutExpired()) {
107109
resetAuthentication();
108-
lcd.display("Scan badge again", 0, 1, 20 * 1000, LCD_CLEAR_LINE);
110+
lcd.display("Scan badge again", 0, 1, 20 * 1000, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
109111
}
110112

111113
updateEvseClaim();
@@ -119,10 +121,8 @@ unsigned long RfidTask::loop(MicroTasks::WakeReason reason){
119121

120122
if(waitingForTag){
121123
if (millis() - waitingBegin < RFID_ADD_WAITINGPERIOD) {
122-
String msg = "tag... ";
123-
msg += (waitingBegin + RFID_ADD_WAITINGPERIOD - millis()) / 1000;
124-
msg += "s";
125-
lcd.display("Waiting for RFID", 0, 0, 0, LCD_CLEAR_LINE);
124+
String msg = (String)((waitingBegin + RFID_ADD_WAITINGPERIOD - millis()) / 1000) + "s";
125+
lcd.display("Waiting for Tag", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
126126
lcd.display(msg, 0, 1, 1000, LCD_CLEAR_LINE);
127127
} else {
128128
waitingForTag = false;
@@ -176,7 +176,7 @@ void RfidTask::waitForTag(){
176176
return;
177177
waitingForTag = true;
178178
waitingBegin = millis();
179-
lcd.display("Waiting for RFID", 0, 0, RFID_ADD_WAITINGPERIOD, LCD_CLEAR_LINE);
179+
//lcd.display("Waiting for Tag", 0, 0, RFID_ADD_WAITINGPERIOD, LCD_CLEAR_LINE);
180180

181181
StaticJsonDocument<128> event;
182182
event["rfid_waiting"] = RFID_ADD_WAITINGPERIOD / 1000;

0 commit comments

Comments
 (0)