FIX: 'hf 15' timouts bugs when wait is set == 0...

thanks @lnv42  for fix  84cb4f6bbf
This commit is contained in:
iceman1001 2018-01-21 18:34:29 +01:00
commit 5939164635

View file

@ -228,7 +228,6 @@ static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *w
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX);
if (wait) { if (wait) {
if (*wait < 10) { *wait = 10; }
for (c = 0; c < *wait;) { for (c = 0; c < *wait;) {
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing! AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing!
@ -243,8 +242,6 @@ static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *w
c = 0; c = 0;
for(;;) { for(;;) {
WDT_HIT();
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = cmd[c]; AT91C_BASE_SSC->SSC_THR = cmd[c];
if( ++c >= len) break; if( ++c >= len) break;
@ -252,6 +249,7 @@ static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *w
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
r = AT91C_BASE_SSC->SSC_RHR; (void)r; r = AT91C_BASE_SSC->SSC_RHR; (void)r;
} }
WDT_HIT();
} }
if (samples) { if (samples) {
@ -271,7 +269,6 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K);
if (wait) { if (wait) {
if (*wait < 10) { *wait = 10; }
for (c = 0; c < *wait;) { for (c = 0; c < *wait;) {
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing! AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing!
@ -286,7 +283,6 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int
c = 0; c = 0;
for(;;) { for(;;) {
WDT_HIT();
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
AT91C_BASE_SSC->SSC_THR = cmd[c]; AT91C_BASE_SSC->SSC_THR = cmd[c];
if( ++c >= len) break; if( ++c >= len) break;
@ -294,6 +290,7 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
r = AT91C_BASE_SSC->SSC_RHR; (void)r; r = AT91C_BASE_SSC->SSC_RHR; (void)r;
} }
WDT_HIT();
} }
if (samples) { if (samples) {
if (wait) if (wait)