RFID-Tags

Hallo,
mein erster Versuch, die RFID Tags zu nutzen endete in einer Bootschleife.
Die Hardware hat das Tag einwandfrei erkannt und einen Eintrag in die Liste erzeugt. Diesen konnte ich editieren wie im WIKI beschrieben und habe dann die Liste gespeichert.
Daraufhin habe ich jeden Kontakt mit dem Mäher verloren (kein BT, kein WLAN). Über die Serielle schnittstelle konnte och den Bootvorgang beobachten - es wurde die Liste mit 255 Einträgen geladen und der DUE stürzte dann ab - Reboot - und wieder von vorn. Das erbeute flashen der Firmware brachte keine Änderung, da die offenba beschädigte RFID Liste im Speicher lag. Auch das deaktivieren von RFID in der Firmware brachte nichts. Ich habe dann die Funktion
void Robot::loadRfidList() in der Robot.cpp auskommentiert und neu geflasht. Dann war booten und das löschen der RFID-Liste möglich.
Der Mäher läuft wieder, doch erkennt er keine RFID-Tags mehr. Hat jemand eine Idee woran das liegen könnte?
Danke
Jens


Hello,
my first attempt to use the RFID tags ended in a boot loop.
The hardware recognized the tag perfectly and created an entry in the list. I was able to edit this as described in the WIKI and then saved the list.
After that I lost all contact with the mower (no BT, no WLAN). Via the serial interface I could observe the boot process - the list with 255 entries was loaded and then the DUE crashed - reboot - and again from the beginning. Flashing the firmware did not bring any change, because the corrupted RFID list was in the memory. Also the deactivation of RFID in the firmware brought nothing. I then deactivated the function void Robot::loadRfidList() in Robot.cpp and reflashed it. Then booting and deleting the RFID list was possible.
The mower runs again, but it does not recognize RFID tags anymore. Does anyone have an idea what this could be?

Thanks
Jens
 
What is the firmware in the DUE ?
Can you try to record more than 2 rfid tag in the list before reboot.
There is a bug in the last entry of the list , so maybe if you have save only 1 tag entry ???.
The Robot::loadRfidList() is mandatory to create first the list.
 
Zuletzt bearbeitet:
Ah, the "firmware" is the AzuritBer software😀
Currently I have no entry in the list and it is not possible to add a tag anymore. The reader does not recognize the tag. No changes on the hardware.
Is it possible or does it make sens to delete the memory completely?
Best Regards
Jens
 
To check if it's memory corrupted error
You can try to uncomment line 2480 to 2490 from robot.cpp to create a sample rfid list .
Upload the new code.
After restart : Do a save list to repair the memory allocation.

put again the void Robot::loadRfidList() i ON and uplaod the code without the line 2480 to 2490.

On restart i hope you can see the rfid loading list debug data in the console.
 
Hi Bernard,
I follow your suggestion and created the debug-tag List. Please see here my findings:

During Reboot of the DUE I could read this:
...
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
91b3db95,TRACKTOSTART,RTS,240.00,-170.00,2.00,-90.00,10.00
BT in used : Use Arduremote over Bluetooth
RFID LIST COUNT = 40.00
RFID LIST address Start=3000.00
RFID LIST address Stop=4043.00

In PFOD App:
only 37 enties, not 40
the last two where:
91b3db95,TRACKTOSTART,RTS,
9
-- 3 are missing and the last one was only a "9" --
> list saved

then
>Uploar without list generation and with Robot::loadRfidList()
>no list in PFOD available
>RFID Use activated
>Save settings
>reboot
....
1 RFID TAG insertion OK
NEW RFID LIST COUNT = 40.00
RFID LIST address Start=3000.00
RFID LIST address Stop=4043.00
RFID LIST :
4082da95,WAIT,SPEED,220.00,37.00,4.00,9.00,10.00
....
-> DUE Boot OK
In PFOD only 37 enties (?)

I started the serial monitor for the ESP32 board and got every second this entry (I guess OK?):

{.RFID`1000|yr01~RFID Use : YES|yr02~Last Rfid read :
ART|yr930~91b3db95/TRACKTOSTART|yr931~91b3db95/TRACKTOSTART|yr932~91b3db95/TRACKTOSTART|yr933~91b3db95/TRACKTOSTART|yr934~91b3db95/TRACKTOSTART}

Then I started to delete the entries - sometimes I could delete sometimes not.
I also got strange things in the ESP32 serial monitor:

{:|yw3~Tag ID : 91b3db95|yw4~Status : TRACKTOSTART|yw5~ToDo : RTS|yw6~Speed `240`255`60~ ~1|yw7~Angle1 `-170`180`-180~ ~1|yw8~Dist 1 `2`255`0~ ~1|yw9~Angle2 `-90`180`-180~ ~1|yw10~Dist 2 `10`255`0~ ~1|yw2~DUPLICATE|yw0~DELETE THIS TAG}
�#�
��mA�T�X�$�t�FhF#����#�c�iF�#���]I�$�I�FhF#����#�T�iF�#����mA�X�X�$�S�FhF#����#�B�iF�#���LI�$�(�FhF#����#�3�iF�#���� F��5��#�(�BIhF#���iF�#��?I�$�
85`255`60~ ~1|yw7~Angle1 `0`180`-180~ ~1|yw8~Dist 1 `678985`255`0~ ~1|yw9~Angle2 `0`180`-180~ ~1|yw10~Dist 2 `678985`255`0~ ~1|yw2~DUPLICATE|yw0~DELETE THIS TAG}
New WIFI client
{}

looks like a reboot but it isn't. After that I'm on the main PFOD page. I had this often when I tried to delete the last TAG.
I was able to delete all except the last one. The last enty is not deleteable.

After reboot the list was red out of the memory so I tried to delete again:
-tryed to delete the last - not possible
-tried the thirdt - deleted
-tried the next nine so the first ten WAIT Tags where deleted
-tried the next one BACKTOSTATION and a WAIT Tag was back !?
-tried to delete the WAIT which reduce the number of BACKTOSTATION, but WAIT is still there !?

when I tryed to SAVE LIST I saw in the serial Monitor (DUE) this:
RFID LIST COUNT = 255.00
RFID LIST address Start=3000.00
RFID LIST address Stop=3029.00

After Reboot the DUE -> I'm back in the bootloop...

I deactivated Robot::loadRfidList() again
saved the empty list in PFOD
activated Robot::loadRfidList()
and the DUE boots normally again

Another tag works with the reader and create an entry in PFOD (the first one I've used before does not work anymore)
I hope this is understandable.
Best regards
Jens
 
Oben