2 Replies Latest reply on Sep 25, 2013 12:55 PM by András Holik

    Rho 2.2 - RFID plugin - operationCompleteEvent callback never called

      I need to use MC319ZEU devices to write rfid tags. I need strict control on the process to ensure correct data transfer to tag memories.

      It means that the write process consists of multiple steps, so i must know when one operation completes and when can I move forward to the next.


      According to the documentation there is an event named 'operationCompleteEvent' which would be exactly what I need.

      But it does not work for me, I never get any notification. (All the other documented callbacks are working fine.)


      Furthermore if I register the callback as it is in the docs example:

      rfid.operationCompleteEvent = 'operationCompleteEventHandler()'

      then i got an error that %json argument required: (RFIDModule::RFIDModule::MetaProc| %json expected in the callback)

      If I register it with %json it does not complain, so everything seems fine.

       

      Besides I have noticed that the rfid plugin sample application does not use this operationCompleteEvent callback at all, although the documentation says (obviously) that it is a very important callback to detect when the driver is ready to accept calls.

       

      Is any known issue with this plugin?


      I use RE version 2.2.1.13 with RFID plugin version 1.0.0.3 with javascript API.

        • Re: Rho 2.2 - RFID plugin - operationCompleteEvent callback never called
          Kutir Mobility

          It is likely that the sample application is outdated. I do not have an rfid-capable device right now to test but if you can post the relevant sections of your code, it is more likely that someone will be able to find if there is anything wrong with it.

           

          Thanks,

          Javier

          Kutir Mobility

            • Re: Rho 2.2 - RFID plugin - operationCompleteEvent callback never called

              I think the sample application is not outdated, it works and it demonstrates the basic functionalities of the plugin. What was strange that it simply does not use this callback. I would rater say that the api docs are outdated.

               

              Anyway, I have solved the issue and it turned out that in practice I do not really need to use the operationCompleted callback because every operation has it's special callback response to which I can subscribe. Eg. when writing a tag memory the plugin calls the status handler with args.method='tagWrite' arguments. When setting a singulation the plugin calls the same callback with args.method='setSingulation' etc. This strategy works very well. After tracing which action cause which response with calling a callback I was able to write a rocket solid async program which suits all my needs.


              Regarding the sample app I have to note that it seems that I ran into another problem - the singulation access filter demo behaves very strange. I did not have a time to diagnose the problem and fully understand what happens but it seems that the applied filter settings are preserved and sometimes it is impossible to clear them. I had problems with writing memory access passwords as well. I will dive into these issues in the near future and I will start a new thread to discuss them.