-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tag read by the library is too short #19
Comments
Hi, My librery reads all 32bits of the tag_id into the So "330092A6D7D0" is 8bit version + 32bits tag_id + 8bit checksum (the 8bit xor of all its previous bytes). You can just print "33" before every tag-id printing and print them with leading zeros, Let us know if you do find a tag that doesn't start with "33" because I haven't seen one yet :) |
Hi, thx for your instant answer! I think the assumption that all 40bit tags begins with 33 is wrong! This one can handle all bits - the description: "Driver for RDM6300 RFID reader to Arduino. RDM6300 supports 125KHz tags that store 40-bit IDs. The driver handles the IDs as 64-bit integers (unsigned long long), keeping the 24 MSB always in zero." tomorrow at work I'm gonna check your fix (changing to uint64_t) thx! |
Hi, |
Hi, Well it seem that those 125kHz tags do use 40bits! 😮 For backward-compatibility I won't change the library because many already use it with 32bits. For 40bits support you need to:
Didn't tested yet, you are welcome to try and write if it worked for you so others can use it :) |
Hi, take a look at examples below. the difference is clear :) |
Hi, Thanks for testing! Will close this issue once its done. 👍 |
Dear Sirs, |
@MarkusPL0 can you help me on this? I just want the modified files rdm6300.cpp and rdm6300.h as I understood you have them already modified and working, so please help me. Thanks |
sure |
@MarkusPL0 Many thanks for your kind help. |
Dear @MarkusPL0 , What I did wrong or what I have to change in the line or sketch? Thanks |
have you tried casting it directly to String -> String(rdm6300.get_tag_id(), HEX) |
Dear @MarkusPL0 , #define RDM6300_RX_PIN 4 // read the SoftwareSerial doc above! may need to change this pin to 10... Rdm6300 rdm6300; void setup()
} void loop()
} ` ` ` call of overloaded 'String(uint64_t, int)' is ambiguous Sorry but I can't find what is wrong, if you can please help me. |
I was testing it using Wemos D1 board (based on ESP8266). When you change your board to Wemos D1 (or whatever based on ESP8266) this program will compile without problems. On Arduino UNO Board in fact there is an error it looks like Arduino Print class does not support 64-bit integers. Have a look here, there is a workaround for that |
Ok now it's clear that there are some limitations in the Arduino Uno and the related. Again, I want to thank you for your kind support. Best Regards, |
I've got RFID card which HEX number is 330092A6D7 (this number gave me a women, who generates cards - she sees such a number in their system).
My problem is, that RDM6300 library returns only part of this number - namely 92A6D7. Just for testing I've connected directly my laptop with rdm6300 module (via USB/TTL cable). When talking directly with the rdm6300 module I receive 330092A6D7D0 on the serial monitor. It's the same number which I got + D0 at the end.
How can I modify this library to get full RFID number?
thx in advance!
Markus.
The text was updated successfully, but these errors were encountered: