}
if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty
- char *bin = sprint_bin_break(DemodBuffer,bitLen,16);
+ char *bin = sprint_bin_break(DemodBuffer, bitLen,16);
PrintAndLog("%s",bin);
return;
sscanf(Cmd, "%i %i %i %i", &offset, &clk, &invert, &maxErr);
uint8_t BitStream[MAX_DEMOD_BUF_LEN];
- size_t size = getFromGraphBuf(BitStream);
+ size_t size = getFromGraphBuf(BitStream);
+ if (size == 0 ) {
+ if (g_debugMode) PrintAndLog("DEBUG: no data in graphbuf");
+ return 0;
+ }
//invert here inverts the ask raw demoded bits which has no effect on the demod, but we need the pointer
int errCnt = askdemod(BitStream, &size, &clk, &invert, maxErr, 0, 0);
if ( errCnt < 0 || errCnt > maxErr ) {
int CmdAskEdgeDetect(const char *Cmd)
{
int thresLen = 25;
+ int last = 0;
sscanf(Cmd, "%i", &thresLen);
- for(int i = 1; i<GraphTraceLen; i++){
- if (GraphBuffer[i]-GraphBuffer[i-1]>=thresLen) //large jump up
- GraphBuffer[i-1] = 127;
- else if(GraphBuffer[i]-GraphBuffer[i-1]<=-1*thresLen) //large jump down
- GraphBuffer[i-1] = -127;
+ for(int i = 1; i < GraphTraceLen; ++i){
+ if (GraphBuffer[i] - GraphBuffer[i-1] >= thresLen) //large jump up
+ last = 127;
+ else if(GraphBuffer[i] - GraphBuffer[i-1] <= -1 * thresLen) //large jump down
+ last = -127;
+
+ GraphBuffer[i-1] = last;
}
RepaintGraphWindow();
return 0;