finish FSK graph index changes

This commit is contained in:
marshmellow42 2017-04-15 16:18:54 -04:00
parent b760f0ffd8
commit 1c70664ae7
9 changed files with 47 additions and 40 deletions

View file

@ -68,15 +68,21 @@ void save_restoreDB(uint8_t saveOpt)
static uint8_t SavedDB[MAX_DEMOD_BUF_LEN];
static size_t SavedDBlen;
static bool DB_Saved = false;
static int savedDemodStartIdx = 0;
static int savedDemodClock = 0;
if (saveOpt==1) { //save
memcpy(SavedDB, DemodBuffer, sizeof(DemodBuffer));
SavedDBlen = DemodBufferLen;
DB_Saved=true;
savedDemodStartIdx = g_DemodStartIdx;
savedDemodClock = g_DemodClock;
} else if (DB_Saved) { //restore
memcpy(DemodBuffer, SavedDB, sizeof(DemodBuffer));
DemodBufferLen = SavedDBlen;
g_DemodClock = savedDemodClock;
g_DemodStartIdx = savedDemodStartIdx;
}
return;
}
@ -803,7 +809,7 @@ int FSKrawDemod(const char *Cmd, bool verbose)
if (!rfLen) rfLen = 50;
}
int startIdx = 0;
int size = fskdemod_ext(BitStream, BitLen, rfLen, invert, fchigh, fclow, &startIdx);
int size = fskdemod(BitStream, BitLen, rfLen, invert, fchigh, fclow, &startIdx);
if (size > 0) {
setDemodBuf(BitStream,size,0);
setClockGrid(rfLen, startIdx);

View file

@ -88,8 +88,9 @@ int CmdFSKdemodAWID(const char *Cmd)
size_t size = getFromGraphBuf(BitStream);
if (size==0) return 0;
int waveIdx = 0;
//get binary from fsk wave
int idx = AWIDdemodFSK(BitStream, &size);
int idx = AWIDdemodFSK(BitStream, &size, &waveIdx);
if (idx<=0){
if (g_debugMode){
if (idx == -1)
@ -126,7 +127,7 @@ int CmdFSKdemodAWID(const char *Cmd)
uint32_t rawHi = bytebits_to_byte(BitStream+idx+32,32);
uint32_t rawHi2 = bytebits_to_byte(BitStream+idx,32);
setDemodBuf(BitStream,96,idx);
setClockGrid(g_DemodClock, g_DemodStartIdx + (idx*g_DemodClock));
setClockGrid(50, waveIdx + (idx*50));
size = removeParity(BitStream, idx+8, 4, 1, 88);
if (size != 66){

View file

@ -32,7 +32,8 @@ int CmdFSKdemodHID(const char *Cmd)
size_t BitLen = getFromGraphBuf(BitStream);
if (BitLen==0) return 0;
//get binary from fsk wave
int idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo);
int waveIdx = 0;
int idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo, &waveIdx);
if (idx<0){
if (g_debugMode){
if (idx==-1){
@ -99,7 +100,7 @@ int CmdFSKdemodHID(const char *Cmd)
(unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum);
}
setDemodBuf(BitStream,BitLen,idx);
setClockGrid(g_DemodClock, g_DemodStartIdx + (idx*g_DemodClock));
setClockGrid(50, waveIdx + (idx*50));
if (g_debugMode){
PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen);
printDemodBuff();

View file

@ -53,8 +53,9 @@ int CmdFSKdemodIO(const char *Cmd)
size_t BitLen = getFromGraphBuf(BitStream);
if (BitLen==0) return 0;
int waveIdx = 0;
//get binary from fsk wave
idx = IOdemodFSK(BitStream,BitLen);
idx = IOdemodFSK(BitStream,BitLen, &waveIdx);
if (idx<0){
if (g_debugMode){
if (idx==-1){
@ -119,7 +120,7 @@ int CmdFSKdemodIO(const char *Cmd)
PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x) [%02x %s]",version,facilitycode,number,code,code2, crc, crcStr);
setDemodBuf(BitStream,64,idx);
setClockGrid(g_DemodClock, g_DemodStartIdx + (idx*g_DemodClock));
setClockGrid(64, waveIdx + (idx*64));
if (g_debugMode){
PrintAndLog("DEBUG: idx: %d, Len: %d, Printing demod buffer:",idx,64);

View file

@ -32,8 +32,9 @@ int CmdFSKdemodParadox(const char *Cmd)
uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0};
size_t BitLen = getFromGraphBuf(BitStream);
if (BitLen==0) return 0;
int waveIdx=0;
//get binary from fsk wave
int idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo);
int idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo,&waveIdx);
if (idx<0){
if (g_debugMode){
if (idx==-1){
@ -63,7 +64,7 @@ int CmdFSKdemodParadox(const char *Cmd)
PrintAndLog("Paradox TAG ID: %x%08x - FC: %d - Card: %d - Checksum: %02x - RAW: %08x%08x%08x",
hi>>10, (hi & 0x3)<<26 | (lo>>10), fc, cardnum, (lo>>2) & 0xFF, rawHi2, rawHi, rawLo);
setDemodBuf(BitStream,BitLen,idx);
setClockGrid(g_DemodClock, g_DemodStartIdx + (idx*g_DemodClock));
setClockGrid(50, waveIdx + (idx*50));
if (g_debugMode){
PrintAndLog("DEBUG: idx: %d, len: %d, Printing Demod Buffer:", idx, BitLen);
printDemodBuff();

View file

@ -96,8 +96,9 @@ int CmdFSKdemodPyramid(const char *Cmd)
size_t size = getFromGraphBuf(BitStream);
if (size==0) return 0;
int waveIdx=0;
//get binary from fsk wave
int idx = PyramiddemodFSK(BitStream, &size);
int idx = PyramiddemodFSK(BitStream, &size, &waveIdx);
if (idx < 0){
if (g_debugMode){
if (idx == -5)
@ -152,7 +153,7 @@ int CmdFSKdemodPyramid(const char *Cmd)
uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32);
uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32);
setDemodBuf(BitStream,128,idx);
setClockGrid(g_DemodClock, g_DemodStartIdx + (idx*g_DemodClock));
setClockGrid(50, waveIdx + (idx*50));
size = removeParity(BitStream, idx+8, 8, 1, 120);
if (size != 105){