add check for no wave in graphbuffer prior to...

hitag lf search check
This commit is contained in:
marshmellow42 2017-02-01 15:39:10 -05:00
commit 38cb7c71c5
3 changed files with 19 additions and 4 deletions

View file

@ -1180,10 +1180,14 @@ int CmdLFfind(const char *Cmd)
return 1;
}
if (!offline && (cmdp != '1')){
ans=CmdLFHitagReader("26");
if (ans==0) {
return 1;
size_t testLen = (GraphTraceLen < 500) ? GraphTraceLen : 500;
// only run if graphbuffer is just noise as it should be for hitag
if (graphJustNoise(GraphBuffer, testLen)) {
if (!offline && (cmdp != '1')){
ans=CmdLFHitagReader("26");
if (ans==0) {
return 1;
}
}
}

View file

@ -268,3 +268,13 @@ uint8_t fskClocks(uint8_t *fc1, uint8_t *fc2, uint8_t *rf1, bool verbose)
}
return 1;
}
bool graphJustNoise(int *BitStream, int size)
{
static const uint8_t THRESHOLD = 10; //might not be high enough for noisy environments
//test samples are not just noise
bool justNoise1 = 1;
for(int idx=0; idx < size && justNoise1 ;idx++){
justNoise1 = BitStream[idx] < THRESHOLD;
}
return justNoise1;
}

View file

@ -22,6 +22,7 @@ uint8_t GetPskCarrier(const char str[], bool printAns, bool verbose);
uint8_t GetNrzClock(const char str[], bool printAns, bool verbose);
uint8_t GetFskClock(const char str[], bool printAns, bool verbose);
uint8_t fskClocks(uint8_t *fc1, uint8_t *fc2, uint8_t *rf1, bool verbose);
bool graphJustNoise(int *BitStream, int size);
void setGraphBuf(uint8_t *buff, size_t size);
void save_restoreGB(uint8_t saveOpt);