Team, Where can I get the souce code of our RFIDDemo sample shipped on MC9090? With this demo one can select a tag by EPC ID and then write only to this tag. Our developer would like how it's done because they have not been able to achieve the same from their application - all visible tags are being programmed... Thanks, Valery
RFIDDemosource code// Expert user has replied. |
10 Replies
Prashant, .NET is preferable. I need the same as shipped with MC9090 EU R1 units with ability to select EN302-208 channel(s) to operate on. Thanks, Valery
Valery, I will send you a compass link to a update to the EMDK for .Net which will be released by mid-late April. This update implements advanced Gen-2 functionalities on the device such as select records, filters, writing/locking/killing tags etc. Let me know if this helps. We can discuss the rest of your email later. Also, I encourage others on the forum to send me an email ( Prashant.Bhamidipati@motorola.com) if you are interested in receiving this Update as well. Prashant
Hi Ian, yes but the description of this function says "The mask limits the list of tags that can be READ based on the current mask" But - just got info from support that under certain conditions it is true for writing as well . Will give it a try. Thanks for feedback! Valery
Valery, Do youo want to program in .Net or in C ? Prashant
Our developer claims it works. I have yet to check this myself but I don't have a demo unit right now...
Just tried with MC9090 EU R1 and RFIDDemo 1.18., RFIDAPI 3.26, Firmware 4.11 It programs all tags under antenna... Will investigate further
Valery, I think that the tag mask function is used to program a specific tag i.e. you first set the mask to match all the tagID bits as follows:
HANDLE hReader;TAG_MASK TagMask;
BYTE *pTagBitMask = ”\x10\x20\x30\x40\x50\x60\x70\x80”;
TagMask.cBitLen = 8*8; // Match all 64 bits of the TAG IDTagMask.cBitStartOffset = 16; // Start matching after the first 16 bits. // These bits are reserved by the tag.// set the tag mask bitsmemcpy(TagMask.cTagMask, pTagBitMask, 8);
RFID_SetTagMask(hReader, &TagMask);Once you have set the mask , it should only program the TagID which is passed in the program function:
pTagID = "\x01\x02\x03\x04\x05\x06\x07\x08”;cTagLength = 8;cTagVerifyCount = 3;cEraseAttempts = 3;cProgramAttempts = 3;
dwStatus = RFID_ProgramTags(hRFIDReader, pTagID, cTagLength, cTagVerifyCount, cEraseAttempts, cProgramAttempts);if(dwStatus == RFID_SUCCESS)
{ // Tag programmed}; The above code extracts are from the EMDK for C help file which contains some useful info+code snippets on the API.Best Regards,Ian HattonEMb EMEA
The source code is not available. Please contract Motorola Support at 1-800-653-5350 or emb.support@motorola.com and open a case if your developer is having an issue using our API.
We don't provide source code for a DEMO program? Why? I have two cases opened with EMEA support on other RFID programming questions - not too much success so far... From RFIDDemo it's clearly seen that writing to a single tag is possible. Unfortunately there nothing in our EMDK explaining how it can be done as there is no explicit way to select a particular tag for writing. For reading - yes, there is a tag mask but it doesn't work for writing. There is already a case 1827227 (not mine) with exact the same question. The first reply from the support was that this is not possible. After a long discussion customer said that RFIDDemo does this just fine and asked for source as well. The request has been sent for the source code and clarification whether it's possible to program the selected tag. This was at the beginning of March. The case is still open...
Hi Valery, Did you test the feature in the demo program? From a technology perspective I didn't think it was possible to write to a specific tag. It will be nice to know if we can and if it does can someone explain how it does that?