mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 14:23:50 -07:00
Forgot about resetting the grid offsets
This commit is contained in:
parent
791f02209d
commit
2d0bc5100a
8 changed files with 23 additions and 5 deletions
|
@ -2711,6 +2711,7 @@ static int try_detect_modulation(void) {
|
||||||
if (clk > 0) {
|
if (clk > 0) {
|
||||||
// allow undo
|
// allow undo
|
||||||
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState.offset = g_GridOffset;
|
||||||
// skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise)
|
// skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise)
|
||||||
CmdLtrim("-i 160");
|
CmdLtrim("-i 160");
|
||||||
if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS)) {
|
if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS)) {
|
||||||
|
@ -2723,6 +2724,7 @@ static int try_detect_modulation(void) {
|
||||||
}
|
}
|
||||||
//undo trim samples
|
//undo trim samples
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1537,6 +1537,7 @@ static bool check_chiptype(bool getDeviceData) {
|
||||||
|
|
||||||
//Save the state of the Graph and Demod Buffers
|
//Save the state of the Graph and Demod Buffers
|
||||||
buffer_savestate_t saveState_gb = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState_gb = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState_gb.offset = g_GridOffset;
|
||||||
buffer_savestate_t saveState_db = save_buffer8(g_DemodBuffer, g_DemodBufferLen);
|
buffer_savestate_t saveState_db = save_buffer8(g_DemodBuffer, g_DemodBufferLen);
|
||||||
saveState_db.clock = g_DemodClock;
|
saveState_db.clock = g_DemodClock;
|
||||||
saveState_db.offset = g_DemodStartIdx;
|
saveState_db.offset = g_DemodStartIdx;
|
||||||
|
@ -1581,7 +1582,10 @@ out:
|
||||||
restore_buffer8(saveState_db, g_DemodBuffer);
|
restore_buffer8(saveState_db, g_DemodBuffer);
|
||||||
g_DemodClock = saveState_db.clock;
|
g_DemodClock = saveState_db.clock;
|
||||||
g_DemodStartIdx = saveState_db.offset;
|
g_DemodStartIdx = saveState_db.offset;
|
||||||
|
|
||||||
restore_bufferS32(saveState_gb, g_GraphBuffer);
|
restore_bufferS32(saveState_gb, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState_gb.offset;
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1152,6 +1152,7 @@ bool t55xxTryDetectModulationEx(uint8_t downlink_mode, bool print_config, uint32
|
||||||
if (clk > 0) {
|
if (clk > 0) {
|
||||||
// allow undo
|
// allow undo
|
||||||
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState.offset = g_GridOffset;
|
||||||
// skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise)
|
// skip first 160 samples to allow antenna to settle in (psk gets inverted occasionally otherwise)
|
||||||
CmdLtrim("-i 160");
|
CmdLtrim("-i 160");
|
||||||
if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS) && test(DEMOD_PSK1, &tests[hits].offset, &bitRate, clk, &tests[hits].Q5)) {
|
if ((PSKDemod(0, 0, 6, false) == PM3_SUCCESS) && test(DEMOD_PSK1, &tests[hits].offset, &bitRate, clk, &tests[hits].Q5)) {
|
||||||
|
@ -1201,6 +1202,7 @@ bool t55xxTryDetectModulationEx(uint8_t downlink_mode, bool print_config, uint32
|
||||||
} // inverse waves does not affect this demod
|
} // inverse waves does not affect this demod
|
||||||
//undo trim samples
|
//undo trim samples
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (hits == 1) {
|
if (hits == 1) {
|
||||||
|
|
|
@ -90,6 +90,7 @@ int demodTI(bool verbose) {
|
||||||
};
|
};
|
||||||
|
|
||||||
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState.offset = g_GridOffset;
|
||||||
|
|
||||||
int lowLen = ARRAYLEN(LowTone);
|
int lowLen = ARRAYLEN(LowTone);
|
||||||
int highLen = ARRAYLEN(HighTone);
|
int highLen = ARRAYLEN(HighTone);
|
||||||
|
@ -276,8 +277,10 @@ int demodTI(bool verbose) {
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (retval != PM3_SUCCESS)
|
if (retval != PM3_SUCCESS) {
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
|
}
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,6 +85,7 @@ static uint8_t visa_parity(uint32_t id) {
|
||||||
int demodVisa2k(bool verbose) {
|
int demodVisa2k(bool verbose) {
|
||||||
(void) verbose; // unused so far
|
(void) verbose; // unused so far
|
||||||
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState.offset = g_GridOffset;
|
||||||
|
|
||||||
//CmdAskEdgeDetect("");
|
//CmdAskEdgeDetect("");
|
||||||
|
|
||||||
|
@ -93,6 +94,7 @@ int demodVisa2k(bool verbose) {
|
||||||
if (ASKDemod_ext(64, 0, 0, 0, false, false, false, 1, &st) != PM3_SUCCESS) {
|
if (ASKDemod_ext(64, 0, 0, 0, false, false, false, 1, &st) != PM3_SUCCESS) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: Error - Visa2k: ASK/Manchester Demod failed");
|
PrintAndLogEx(DEBUG, "DEBUG: Error - Visa2k: ASK/Manchester Demod failed");
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
size_t size = g_DemodBufferLen;
|
size_t size = g_DemodBufferLen;
|
||||||
|
@ -108,6 +110,7 @@ int demodVisa2k(bool verbose) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: Error - Visa2k: ans: %d", ans);
|
PrintAndLogEx(DEBUG, "DEBUG: Error - Visa2k: ans: %d", ans);
|
||||||
|
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
setDemodBuff(g_DemodBuffer, 96, ans);
|
setDemodBuff(g_DemodBuffer, 96, ans);
|
||||||
|
@ -126,6 +129,7 @@ int demodVisa2k(bool verbose) {
|
||||||
if (chk != calc) {
|
if (chk != calc) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: error: Visa2000 checksum (%s) %x - %x\n", _RED_("fail"), chk, calc);
|
PrintAndLogEx(DEBUG, "DEBUG: error: Visa2000 checksum (%s) %x - %x\n", _RED_("fail"), chk, calc);
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
// parity
|
// parity
|
||||||
|
@ -134,6 +138,7 @@ int demodVisa2k(bool verbose) {
|
||||||
if (calc_par != chk_par) {
|
if (calc_par != chk_par) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: error: Visa2000 parity (%s) %x - %x\n", _RED_("fail"), chk_par, calc_par);
|
PrintAndLogEx(DEBUG, "DEBUG: error: Visa2000 parity (%s) %x - %x\n", _RED_("fail"), chk_par, calc_par);
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
PrintAndLogEx(SUCCESS, "Visa2000 - Card " _GREEN_("%u") ", Raw: %08X%08X%08X", raw2, raw1, raw2, raw3);
|
PrintAndLogEx(SUCCESS, "Visa2000 - Card " _GREEN_("%u") ", Raw: %08X%08X%08X", raw2, raw1, raw2, raw3);
|
||||||
|
|
|
@ -42,6 +42,7 @@ static int CmdHelp(const char *Cmd);
|
||||||
int demodzx(bool verbose) {
|
int demodzx(bool verbose) {
|
||||||
(void) verbose; // unused so far
|
(void) verbose; // unused so far
|
||||||
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
buffer_savestate_t saveState = save_bufferS32(g_GraphBuffer, g_GraphTraceLen);
|
||||||
|
saveState.offset = g_GridOffset;
|
||||||
|
|
||||||
// CmdAskEdgeDetect("");
|
// CmdAskEdgeDetect("");
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ int demodzx(bool verbose) {
|
||||||
if (ASKDemod_ext(64, 0, 0, 0, false, false, false, 1, &st) != PM3_SUCCESS) {
|
if (ASKDemod_ext(64, 0, 0, 0, false, false, false, 1, &st) != PM3_SUCCESS) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: Error - ZX: ASK/Manchester Demod failed");
|
PrintAndLogEx(DEBUG, "DEBUG: Error - ZX: ASK/Manchester Demod failed");
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
size_t size = g_DemodBufferLen;
|
size_t size = g_DemodBufferLen;
|
||||||
|
@ -65,6 +67,7 @@ int demodzx(bool verbose) {
|
||||||
PrintAndLogEx(DEBUG, "DEBUG: Error - ZX: ans: %d", ans);
|
PrintAndLogEx(DEBUG, "DEBUG: Error - ZX: ans: %d", ans);
|
||||||
|
|
||||||
restore_bufferS32(saveState, g_GraphBuffer);
|
restore_bufferS32(saveState, g_GraphBuffer);
|
||||||
|
g_GridOffset = saveState.offset;
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
setDemodBuff(g_DemodBuffer, 96, ans);
|
setDemodBuff(g_DemodBuffer, 96, ans);
|
||||||
|
|
|
@ -68,6 +68,8 @@ extern int32_t g_OverlayBuffer[MAX_GRAPH_TRACE_LEN];
|
||||||
extern bool g_useOverlays;
|
extern bool g_useOverlays;
|
||||||
extern size_t g_GraphTraceLen;
|
extern size_t g_GraphTraceLen;
|
||||||
|
|
||||||
|
extern double g_GridOffset;
|
||||||
|
|
||||||
extern buffer_savestate_t g_saveState_gb;
|
extern buffer_savestate_t g_saveState_gb;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -52,7 +52,7 @@ extern void remove_temporary_markers(void);
|
||||||
|
|
||||||
extern double g_CursorScaleFactor;
|
extern double g_CursorScaleFactor;
|
||||||
extern char g_CursorScaleFactorUnit[11];
|
extern char g_CursorScaleFactorUnit[11];
|
||||||
extern double g_PlotGridX, g_PlotGridY, g_DefaultGridX, g_DefaultGridY, g_GridOffset;
|
extern double g_PlotGridX, g_PlotGridY, g_DefaultGridX, g_DefaultGridY;
|
||||||
extern marker_t g_MarkerA, g_MarkerB, g_MarkerC, g_MarkerD;
|
extern marker_t g_MarkerA, g_MarkerB, g_MarkerC, g_MarkerD;
|
||||||
extern marker_t *g_TempMarkers;
|
extern marker_t *g_TempMarkers;
|
||||||
extern uint8_t g_TempMarkerSize;
|
extern uint8_t g_TempMarkerSize;
|
||||||
|
@ -61,9 +61,6 @@ extern int CommandFinished;
|
||||||
extern int offline;
|
extern int offline;
|
||||||
extern bool g_GridLocked;
|
extern bool g_GridLocked;
|
||||||
|
|
||||||
#define GRAPH_SAVE 1
|
|
||||||
#define GRAPH_RESTORE 0
|
|
||||||
|
|
||||||
#ifndef FILE_PATH_SIZE
|
#ifndef FILE_PATH_SIZE
|
||||||
#define FILE_PATH_SIZE 1000
|
#define FILE_PATH_SIZE 1000
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue