I just bought a Jakcom R3 Ring
Based on the instructions online I bought a ACS ACR122U-A9 they reference online
I can not seem to figure out the step by step instructions to program the information from my HID Proximity Card to my Jakcom R3 Ring.
I am MORE THAN happy to pay someone who can help me get this done.
-Adam
]]>If the GPIO_SSC_CLOCK is set (HIGH/1) when there is a reader field
If the GPIO_SSC_CLOCK is unset (LOW/0) when there is a reader field.
That would be nice to know....
Maybe we should have active simulation, to enhance reading distance? Or do we have active simulation already?
]]>The sim code isn't currently designed to wait for a reader field before begins modulating, it assumes one is there and attempts to start modulating. If no field is present then yes it will hang up on the lower while loop. I suppose adding that check could be an improvement but with minimal effect as the simulation data just repeats itself.
]]>As I've mentioned - I'd tested with no reader field:
//from the current master:
for(;;)
while(!(...))
...
//emit 1 bit
...
while(...) // <-- loop stops here waiting the field
but it seems to be more correct to stop waiting field in the 1st while.
That's why I propose to invert conditions.
Looks like (AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) is actually 1 with NO field and 0 under reader's field.
...
i also noticed there is a bug somewhere that makes the first attempt to sim always fail but the second attempt works.
I've also noticed this bug.
But from my point of view, after some debugging, I've found out that conditions are not correctly used in "while".
"// wait until SSC_CLK goes HIGH"
is really
while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) {
, not inverted,
and condition "//wait until SSC_CLK goes LOW" is really
while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) {
, really inverted!
so, following the code that is now in master:
when there is no external reader, the first run of loop "for" skips first "while(!(...))", emits 1 bit from buf, jump into second "while(..)" and waits reader field here. That is not OK btw. (or do I misunderstand states of GPIO_SSC_CLK when exposed to external field or not?)
I would suggest to invert conditions in while vise versa.
sorry for messy explanation)
]]>and let me know if it fixes your issues.
]]>// set LF so we don't kill the bigbuf we are setting with simulation data.
FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
needs to be added to cure the bug that makes the first attempt fail. (for each lf simulation)
]]>it is interesting that i can get it to work as is on my pm3, but i agree it is not very consistent.
adding my suggestion above makes it more consistent with my pm3.
i also noticed there is a bug somewhere that makes the first attempt to sim always fail but the second attempt works.
]]>Hope this find will be confirmed soon by Marshmellow, iceman, piwi, Holiman, app-01 ets and by other testers against real reader.
]]>