I’m doing a proof of concept to get data from a device using Wiegand. I’m using PI9 and PJ7 to monitor the signals on a custom board. It appears that it is too slow (not all data being captured) to read the changes on the pins. I’ve tried:
-A while loop reading the signals and it was too slow (not all data being captured).
-A while loop on its own thread and it was too slow (not all data being captured).
-Using the event when the value change edge happens on a falling edge. Faster than the two previous methods but still too slow (not all data being captured).
Should I try using a different set of pins? Any suggestions are appreciated. I’m hoping to handle this directly and not having to add a sub-processor to the next board revision.
This will use hardware facilities and native code (at much higher speed than managed code) to capture a train of pulse durations. If you can capture D0 and D1 trains, you should be able to reconstruct the message packet. FULL DISCLOSURE: I have never done Weigand with TinyCLR, and this is just what would be my first approach. I have read it with native code (in a bare-metal project).
why you do not ready uart RFID instead of it for example this module “is cheap enought” - to meet your request (just to explain i’m not any affilated with this item on sale)
We already have our own version of a board using a PIC that does this functionality. I’m trying to add the Wiegand interface to our new board design to reduce cost and have it all on one multipurpose board instead of 2.