ADD: 'LF SEARCH'  now also checks for NEDAP.
                PrintAndLog("\nValid NexWatch ID Found!");
                return 1;
        }
                PrintAndLog("\nValid NexWatch ID Found!");
                return 1;
        }
+       ans=CmdFSKdemodNedap("");
+       if (ans>0) {
+               PrintAndLog("\nValid NEDAP ID Found!");
+               return 1;
+       }
 
        size_t size = getFromGraphBuf(BitStream);
        if (size==0) return 0;
 
        size_t size = getFromGraphBuf(BitStream);
        if (size==0) return 0;
 
-       //get binary from fsk wave
+       //get binary from ask wave
+       if (!ASKbiphaseDemod("0 64 1 0", FALSE)) {
+               if (g_debugMode) PrintAndLog("Error NEDAP: ASKbiphaseDemod failed");
+               return 0;
+       }
+       size_t size = DemodBufferLen;
+
        int idx = NedapDemod(BitStream, &size);
        if (idx < 0){
                if (g_debugMode){
        int idx = NedapDemod(BitStream, &size);
        if (idx < 0){
                if (g_debugMode){
 
 int NedapDemod(uint8_t *dest, size_t *size) {
        //make sure buffer has data
        if (*size < 128) return -3;
 int NedapDemod(uint8_t *dest, size_t *size) {
        //make sure buffer has data
        if (*size < 128) return -3;
        size_t startIdx = 0;
        uint8_t preamble[] = {1,1,1,1,1,1,1,1,1,0};
        uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
        size_t startIdx = 0;
        uint8_t preamble[] = {1,1,1,1,1,1,1,1,1,0};
        uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);