ADD: using @holiman's "ubs_poll_validate_length() function in some device-side functions.

-hitag2, -legicrf, HIDdemodFSK, CmDAWIDdemodFSK, CmdEM410xdemod, CmdIOdemodFSK

It should enable them to be aborted with a call to  "hw ping / hw status" instead of only button-press. Which is good when you are scripting stuff.
This commit is contained in:
iceman1001 2015-07-22 23:45:41 +02:00
commit 6427695bb4
4 changed files with 8 additions and 7 deletions

View file

@ -21,6 +21,7 @@
#include "lfdemod.h"
#include "BigBuf.h"
#include "fpgaloader.h"
#include "usb_cdc.h"
#include "hitag2.h"
#include "mifare.h"
//#include "des.h"

View file

@ -765,7 +765,7 @@ void SnoopHitag(uint32_t type) {
bSkip = true;
tag_sof = 4;
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
// Watchdog hit
WDT_HIT();
@ -992,7 +992,7 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) {
// Enable and reset counter
AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
// Watchdog hit
WDT_HIT();

View file

@ -711,7 +711,7 @@ void LegicRfSimulate(int phase, int frame, int reqresp)
LED_B_ON();
DbpString("Starting Legic emulator, press button to end");
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
int level = !!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_DIN);
int time = timer->TC_CV;

View file

@ -762,7 +762,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol)
// Configure to go in 125Khz listen mode
LFSetupFPGAForADC(95, true);
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
WDT_HIT();
if (ledcontrol) LED_A_ON();
@ -851,7 +851,7 @@ void CmdAWIDdemodFSK(int findone, int *high, int *low, int ledcontrol)
// Configure to go in 125Khz listen mode
LFSetupFPGAForADC(95, true);
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
WDT_HIT();
if (ledcontrol) LED_A_ON();
@ -942,7 +942,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol)
// Configure to go in 125Khz listen mode
LFSetupFPGAForADC(95, true);
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
WDT_HIT();
if (ledcontrol) LED_A_ON();
@ -1003,7 +1003,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
// Configure to go in 125Khz listen mode
LFSetupFPGAForADC(95, true);
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
WDT_HIT();
if (ledcontrol) LED_A_ON();
DoAcquisition_default(-1,true);