Skip to content

Commit 83a1322

Browse files
Merge pull request #607 from KipK/master
Some RFID fixes
2 parents 6e8f524 + 39325be commit 83a1322

File tree

3 files changed

+17
-16
lines changed

3 files changed

+17
-16
lines changed

src/rfid.cpp

Lines changed: 13 additions & 13 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("RFID: authenticated", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
68+
lcd.display("Activating", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
69+
lcd.display("Tag Allowed", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
6970
DBUGLN(F("[rfid] found card"));
7071
} else if (uid == authenticatedTag) {
7172
resetAuthentication();
72-
lcd.display("RFID: finished. See you next time!", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
73+
lcd.display("Disabling", 0, 0, 0, LCD_CLEAR_LINE | LCD_DISPLAY_NOW);
74+
lcd.display("Session Ended", 0, 1, 5 * 1000, LCD_CLEAR_LINE);
7375
DBUGLN(F("[rfid] finished by presenting card"));
7476
} else {
75-
lcd.display("RFID: card does not match", 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("RFID: did not recognize card", 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("RFID: finished. See you next time!", 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("RFID: please present 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;
@@ -189,7 +189,7 @@ void RfidTask::updateEvseClaim() {
189189
_evse->release(EvseClient_OpenEVSE_RFID);
190190
return;
191191
}
192-
192+
193193
if (isAuthenticated()) {
194194
_evse->release(EvseClient_OpenEVSE_RFID);
195195
} else {

src/rfid.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class RfidTask : public MicroTasks::Task {
4242
* SAE J1772 state
4343
*/
4444
bool vehicleConnected = false;
45-
45+
4646
void updateEvseClaim();
4747

4848
std::function<bool(const String& idTag)> *onCardScanned {nullptr};

src/web_server.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -908,13 +908,14 @@ void handleDescribe(MongooseHttpServerRequest *request) {
908908

909909
void handleAddRFID(MongooseHttpServerRequest *request) {
910910
MongooseHttpServerResponseStream *response;
911-
if(false == requestPreProcess(request, response, CONTENT_TYPE_TEXT)) {
911+
if(false == requestPreProcess(request, response)) {
912912
return;
913913
}
914914
response->setCode(200);
915-
response->setContentType(CONTENT_TYPE_TEXT);
916915
response->addHeader("Access-Control-Allow-Origin", "*");
916+
response->print("{\"msg\":\"Waiting for badge\"}");
917917
request->send(response);
918+
yield();
918919
rfid.waitForTag();
919920
}
920921

0 commit comments

Comments
 (0)