rename globals GraphTraceLen OddByteParity pm3_capabilities

This commit is contained in:
Philippe Teuwen 2021-08-21 17:53:54 +02:00
parent 6e0ce662c7
commit ce57637c80
20 changed files with 167 additions and 167 deletions

View file

@ -21,9 +21,9 @@ size_t DemodPCF7931(uint8_t **outBlocks) {
uint8_t *dest = BigBuf_get_addr();
int GraphTraceLen = BigBuf_max_traceLen();
if (GraphTraceLen > 18000) {
GraphTraceLen = 18000;
int g_GraphTraceLen = BigBuf_max_traceLen();
if (g_GraphTraceLen > 18000) {
g_GraphTraceLen = 18000;
}
int i = 2, j, lastval, bitidx, half_switch;
@ -41,7 +41,7 @@ size_t DemodPCF7931(uint8_t **outBlocks) {
/* Find first local max/min */
if (dest[1] > dest[0]) {
while (i < GraphTraceLen) {
while (i < g_GraphTraceLen) {
if (!(dest[i] > dest[i - 1]) && dest[i] > lmax) {
break;
}
@ -49,7 +49,7 @@ size_t DemodPCF7931(uint8_t **outBlocks) {
}
dir = 0;
} else {
while (i < GraphTraceLen) {
while (i < g_GraphTraceLen) {
if (!(dest[i] < dest[i - 1]) && dest[i] < lmin) {
break;
}
@ -63,7 +63,7 @@ size_t DemodPCF7931(uint8_t **outBlocks) {
pmc = 0;
block_done = 0;
for (bitidx = 0; i < GraphTraceLen; i++) {
for (bitidx = 0; i < g_GraphTraceLen; i++) {
if ((dest[i - 1] > dest[i] && dir == 1 && dest[i] > lmax) || (dest[i - 1] < dest[i] && dir == 0 && dest[i] < lmin)) {
lc = i - lastval;
@ -131,7 +131,7 @@ size_t DemodPCF7931(uint8_t **outBlocks) {
half_switch = 0;
}
if (i < GraphTraceLen) {
if (i < g_GraphTraceLen) {
dir = (dest[i - 1] > dest[i]) ? 0 : 1;
}
}

View file

@ -1036,7 +1036,7 @@ static int CmdAnalyseFoo(const char *Cmd) {
PrintAndLogEx(INFO, "Got: %s", data3);
ClearGraph(false);
GraphTraceLen = 15000;
g_GraphTraceLen = 15000;
for (int i = 0; i < 4095; i++) {
int o = 0;

View file

@ -328,7 +328,7 @@ int CmdGetBitStream(const char *Cmd) {
CLIParserFree(ctx);
CmdHpf("");
for (uint32_t i = 0; i < GraphTraceLen; i++) {
for (uint32_t i = 0; i < g_GraphTraceLen; i++) {
g_GraphBuffer[i] = (g_GraphBuffer[i] >= 1) ? 1 : 0;
}
RepaintGraphWindow();
@ -377,7 +377,7 @@ int ASKDemod_ext(int clk, int invert, int maxErr, size_t maxlen, bool amplify, b
uint8_t askamp = 0;
if (maxlen == 0)
maxlen = pm3_capabilities.bigbuf_size;
maxlen = g_pm3_capabilities.bigbuf_size;
uint8_t *bits = calloc(MAX_GRAPH_TRACE_LEN, sizeof(uint8_t));
if (bits == NULL) {
@ -778,7 +778,7 @@ int AutoCorrelate(const int *in, int *out, size_t len, size_t window, bool SaveG
// sanity check
if (window > len) window = len;
if (verbose) PrintAndLogEx(INFO, "performing " _YELLOW_("%zu") " correlations", GraphTraceLen - window);
if (verbose) PrintAndLogEx(INFO, "performing " _YELLOW_("%zu") " correlations", g_GraphTraceLen - window);
//test
double autocv = 0.0; // Autocovariance value
@ -843,7 +843,7 @@ int AutoCorrelate(const int *in, int *out, size_t len, size_t window, bool SaveG
int retval = correlation;
if (SaveGrph) {
//GraphTraceLen = GraphTraceLen - window;
//g_GraphTraceLen = g_GraphTraceLen - window;
memcpy(out, correl_buf, len * sizeof(int));
if (distance > 0) {
setClockGrid(distance, idx);
@ -881,18 +881,18 @@ static int CmdAutoCorr(const char *Cmd) {
PrintAndLogEx(INFO, "Using window size " _YELLOW_("%u"), window);
if (GraphTraceLen == 0) {
if (g_GraphTraceLen == 0) {
PrintAndLogEx(WARNING, "GraphBuffer is empty");
PrintAndLogEx(HINT, "Try `" _YELLOW_("lf read") "` to collect samples");
return PM3_ESOFT;
}
if (window >= GraphTraceLen) {
PrintAndLogEx(WARNING, "window must be smaller than trace (" _YELLOW_("%zu") " samples)", GraphTraceLen);
if (window >= g_GraphTraceLen) {
PrintAndLogEx(WARNING, "window must be smaller than trace (" _YELLOW_("%zu") " samples)", g_GraphTraceLen);
return PM3_EINVARG;
}
AutoCorrelate(g_GraphBuffer, g_GraphBuffer, GraphTraceLen, window, updateGrph, true);
AutoCorrelate(g_GraphBuffer, g_GraphBuffer, g_GraphTraceLen, window, updateGrph, true);
return PM3_SUCCESS;
}
@ -926,7 +926,7 @@ static int CmdBitsamples(const char *Cmd) {
g_GraphBuffer[cnt++] = 0;
}
}
GraphTraceLen = cnt;
g_GraphTraceLen = cnt;
RepaintGraphWindow();
return PM3_SUCCESS;
}
@ -968,10 +968,10 @@ static int CmdDecimate(const char *Cmd) {
int n = arg_get_int_def(ctx, 1, 2);
CLIParserFree(ctx);
for (size_t i = 0; i < (GraphTraceLen / n); ++i)
for (size_t i = 0; i < (g_GraphTraceLen / n); ++i)
g_GraphBuffer[i] = g_GraphBuffer[i * n];
GraphTraceLen /= n;
g_GraphTraceLen /= n;
PrintAndLogEx(SUCCESS, "decimated by " _GREEN_("%u"), n);
RepaintGraphWindow();
return PM3_SUCCESS;
@ -1003,7 +1003,7 @@ static int CmdUndecimate(const char *Cmd) {
//We have memory, don't we?
int swap[MAX_GRAPH_TRACE_LEN] = {0};
uint32_t g_index = 0, s_index = 0;
while (g_index < GraphTraceLen && s_index + factor < MAX_GRAPH_TRACE_LEN) {
while (g_index < g_GraphTraceLen && s_index + factor < MAX_GRAPH_TRACE_LEN) {
int count = 0;
for (count = 0; count < factor && s_index + count < MAX_GRAPH_TRACE_LEN; count++) {
swap[s_index + count] = (
@ -1016,7 +1016,7 @@ static int CmdUndecimate(const char *Cmd) {
}
memcpy(g_GraphBuffer, swap, s_index * sizeof(int));
GraphTraceLen = s_index;
g_GraphTraceLen = s_index;
RepaintGraphWindow();
return PM3_SUCCESS;
}
@ -1039,7 +1039,7 @@ static int CmdGraphShiftZero(const char *Cmd) {
int shift = arg_get_int_def(ctx, 1, 0);
CLIParserFree(ctx);
for (size_t i = 0; i < GraphTraceLen; i++) {
for (size_t i = 0; i < g_GraphTraceLen; i++) {
int shiftedVal = g_GraphBuffer[i] + shift;
if (shiftedVal > 127)
@ -1085,7 +1085,7 @@ static int CmdAskEdgeDetect(const char *Cmd) {
CLIParserFree(ctx);
PrintAndLogEx(INFO, "using threshold " _YELLOW_("%i"), threshold);
int res = AskEdgeDetect(g_GraphBuffer, g_GraphBuffer, GraphTraceLen, threshold);
int res = AskEdgeDetect(g_GraphBuffer, g_GraphBuffer, g_GraphTraceLen, threshold);
RepaintGraphWindow();
return res;
}
@ -1560,8 +1560,8 @@ void setClockGrid(uint32_t clk, int offset) {
if (offset > clk) offset %= clk;
if (offset < 0) offset += clk;
if (offset > GraphTraceLen || offset < 0) return;
if (clk < 8 || clk > GraphTraceLen) {
if (offset > g_GraphTraceLen || offset < 0) return;
if (clk < 8 || clk > g_GraphTraceLen) {
g_GridLocked = false;
g_GridOffset = 0;
g_PlotGridX = 0;
@ -1644,17 +1644,17 @@ static int CmdHexsamples(const char *Cmd) {
CLIParserFree(ctx);
// sanity checks
if (requested > pm3_capabilities.bigbuf_size) {
requested = pm3_capabilities.bigbuf_size;
if (requested > g_pm3_capabilities.bigbuf_size) {
requested = g_pm3_capabilities.bigbuf_size;
PrintAndLogEx(INFO, "n is larger than big buffer size, will use %u", requested);
}
uint8_t got[pm3_capabilities.bigbuf_size];
uint8_t got[g_pm3_capabilities.bigbuf_size];
if (offset + requested > sizeof(got)) {
PrintAndLogEx(NORMAL, "Tried to read past end of buffer, <bytes %u> + <offset %u> > %d"
, requested
, offset
, pm3_capabilities.bigbuf_size
, g_pm3_capabilities.bigbuf_size
);
return PM3_EINVARG;
}
@ -1698,7 +1698,7 @@ int CmdHpf(const char *Cmd) {
CLIExecWithReturn(ctx, Cmd, argtable, true);
CLIParserFree(ctx);
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
removeSignalOffset(bits, size);
// push it back to graph
@ -1739,13 +1739,13 @@ int getSamplesEx(uint32_t start, uint32_t end, bool verbose) {
// we don't have to worry about remaining trash
// in the last byte in case the bits-per-sample
// does not line up on byte boundaries
uint8_t got[pm3_capabilities.bigbuf_size - 1];
uint8_t got[g_pm3_capabilities.bigbuf_size - 1];
memset(got, 0x00, sizeof(got));
uint32_t n = end - start;
if (n == 0 || n > pm3_capabilities.bigbuf_size - 1)
n = pm3_capabilities.bigbuf_size - 1;
if (n == 0 || n > g_pm3_capabilities.bigbuf_size - 1)
n = g_pm3_capabilities.bigbuf_size - 1;
if (verbose)
PrintAndLogEx(INFO, "Reading " _YELLOW_("%u") " bytes from device memory", n);
@ -1777,7 +1777,7 @@ int getSamplesEx(uint32_t start, uint32_t end, bool verbose) {
uint8_t sample = getByte(bits_per_sample, &bout);
g_GraphBuffer[j] = ((int) sample) - 127;
}
GraphTraceLen = j;
g_GraphTraceLen = j;
if (verbose) PrintAndLogEx(INFO, "Unpacked %d samples", j);
@ -1785,10 +1785,10 @@ int getSamplesEx(uint32_t start, uint32_t end, bool verbose) {
for (uint32_t j = 0; j < n; j++) {
g_GraphBuffer[j] = ((int)got[j]) - 127;
}
GraphTraceLen = n;
g_GraphTraceLen = n;
}
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
// set signal properties low/high/mean/amplitude and is_noise detection
computeSignalProperties(bits, size);
@ -2002,7 +2002,7 @@ int CmdTuneSamples(const char *Cmd) {
if (test1 > 0) {
PrintAndLogEx(SUCCESS, "\nDisplaying LF tuning graph. Divisor %d (blue) is %.2f kHz, %d (red) is %.2f kHz.\n\n",
LF_DIVISOR_134, LF_DIV2FREQ(LF_DIVISOR_134), LF_DIVISOR_125, LF_DIV2FREQ(LF_DIVISOR_125));
GraphTraceLen = 256;
g_GraphTraceLen = 256;
g_CursorCPos = LF_DIVISOR_125;
g_CursorDPos = LF_DIVISOR_134;
ShowGraphWindow();
@ -2050,20 +2050,20 @@ static int CmdLoad(const char *Cmd) {
}
free(path);
GraphTraceLen = 0;
g_GraphTraceLen = 0;
char line[80];
while (fgets(line, sizeof(line), f)) {
g_GraphBuffer[GraphTraceLen] = atoi(line);
GraphTraceLen++;
g_GraphBuffer[g_GraphTraceLen] = atoi(line);
g_GraphTraceLen++;
if (GraphTraceLen >= MAX_GRAPH_TRACE_LEN)
if (g_GraphTraceLen >= MAX_GRAPH_TRACE_LEN)
break;
}
fclose(f);
PrintAndLogEx(SUCCESS, "loaded " _YELLOW_("%zu") " samples", GraphTraceLen);
PrintAndLogEx(SUCCESS, "loaded " _YELLOW_("%zu") " samples", g_GraphTraceLen);
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
removeSignalOffset(bits, size);
@ -2093,15 +2093,15 @@ int CmdLtrim(const char *Cmd) {
CLIParserFree(ctx);
// sanitycheck
if (GraphTraceLen <= ds) {
if (g_GraphTraceLen <= ds) {
PrintAndLogEx(WARNING, "index out of bounds");
return PM3_EINVARG;
}
for (uint32_t i = ds; i < GraphTraceLen; ++i)
for (uint32_t i = ds; i < g_GraphTraceLen; ++i)
g_GraphBuffer[i - ds] = g_GraphBuffer[i];
GraphTraceLen -= ds;
g_GraphTraceLen -= ds;
g_DemodStartIdx -= ds;
RepaintGraphWindow();
return PM3_SUCCESS;
@ -2125,12 +2125,12 @@ static int CmdRtrim(const char *Cmd) {
CLIParserFree(ctx);
// sanitycheck
if (GraphTraceLen <= ds) {
if (g_GraphTraceLen <= ds) {
PrintAndLogEx(WARNING, "index out of bounds");
return PM3_EINVARG;
}
GraphTraceLen = ds;
g_GraphTraceLen = ds;
RepaintGraphWindow();
return PM3_SUCCESS;
}
@ -2154,7 +2154,7 @@ static int CmdMtrim(const char *Cmd) {
uint32_t stop = arg_get_u32(ctx, 2);
CLIParserFree(ctx);
if (start > GraphTraceLen || stop > GraphTraceLen || start >= stop) {
if (start > g_GraphTraceLen || stop > g_GraphTraceLen || start >= stop) {
PrintAndLogEx(WARNING, "start and end points doesn't align");
return PM3_EINVARG;
}
@ -2162,8 +2162,8 @@ static int CmdMtrim(const char *Cmd) {
// leave start position sample
start++;
GraphTraceLen = stop - start;
for (uint32_t i = 0; i < GraphTraceLen; i++) {
g_GraphTraceLen = stop - start;
for (uint32_t i = 0; i < g_GraphTraceLen; i++) {
g_GraphBuffer[i] = g_GraphBuffer[start + i];
}
@ -2187,19 +2187,19 @@ int CmdNorm(const char *Cmd) {
int max = INT_MIN, min = INT_MAX;
// Find local min, max
for (uint32_t i = 10; i < GraphTraceLen; ++i) {
for (uint32_t i = 10; i < g_GraphTraceLen; ++i) {
if (g_GraphBuffer[i] > max) max = g_GraphBuffer[i];
if (g_GraphBuffer[i] < min) min = g_GraphBuffer[i];
}
if (max != min) {
for (uint32_t i = 0; i < GraphTraceLen; ++i) {
for (uint32_t i = 0; i < g_GraphTraceLen; ++i) {
g_GraphBuffer[i] = ((long)(g_GraphBuffer[i] - ((max + min) / 2)) * 256) / (max - min);
//marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work
}
}
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
// set signal properties low/high/mean/amplitude and is_noise detection
computeSignalProperties(bits, size);
@ -2254,9 +2254,9 @@ int CmdSave(const char *Cmd) {
CLIParserFree(ctx);
if (as_wave)
return saveFileWAVE(filename, g_GraphBuffer, GraphTraceLen);
return saveFileWAVE(filename, g_GraphBuffer, g_GraphTraceLen);
else
return saveFilePM3(filename, g_GraphBuffer, GraphTraceLen);
return saveFilePM3(filename, g_GraphBuffer, g_GraphTraceLen);
}
static int CmdTimeScale(const char *Cmd) {
@ -2338,10 +2338,10 @@ static int CmdDirectionalThreshold(const char *Cmd) {
PrintAndLogEx(INFO, "Applying up threshold: " _YELLOW_("%i") ", down threshold: " _YELLOW_("%i") "\n", up, down);
directionalThreshold(g_GraphBuffer, g_GraphBuffer, GraphTraceLen, up, down);
directionalThreshold(g_GraphBuffer, g_GraphBuffer, g_GraphTraceLen, up, down);
// set signal properties low/high/mean/amplitude and isnoice detection
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
// set signal properties low/high/mean/amplitude and is_noice detection
computeSignalProperties(bits, size);
@ -2368,7 +2368,7 @@ static int CmdZerocrossings(const char *Cmd) {
int sign = 1, zc = 0, lastZc = 0;
for (uint32_t i = 0; i < GraphTraceLen; ++i) {
for (uint32_t i = 0; i < g_GraphTraceLen; ++i) {
if (g_GraphBuffer[i] * sign >= 0) {
// No change in sign, reproduce the previous sample count.
zc++;
@ -2384,7 +2384,7 @@ static int CmdZerocrossings(const char *Cmd) {
}
}
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
// set signal properties low/high/mean/amplitude and is_noise detection
computeSignalProperties(bits, size);
@ -2664,7 +2664,7 @@ static int CmdFSKToNRZ(const char *Cmd) {
setClockGrid(0, 0);
g_DemodBufferLen = 0;
int ans = FSKToNRZ(g_GraphBuffer, &GraphTraceLen, clk, fc_low, fc_high);
int ans = FSKToNRZ(g_GraphBuffer, &g_GraphTraceLen, clk, fc_low, fc_high);
CmdNorm("");
RepaintGraphWindow();
return ans;
@ -2686,9 +2686,9 @@ static int CmdDataIIR(const char *Cmd) {
uint8_t k = (arg_get_u32_def(ctx, 1, 0) & 0xFF);
CLIParserFree(ctx);
iceSimple_Filter(g_GraphBuffer, GraphTraceLen, k);
iceSimple_Filter(g_GraphBuffer, g_GraphTraceLen, k);
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
// set signal properties low/high/mean/amplitude and is_noise detection
computeSignalProperties(bits, size);

View file

@ -340,7 +340,7 @@ int CmdHFSniff(const char *Cmd) {
// it reserve memory from the higher end.
// At the moment, sniff takes all free memory in bigbuff. If this changes,
// we can't start from beginning idx 0 but from that hi-to-start-of-allocated.
uint32_t start = pm3_capabilities.bigbuf_size - retval->len;
uint32_t start = g_pm3_capabilities.bigbuf_size - retval->len;
int res = getSamplesEx(start, start, false);
if (res != PM3_SUCCESS) {
PrintAndLogEx(WARNING, "failed to download samples to client");
@ -368,7 +368,7 @@ int handle_hf_plot(void) {
g_GraphBuffer[i] = ((int)buf[i]) - 128;
}
GraphTraceLen = FPGA_TRACE_SIZE;
g_GraphTraceLen = FPGA_TRACE_SIZE;
ShowGraphWindow();

View file

@ -510,7 +510,7 @@ static int CmdHF15Demod(const char *Cmd) {
int max = 0, maxPos = 0;
int skip = 4;
if (GraphTraceLen < 1000) {
if (g_GraphTraceLen < 1000) {
PrintAndLogEx(FAILED, "Too few samples in GraphBuffer. Need more than 1000");
PrintAndLogEx(HINT, "Run " _YELLOW_("`hf 15 samples`") " to collect and download data");
return PM3_ESOFT;
@ -566,7 +566,7 @@ static int CmdHF15Demod(const char *Cmd) {
mask = 0x01;
}
if ((i + (int)ARRAYLEN(FrameEOF)) >= GraphTraceLen) {
if ((i + (int)ARRAYLEN(FrameEOF)) >= g_GraphTraceLen) {
PrintAndLogEx(INFO, "ran off end!");
break;
}

View file

@ -367,12 +367,12 @@ int CmdFlexdemod(const char *Cmd) {
#endif
int i, j, start, bit, sum;
int data[GraphTraceLen];
memcpy(data, g_GraphBuffer, GraphTraceLen);
int data[g_GraphTraceLen];
memcpy(data, g_GraphBuffer, g_GraphTraceLen);
size_t size = GraphTraceLen;
size_t size = g_GraphTraceLen;
for (i = 0; i < GraphTraceLen; ++i)
for (i = 0; i < g_GraphTraceLen; ++i)
data[i] = (data[i] < 0) ? -1 : 1;
for (start = 0; start < size - LONG_WAIT; start++) {
@ -419,7 +419,7 @@ int CmdFlexdemod(const char *Cmd) {
// iceman, use g_DemodBuffer? blue line?
// HACK writing back to graphbuffer.
GraphTraceLen = 32 * 64;
g_GraphTraceLen = 32 * 64;
i = 0;
for (bit = 0; bit < 64; bit++) {
@ -765,7 +765,7 @@ int CmdLFSniff(const char *Cmd) {
static void lf_chk_bitstream(void) {
// convert to bitstream if necessary
for (int i = 0; i < (int)(GraphTraceLen / 2); i++) {
for (int i = 0; i < (int)(g_GraphTraceLen / 2); i++) {
if (g_GraphBuffer[i] > 1 || g_GraphBuffer[i] < 0) {
CmdGetBitStream("");
PrintAndLogEx(INFO, "converted Graphbuffer to bitstream values (0|1)");
@ -776,7 +776,7 @@ static void lf_chk_bitstream(void) {
// Uploads g_GraphBuffer to device, in order to be used for LF SIM.
int lfsim_upload_gb(void) {
PrintAndLogEx(DEBUG, "DEBUG: Uploading %zu bytes", GraphTraceLen);
PrintAndLogEx(DEBUG, "DEBUG: Uploading %zu bytes", g_GraphTraceLen);
struct pupload {
uint8_t flag;
@ -796,9 +796,9 @@ int lfsim_upload_gb(void) {
//can send only 512 bits at a time (1 byte sent per bit...)
PrintAndLogEx(INFO, "." NOLF);
for (uint16_t i = 0; i < GraphTraceLen; i += PM3_CMD_DATA_SIZE - 3) {
for (uint16_t i = 0; i < g_GraphTraceLen; i += PM3_CMD_DATA_SIZE - 3) {
size_t len = MIN((GraphTraceLen - i), PM3_CMD_DATA_SIZE - 3);
size_t len = MIN((g_GraphTraceLen - i), PM3_CMD_DATA_SIZE - 3);
clearCommandBuffer();
payload_up.offset = i;
@ -848,7 +848,7 @@ int CmdLFSim(const char *Cmd) {
}
// sanity check
if (GraphTraceLen < 20) {
if (g_GraphTraceLen < 20) {
PrintAndLogEx(ERR, "No data in Graphbuffer");
return PM3_ENODATA;
}
@ -862,7 +862,7 @@ int CmdLFSim(const char *Cmd) {
uint16_t len;
uint16_t gap;
} PACKED payload;
payload.len = GraphTraceLen;
payload.len = g_GraphTraceLen;
payload.gap = gap;
clearCommandBuffer();
@ -1245,7 +1245,7 @@ int CmdLFSimBidir(const char *Cmd) {
int CmdVchDemod(const char *Cmd) {
if (GraphTraceLen < 4096) {
if (g_GraphTraceLen < 4096) {
PrintAndLogEx(DEBUG, "debug; VchDemod - too few samples");
return PM3_EINVARG;
}
@ -1274,7 +1274,7 @@ int CmdVchDemod(const char *Cmd) {
// It does us no good to find the sync pattern, with fewer than 2048 samples after it.
for (i = 0; i < (GraphTraceLen - 2048); i++) {
for (i = 0; i < (g_GraphTraceLen - 2048); i++) {
for (j = 0; j < ARRAYLEN(SyncPattern); j++) {
sum += g_GraphBuffer[i + j] * SyncPattern[j];
}
@ -1311,11 +1311,11 @@ int CmdVchDemod(const char *Cmd) {
// clone
if (strcmp(Cmd, "clone") == 0) {
GraphTraceLen = 0;
g_GraphTraceLen = 0;
char *s;
for (s = bits; *s; s++) {
for (j = 0; j < 16; j++) {
g_GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0;
g_GraphBuffer[g_GraphTraceLen++] = (*s == '1') ? 1 : 0;
}
}
RepaintGraphWindow();
@ -1402,7 +1402,7 @@ int CmdLFfind(const char *Cmd) {
lf_read(false, 30000);
size_t min_length = 2000;
if (GraphTraceLen < min_length) {
if (g_GraphTraceLen < min_length) {
PrintAndLogEx(FAILED, "Data in Graphbuffer was too small.");
return PM3_ESOFT;
}
@ -1690,7 +1690,7 @@ int CmdLFfind(const char *Cmd) {
if (search_unk) {
//test unknown tag formats (raw mode)
PrintAndLogEx(INFO, "\nChecking for unknown tags:\n");
int ans = AutoCorrelate(g_GraphBuffer, g_GraphBuffer, GraphTraceLen, 8000, false, false);
int ans = AutoCorrelate(g_GraphBuffer, g_GraphBuffer, g_GraphTraceLen, 8000, false, false);
if (ans > 0) {
PrintAndLogEx(INFO, "Possible auto correlation of %d repeating samples", ans);

View file

@ -580,7 +580,7 @@ static int CmdEM410xBrute(const char *Cmd) {
uint16_t len;
uint16_t gap;
} PACKED payload;
payload.len = GraphTraceLen;
payload.len = g_GraphTraceLen;
payload.gap = 0;
clearCommandBuffer();

View file

@ -2021,18 +2021,18 @@ int CmdEM4x05Sniff(const char *Cmd) {
idx = 0;
// loop though sample buffer
while (idx < GraphTraceLen) {
while (idx < g_GraphTraceLen) {
eop = false;
haveData = false;
pwd = false;
idx = em4x05_Sniff_GetNextBitStart(idx, GraphTraceLen, g_GraphBuffer, &pulseSamples);
idx = em4x05_Sniff_GetNextBitStart(idx, g_GraphTraceLen, g_GraphBuffer, &pulseSamples);
pktOffset = idx;
if (pulseSamples >= 10) { // Should be 18 so a bit less to allow for processing
// Use first bit to get "0" bit samples as a reference
ZeroWidth = idx;
idx = em4x05_Sniff_GetNextBitStart(idx, GraphTraceLen, g_GraphBuffer, &pulseSamples);
idx = em4x05_Sniff_GetNextBitStart(idx, g_GraphTraceLen, g_GraphBuffer, &pulseSamples);
ZeroWidth = idx - ZeroWidth;
if (ZeroWidth <= 50) {
@ -2040,9 +2040,9 @@ int CmdEM4x05Sniff(const char *Cmd) {
memset(bits, 0x00, sizeof(bits));
bitidx = 0;
while ((idx < GraphTraceLen) && !eop) {
while ((idx < g_GraphTraceLen) && !eop) {
CycleWidth = idx;
idx = em4x05_Sniff_GetNextBitStart(idx, GraphTraceLen, g_GraphBuffer, &pulseSamples);
idx = em4x05_Sniff_GetNextBitStart(idx, g_GraphTraceLen, g_GraphBuffer, &pulseSamples);
CycleWidth = idx - CycleWidth;
if ((CycleWidth > 300) || (CycleWidth < (ZeroWidth - 5))) { // to long or too short

View file

@ -105,7 +105,7 @@ int demodHID(bool verbose) {
//raw fsk demod no manchester decoding no start bit finding just get binary from wave
uint32_t hi2 = 0, hi = 0, lo = 0;
uint8_t bits[GraphTraceLen];
uint8_t bits[g_GraphTraceLen];
size_t size = getFromGraphBuf(bits);
if (size == 0) {
PrintAndLogEx(DEBUG, "DEBUG: Error - " _RED_("HID not enough samples"));

View file

@ -303,7 +303,7 @@ static int CmdIndalaDemodAlt(const char *Cmd) {
int count = 0;
int i, j;
// worst case with GraphTraceLen=40000 is < 4096
// worst case with g_GraphTraceLen=40000 is < 4096
// under normal conditions it's < 2048
uint8_t data[MAX_GRAPH_TRACE_LEN] = {0};
size_t datasize = getFromGraphBuf(data);
@ -316,7 +316,7 @@ static int CmdIndalaDemodAlt(const char *Cmd) {
setClockGrid(0, 0);
g_DemodBufferLen = 0;
// PrintAndLogEx(NORMAL, "Expecting a bit less than %d raw bits", GraphTraceLen / 32);
// PrintAndLogEx(NORMAL, "Expecting a bit less than %d raw bits", g_GraphTraceLen / 32);
// loop through raw signal - since we know it is psk1 rf/32 fc/2 skip every other value (+=2)
for (i = 0; i < datasize - 1; i += 2) {
count += 1;
@ -350,7 +350,7 @@ static int CmdIndalaDemodAlt(const char *Cmd) {
}
if (rawbit > 0) {
PrintAndLogEx(INFO, "Recovered %d raw bits, expected: %zu", rawbit, GraphTraceLen / 32);
PrintAndLogEx(INFO, "Recovered %d raw bits, expected: %zu", rawbit, g_GraphTraceLen / 32);
PrintAndLogEx(INFO, "Worst metric (0=best..7=worst): %d at pos %d", worst, worstPos);
} else {
return PM3_ESOFT;
@ -476,7 +476,7 @@ static int CmdIndalaDemodAlt(const char *Cmd) {
// Remodulating for tag cloning
// HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod)
// since this changes graphbuffer data.
GraphTraceLen = 32 * uidlen;
g_GraphTraceLen = 32 * uidlen;
i = 0;
int phase;
for (bit = 0; bit < uidlen; bit++) {

View file

@ -2883,7 +2883,7 @@ static int CmdResetRead(const char *Cmd) {
if (resp.status == PM3_SUCCESS) {
uint16_t gotsize = pm3_capabilities.bigbuf_size - 1;
uint16_t gotsize = g_pm3_capabilities.bigbuf_size - 1;
uint8_t *got = calloc(gotsize, sizeof(uint8_t));
if (got == NULL) {
PrintAndLogEx(WARNING, "failed to allocate memory");
@ -4043,7 +4043,7 @@ static int CmdT55xxSniff(const char *Cmd) {
idx = 0;
// loop though sample buffer
while (idx < GraphTraceLen) {
while (idx < g_GraphTraceLen) {
int minWidth = 1000;
int maxWidth = 0;
@ -4059,13 +4059,13 @@ static int CmdT55xxSniff(const char *Cmd) {
}
// find high
while ((idx < GraphTraceLen) && (g_GraphBuffer[idx] < 0)) {
while ((idx < g_GraphTraceLen) && (g_GraphBuffer[idx] < 0)) {
idx++;
}
// count high samples
pulseSamples = 0;
while ((idx < GraphTraceLen) && (g_GraphBuffer[idx] > 0)) { // last bit seems to be high to zero, but can vary in width..
while ((idx < g_GraphTraceLen) && (g_GraphBuffer[idx] > 0)) { // last bit seems to be high to zero, but can vary in width..
pulseSamples++;
idx++;
}

View file

@ -90,7 +90,7 @@ int demodTI(bool verbose) {
int lowTot = 0, highTot = 0;
int retval = PM3_ESOFT;
for (i = 0; i < GraphTraceLen - convLen; i++) {
for (i = 0; i < g_GraphTraceLen - convLen; i++) {
lowSum = 0;
highSum = 0;
@ -108,7 +108,7 @@ int demodTI(bool verbose) {
g_GraphBuffer[i] = (highSum << 16) | lowSum;
}
for (i = 0; i < GraphTraceLen - convLen - 16; i++) {
for (i = 0; i < g_GraphTraceLen - convLen - 16; i++) {
lowTot = 0;
highTot = 0;
// 16 and 15 are f_s divided by f_l and f_h, rounded
@ -121,7 +121,7 @@ int demodTI(bool verbose) {
g_GraphBuffer[i] = lowTot - highTot;
}
GraphTraceLen -= (convLen + 16);
g_GraphTraceLen -= (convLen + 16);
RepaintGraphWindow();

View file

@ -30,42 +30,42 @@ bool IfPm3Present(void) {
bool IfPm3Rdv4Fw(void) {
if (!IfPm3Present())
return false;
return (pm3_capabilities.compiled_with_flash) || (pm3_capabilities.compiled_with_smartcard);
return (g_pm3_capabilities.compiled_with_flash) || (g_pm3_capabilities.compiled_with_smartcard);
}
bool IfPm3Flash(void) {
if (!IfPm3Present())
return false;
if (!pm3_capabilities.compiled_with_flash)
if (!g_pm3_capabilities.compiled_with_flash)
return false;
return pm3_capabilities.hw_available_flash;
return g_pm3_capabilities.hw_available_flash;
}
bool IfPm3Smartcard(void) {
if (!IfPm3Present())
return false;
if (!pm3_capabilities.compiled_with_smartcard)
if (!g_pm3_capabilities.compiled_with_smartcard)
return false;
return pm3_capabilities.hw_available_smartcard;
return g_pm3_capabilities.hw_available_smartcard;
}
bool IfPm3FpcUsart(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_fpc_usart;
return g_pm3_capabilities.compiled_with_fpc_usart;
}
bool IfPm3FpcUsartHost(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_fpc_usart_host;
return g_pm3_capabilities.compiled_with_fpc_usart_host;
}
bool IfPm3FpcUsartHostFromUsb(void) {
// true if FPC USART Host support and if talking from USB-CDC interface
if (!IfPm3Present())
return false;
if (!pm3_capabilities.compiled_with_fpc_usart_host)
if (!g_pm3_capabilities.compiled_with_fpc_usart_host)
return false;
return !conn.send_via_fpc_usart;
}
@ -74,7 +74,7 @@ bool IfPm3FpcUsartDevFromUsb(void) {
// true if FPC USART developer support and if talking from USB-CDC interface
if (!IfPm3Present())
return false;
if (!pm3_capabilities.compiled_with_fpc_usart_dev)
if (!g_pm3_capabilities.compiled_with_fpc_usart_dev)
return false;
return !conn.send_via_fpc_usart;
}
@ -87,92 +87,92 @@ bool IfPm3FpcUsartFromUsb(void) {
bool IfPm3Lf(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_lf;
return g_pm3_capabilities.compiled_with_lf;
}
bool IfPm3Hitag(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_hitag;
return g_pm3_capabilities.compiled_with_hitag;
}
bool IfPm3EM4x50(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_em4x50;
return g_pm3_capabilities.compiled_with_em4x50;
}
bool IfPm3EM4x70(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_em4x70;
return g_pm3_capabilities.compiled_with_em4x70;
}
bool IfPm3Hfsniff(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_hfsniff;
return g_pm3_capabilities.compiled_with_hfsniff;
}
bool IfPm3Hfplot(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_hfplot;
return g_pm3_capabilities.compiled_with_hfplot;
}
bool IfPm3Iso14443a(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_iso14443a;
return g_pm3_capabilities.compiled_with_iso14443a;
}
bool IfPm3Iso14443b(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_iso14443b;
return g_pm3_capabilities.compiled_with_iso14443b;
}
bool IfPm3Iso14443(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_iso14443a || pm3_capabilities.compiled_with_iso14443b;
return g_pm3_capabilities.compiled_with_iso14443a || g_pm3_capabilities.compiled_with_iso14443b;
}
bool IfPm3Iso15693(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_iso15693;
return g_pm3_capabilities.compiled_with_iso15693;
}
bool IfPm3Felica(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_felica;
return g_pm3_capabilities.compiled_with_felica;
}
bool IfPm3Legicrf(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_legicrf;
return g_pm3_capabilities.compiled_with_legicrf;
}
bool IfPm3Iclass(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_iclass;
return g_pm3_capabilities.compiled_with_iclass;
}
bool IfPm3NfcBarcode(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_nfcbarcode;
return g_pm3_capabilities.compiled_with_nfcbarcode;
}
bool IfPm3Lcd(void) {
if (!IfPm3Present())
return false;
return pm3_capabilities.compiled_with_lcd;
return g_pm3_capabilities.compiled_with_lcd;
}

View file

@ -30,7 +30,7 @@
static serial_port sp = NULL;
communication_arg_t conn;
capabilities_t pm3_capabilities;
capabilities_t g_pm3_capabilities;
static pthread_t communication_thread;
static bool comm_thread_dead = false;
@ -638,15 +638,15 @@ int TestProxmark(pm3_device *dev) {
return PM3_ETIMEOUT;
}
if ((resp.length != sizeof(pm3_capabilities)) || (resp.data.asBytes[0] != CAPABILITIES_VERSION)) {
if ((resp.length != sizeof(g_pm3_capabilities)) || (resp.data.asBytes[0] != CAPABILITIES_VERSION)) {
PrintAndLogEx(ERR, _RED_("Capabilities structure version sent by Proxmark3 is not the same as the one used by the client!"));
PrintAndLogEx(ERR, _RED_("Please flash the Proxmark with the same version as the client."));
return PM3_EDEVNOTSUPP;
}
memcpy(&pm3_capabilities, resp.data.asBytes, MIN(sizeof(capabilities_t), resp.length));
conn.send_via_fpc_usart = pm3_capabilities.via_fpc;
conn.uart_speed = pm3_capabilities.baudrate;
memcpy(&g_pm3_capabilities, resp.data.asBytes, MIN(sizeof(capabilities_t), resp.length));
conn.send_via_fpc_usart = g_pm3_capabilities.via_fpc;
conn.uart_speed = g_pm3_capabilities.baudrate;
PrintAndLogEx(INFO, "Communicating with PM3 over %s%s%s",
conn.send_via_fpc_usart ? _YELLOW_("FPC UART") : _YELLOW_("USB-CDC"),

View file

@ -18,7 +18,7 @@
int g_GraphBuffer[MAX_GRAPH_TRACE_LEN];
size_t GraphTraceLen;
size_t g_GraphTraceLen;
/* write a manchester bit to the graph
TODO, verfy that this doesn't overflow buffer (iceman)
@ -28,11 +28,11 @@ void AppendGraph(bool redraw, uint16_t clock, int bit) {
uint8_t i;
//set first half the clock bit (all 1's or 0's for a 0 or 1 bit)
for (i = 0; i < half; ++i)
g_GraphBuffer[GraphTraceLen++] = bit;
g_GraphBuffer[g_GraphTraceLen++] = bit;
//set second half of the clock bit (all 0's or 1's for a 0 or 1 bit)
for (; i < clock; ++i)
g_GraphBuffer[GraphTraceLen++] = bit ^ 1;
g_GraphBuffer[g_GraphTraceLen++] = bit ^ 1;
if (redraw)
RepaintGraphWindow();
@ -40,9 +40,9 @@ void AppendGraph(bool redraw, uint16_t clock, int bit) {
// clear out our graph window
size_t ClearGraph(bool redraw) {
size_t gtl = GraphTraceLen;
memset(g_GraphBuffer, 0x00, GraphTraceLen);
GraphTraceLen = 0;
size_t gtl = g_GraphTraceLen;
memset(g_GraphBuffer, 0x00, g_GraphTraceLen);
g_GraphTraceLen = 0;
g_GraphStart = 0;
g_GraphStop = 0;
@ -61,12 +61,12 @@ void save_restoreGB(uint8_t saveOpt) {
if (saveOpt == GRAPH_SAVE) { //save
memcpy(SavedGB, g_GraphBuffer, sizeof(g_GraphBuffer));
SavedGBlen = GraphTraceLen;
SavedGBlen = g_GraphTraceLen;
GB_Saved = true;
Savedg_GridOffsetAdj = g_GridOffset;
} else if (GB_Saved) { //restore
memcpy(g_GraphBuffer, SavedGB, sizeof(g_GraphBuffer));
GraphTraceLen = SavedGBlen;
g_GraphTraceLen = SavedGBlen;
g_GridOffset = Savedg_GridOffsetAdj;
RepaintGraphWindow();
}
@ -83,16 +83,16 @@ void setGraphBuf(uint8_t *buff, size_t size) {
for (size_t i = 0; i < size; ++i)
g_GraphBuffer[i] = buff[i] - 128;
GraphTraceLen = size;
g_GraphTraceLen = size;
RepaintGraphWindow();
}
size_t getFromGraphBuf(uint8_t *buff) {
if (buff == NULL) return 0;
if (GraphTraceLen == 0) return 0;
if (g_GraphTraceLen == 0) return 0;
size_t i;
for (i = 0; i < GraphTraceLen; ++i) {
for (i = 0; i < g_GraphTraceLen; ++i) {
//trim
if (g_GraphBuffer[i] > 127) g_GraphBuffer[i] = 127;
if (g_GraphBuffer[i] < -127) g_GraphBuffer[i] = -127;
@ -103,7 +103,7 @@ size_t getFromGraphBuf(uint8_t *buff) {
// A simple test to see if there is any data inside Graphbuffer.
bool HasGraphData(void) {
if (GraphTraceLen == 0) {
if (g_GraphTraceLen == 0) {
PrintAndLogEx(NORMAL, "No data available, try reading something first");
return false;
}
@ -112,7 +112,7 @@ bool HasGraphData(void) {
bool isGraphBitstream(void) {
// convert to bitstream if necessary
for (int i = 0; i < GraphTraceLen; i++) {
for (int i = 0; i < g_GraphTraceLen; i++) {
if (g_GraphBuffer[i] > 1 || g_GraphBuffer[i] < 0) {
return false;
}
@ -125,7 +125,7 @@ void convertGraphFromBitstream(void) {
}
void convertGraphFromBitstreamEx(int hi, int low) {
for (int i = 0; i < GraphTraceLen; i++) {
for (int i = 0; i < g_GraphTraceLen; i++) {
if (g_GraphBuffer[i] == hi)
g_GraphBuffer[i] = 127;
else if (g_GraphBuffer[i] == low)
@ -134,7 +134,7 @@ void convertGraphFromBitstreamEx(int hi, int low) {
g_GraphBuffer[i] = 0;
}
uint8_t *bits = calloc(GraphTraceLen, sizeof(uint8_t));
uint8_t *bits = calloc(g_GraphTraceLen, sizeof(uint8_t));
if (bits == NULL) {
PrintAndLogEx(DEBUG, "ERR: convertGraphFromBitstreamEx, failed to allocate memory");
return;

View file

@ -39,7 +39,7 @@ bool fskClocks(uint8_t *fc1, uint8_t *fc2, uint8_t *rf1, int *firstClockEdge);
#define GRAPH_RESTORE 0
extern int g_GraphBuffer[MAX_GRAPH_TRACE_LEN];
extern size_t GraphTraceLen;
extern size_t g_GraphTraceLen;
#ifdef __cplusplus
}

View file

@ -292,7 +292,7 @@ void SliderWidget::moveEvent(QMoveEvent *event) {
void ProxWidget::applyOperation() {
//printf("ApplyOperation()");
save_restoreGB(GRAPH_SAVE);
memcpy(g_GraphBuffer, s_Buff, sizeof(int) * GraphTraceLen);
memcpy(g_GraphBuffer, s_Buff, sizeof(int) * g_GraphTraceLen);
RepaintGraphWindow();
}
void ProxWidget::stickOperation() {
@ -300,21 +300,21 @@ void ProxWidget::stickOperation() {
//printf("stickOperation()");
}
void ProxWidget::vchange_autocorr(int v) {
int ans = AutoCorrelate(g_GraphBuffer, s_Buff, GraphTraceLen, v, true, false);
int ans = AutoCorrelate(g_GraphBuffer, s_Buff, g_GraphTraceLen, v, true, false);
if (g_debugMode) printf("vchange_autocorr(w:%d): %d\n", v, ans);
g_useOverlays = true;
RepaintGraphWindow();
}
void ProxWidget::vchange_askedge(int v) {
//extern int AskEdgeDetect(const int *in, int *out, int len, int threshold);
int ans = AskEdgeDetect(g_GraphBuffer, s_Buff, GraphTraceLen, v);
int ans = AskEdgeDetect(g_GraphBuffer, s_Buff, g_GraphTraceLen, v);
if (g_debugMode) printf("vchange_askedge(w:%d)%d\n", v, ans);
g_useOverlays = true;
RepaintGraphWindow();
}
void ProxWidget::vchange_dthr_up(int v) {
int down = opsController->horizontalSlider_dirthr_down->value();
directionalThreshold(g_GraphBuffer, s_Buff, GraphTraceLen, v, down);
directionalThreshold(g_GraphBuffer, s_Buff, g_GraphTraceLen, v, down);
//printf("vchange_dthr_up(%d)", v);
g_useOverlays = true;
RepaintGraphWindow();
@ -322,7 +322,7 @@ void ProxWidget::vchange_dthr_up(int v) {
void ProxWidget::vchange_dthr_down(int v) {
//printf("vchange_dthr_down(%d)", v);
int up = opsController->horizontalSlider_dirthr_up->value();
directionalThreshold(g_GraphBuffer, s_Buff, GraphTraceLen, v, up);
directionalThreshold(g_GraphBuffer, s_Buff, g_GraphTraceLen, v, up);
g_useOverlays = true;
RepaintGraphWindow();
}
@ -681,13 +681,13 @@ void Plot::paintEvent(QPaintEvent *event) {
painter.setFont(QFont("Courier New", 10));
if (CursorAPos > GraphTraceLen)
if (CursorAPos > g_GraphTraceLen)
CursorAPos = 0;
if (CursorBPos > GraphTraceLen)
if (CursorBPos > g_GraphTraceLen)
CursorBPos = 0;
if (g_CursorCPos > GraphTraceLen)
if (g_CursorCPos > g_GraphTraceLen)
g_CursorCPos = 0;
if (g_CursorDPos > GraphTraceLen)
if (g_CursorDPos > g_GraphTraceLen)
g_CursorDPos = 0;
QRect plotRect(WIDTH_AXES, 0, width() - WIDTH_AXES, height() - HEIGHT_INFO);
@ -700,7 +700,7 @@ void Plot::paintEvent(QPaintEvent *event) {
painter.fillRect(plotRect, BLACK);
//init graph variables
setMaxAndStart(g_GraphBuffer, GraphTraceLen, plotRect);
setMaxAndStart(g_GraphBuffer, g_GraphTraceLen, plotRect);
// center line
int zeroHeight = plotRect.top() + (plotRect.bottom() - plotRect.top()) / 2;
@ -710,14 +710,14 @@ void Plot::paintEvent(QPaintEvent *event) {
plotGridLines(&painter, plotRect);
//Start painting graph
PlotGraph(g_GraphBuffer, GraphTraceLen, plotRect, infoRect, &painter, 0);
PlotGraph(g_GraphBuffer, g_GraphTraceLen, plotRect, infoRect, &painter, 0);
if (g_DemodBufferLen > 8) {
PlotDemod(g_DemodBuffer, g_DemodBufferLen, plotRect, infoRect, &painter, 2, g_DemodStartIdx);
}
if (g_useOverlays) {
//init graph variables
setMaxAndStart(s_Buff, GraphTraceLen, plotRect);
PlotGraph(s_Buff, GraphTraceLen, plotRect, infoRect, &painter, 1);
setMaxAndStart(s_Buff, g_GraphTraceLen, plotRect);
PlotGraph(s_Buff, g_GraphTraceLen, plotRect, infoRect, &painter, 1);
}
// End graph drawing
@ -816,7 +816,7 @@ void Plot::Zoom(double factor, uint32_t refX) {
}
void Plot::Move(int offset) {
if (GraphTraceLen == 0) return;
if (g_GraphTraceLen == 0) return;
if (offset > 0) { // Move right
if (g_GraphPixelsPerPoint < 20) {
g_GraphStart += offset;
@ -869,7 +869,7 @@ void Plot::Trim(void) {
g_DemodStartIdx -= lref;
for (uint32_t i = lref; i < rref; ++i)
g_GraphBuffer[i - lref] = g_GraphBuffer[i];
GraphTraceLen = rref - lref;
g_GraphTraceLen = rref - lref;
g_GraphStart = 0;
}

View file

@ -7,7 +7,7 @@
//-----------------------------------------------------------------------------
#include "parity.h"
const uint8_t OddByteParity[256] = {
const uint8_t g_OddByteParity[256] = {
1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,
0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,
0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,

View file

@ -13,14 +13,14 @@
#include "common.h"
extern const uint8_t OddByteParity[256];
extern const uint8_t g_OddByteParity[256];
static inline uint8_t oddparity8(const uint8_t x) {
return OddByteParity[x];
return g_OddByteParity[x];
}
static inline uint8_t evenparity8(const uint8_t x) {
return !OddByteParity[x];
return !g_OddByteParity[x];
}
static inline uint8_t evenparity16(uint16_t x) {

View file

@ -199,7 +199,7 @@ typedef struct {
bool hw_available_smartcard : 1;
} PACKED capabilities_t;
#define CAPABILITIES_VERSION 5
extern capabilities_t pm3_capabilities;
extern capabilities_t g_pm3_capabilities;
// For CMD_LF_T55XX_WRITEBL
typedef struct {