mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-21 05:43:23 -07:00
simplify some code, add comments
ABS simplification from Iceman1001
This commit is contained in:
parent
29ada8fc08
commit
cf194819cc
6 changed files with 47 additions and 81 deletions
|
@ -36,8 +36,6 @@
|
|||
#include "iso14443a.h"
|
||||
#endif
|
||||
|
||||
#define abs(x) ( ((x)<0) ? -(x) : (x) )
|
||||
|
||||
//=============================================================================
|
||||
// A buffer where we can queue things up to be sent through the FPGA, for
|
||||
// any purpose (fake tag, as reader, whatever). We go MSB first, since that
|
||||
|
@ -841,7 +839,7 @@ void ListenReaderField(int limit)
|
|||
|
||||
if (limit != HF_ONLY) {
|
||||
if(mode == 1) {
|
||||
if (abs(lf_av - lf_baseline) > REPORT_CHANGE)
|
||||
if (ABS(lf_av - lf_baseline) > REPORT_CHANGE)
|
||||
LED_D_ON();
|
||||
else
|
||||
LED_D_OFF();
|
||||
|
@ -849,7 +847,7 @@ void ListenReaderField(int limit)
|
|||
|
||||
lf_av_new = AvgAdc(ADC_CHAN_LF);
|
||||
// see if there's a significant change
|
||||
if(abs(lf_av - lf_av_new) > REPORT_CHANGE) {
|
||||
if(ABS(lf_av - lf_av_new) > REPORT_CHANGE) {
|
||||
Dbprintf("LF 125/134kHz Field Change: %5dmV", (MAX_ADC_LF_VOLTAGE * lf_av_new) >> 10);
|
||||
lf_av = lf_av_new;
|
||||
if (lf_av > lf_max)
|
||||
|
@ -859,7 +857,7 @@ void ListenReaderField(int limit)
|
|||
|
||||
if (limit != LF_ONLY) {
|
||||
if (mode == 1){
|
||||
if (abs(hf_av - hf_baseline) > REPORT_CHANGE)
|
||||
if (ABS(hf_av - hf_baseline) > REPORT_CHANGE)
|
||||
LED_B_ON();
|
||||
else
|
||||
LED_B_OFF();
|
||||
|
@ -867,7 +865,7 @@ void ListenReaderField(int limit)
|
|||
|
||||
hf_av_new = AvgAdc(ADC_CHAN_HF);
|
||||
// see if there's a significant change
|
||||
if(abs(hf_av - hf_av_new) > REPORT_CHANGE) {
|
||||
if(ABS(hf_av - hf_av_new) > REPORT_CHANGE) {
|
||||
Dbprintf("HF 13.56MHz Field Change: %5dmV", (MAX_ADC_HF_VOLTAGE * hf_av_new) >> 10);
|
||||
hf_av = hf_av_new;
|
||||
if (hf_av > hf_max)
|
||||
|
|
|
@ -547,15 +547,20 @@ static RAMFUNC int Handle14443bSamplesDemod(int ci, int cq)
|
|||
}
|
||||
*/
|
||||
// Subcarrier amplitude v = sqrt(ci^2 + cq^2), approximated here by max(abs(ci),abs(cq)) + 1/2*min(abs(ci),abs(cq)))
|
||||
|
||||
//note: couldn't we just use MAX(ABS(ci),ABS(cq)) + (MIN(ABS(ci),ABS(cq))/2) from common.h - marshmellow
|
||||
#define CHECK_FOR_SUBCARRIER() { \
|
||||
v = MAX(ABS(ci),ABS(cq)) + (MIN(ABS(ci),ABS(cq))/2); \
|
||||
}
|
||||
/*
|
||||
if(ci < 0) { \
|
||||
if(cq < 0) { /* ci < 0, cq < 0 */ \
|
||||
if(cq < 0) { \ // ci < 0, cq < 0
|
||||
if (cq < ci) { \
|
||||
v = -cq - (ci >> 1); \
|
||||
} else { \
|
||||
v = -ci - (cq >> 1); \
|
||||
} \
|
||||
} else { /* ci < 0, cq >= 0 */ \
|
||||
} else { \ // ci < 0, cq >= 0
|
||||
if (cq < -ci) { \
|
||||
v = -ci + (cq >> 1); \
|
||||
} else { \
|
||||
|
@ -563,13 +568,13 @@ static RAMFUNC int Handle14443bSamplesDemod(int ci, int cq)
|
|||
} \
|
||||
} \
|
||||
} else { \
|
||||
if(cq < 0) { /* ci >= 0, cq < 0 */ \
|
||||
if(cq < 0) { \ // ci >= 0, cq < 0
|
||||
if (-cq < ci) { \
|
||||
v = ci - (cq >> 1); \
|
||||
} else { \
|
||||
v = -cq + (ci >> 1); \
|
||||
} \
|
||||
} else { /* ci >= 0, cq >= 0 */ \
|
||||
} else { \ // ci >= 0, cq >= 0
|
||||
if (cq < ci) { \
|
||||
v = ci + (cq >> 1); \
|
||||
} else { \
|
||||
|
@ -578,6 +583,7 @@ static RAMFUNC int Handle14443bSamplesDemod(int ci, int cq)
|
|||
} \
|
||||
} \
|
||||
}
|
||||
*/
|
||||
|
||||
switch(Demod.state) {
|
||||
case DEMOD_UNSYNCD:
|
||||
|
|
|
@ -319,18 +319,7 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *
|
|||
// every other is Q. We just want power, so abs(I) + abs(Q) is
|
||||
// close to what we want.
|
||||
if(getNext) {
|
||||
int8_t r;
|
||||
|
||||
if(b < 0) {
|
||||
r = -b;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
if(prev < 0) {
|
||||
r -= prev;
|
||||
} else {
|
||||
r += prev;
|
||||
}
|
||||
int8_t r = ABS(b) + ABS(prev);
|
||||
|
||||
dest[c++] = (uint8_t)r;
|
||||
|
||||
|
@ -468,18 +457,7 @@ static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int
|
|||
// every other is Q. We just want power, so abs(I) + abs(Q) is
|
||||
// close to what we want.
|
||||
if(getNext) {
|
||||
int8_t r;
|
||||
|
||||
if(b < 0) {
|
||||
r = -b;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
if(prev < 0) {
|
||||
r -= prev;
|
||||
} else {
|
||||
r += prev;
|
||||
}
|
||||
int8_t r = ABS(b) + ABS(prev);
|
||||
|
||||
dest[c++] = (uint8_t)r;
|
||||
|
||||
|
@ -648,18 +626,7 @@ void AcquireRawAdcSamplesIso15693(void)
|
|||
// every other is Q. We just want power, so abs(I) + abs(Q) is
|
||||
// close to what we want.
|
||||
if(getNext) {
|
||||
int8_t r;
|
||||
|
||||
if(b < 0) {
|
||||
r = -b;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
if(prev < 0) {
|
||||
r -= prev;
|
||||
} else {
|
||||
r += prev;
|
||||
}
|
||||
int8_t r = ABS(b) + ABS(prev);
|
||||
|
||||
dest[c++] = (uint8_t)r;
|
||||
|
||||
|
@ -713,18 +680,7 @@ void RecordRawAdcSamplesIso15693(void)
|
|||
// every other is Q. We just want power, so abs(I) + abs(Q) is
|
||||
// close to what we want.
|
||||
if(getNext) {
|
||||
int8_t r;
|
||||
|
||||
if(b < 0) {
|
||||
r = -b;
|
||||
} else {
|
||||
r = b;
|
||||
}
|
||||
if(prev < 0) {
|
||||
r -= prev;
|
||||
} else {
|
||||
r += prev;
|
||||
}
|
||||
int8_t r = ABS(b) + ABS(prev);
|
||||
|
||||
dest[c++] = (uint8_t)r;
|
||||
|
||||
|
|
|
@ -7,9 +7,6 @@
|
|||
#define T0_PCF 8 //period for the pcf7931 in us
|
||||
#define ALLOC 16
|
||||
|
||||
#define abs(x) ( ((x)<0) ? -(x) : (x) )
|
||||
#define max(x,y) ( x<y ? y:x)
|
||||
|
||||
int DemodPCF7931(uint8_t **outBlocks) {
|
||||
|
||||
uint8_t bits[256] = {0x00};
|
||||
|
@ -72,7 +69,7 @@ int DemodPCF7931(uint8_t **outBlocks) {
|
|||
|
||||
// Switch depending on lc length:
|
||||
// Tolerance is 1/8 of clock rate (arbitrary)
|
||||
if (abs(lc-clock/4) < tolerance) {
|
||||
if (ABS(lc-clock/4) < tolerance) {
|
||||
// 16T0
|
||||
if((i - pmc) == lc) { /* 16T0 was previous one */
|
||||
/* It's a PMC ! */
|
||||
|
@ -84,7 +81,7 @@ int DemodPCF7931(uint8_t **outBlocks) {
|
|||
else {
|
||||
pmc = i;
|
||||
}
|
||||
} else if (abs(lc-clock/2) < tolerance) {
|
||||
} else if (ABS(lc-clock/2) < tolerance) {
|
||||
// 32TO
|
||||
if((i - pmc) == lc) { /* 16T0 was previous one */
|
||||
/* It's a PMC ! */
|
||||
|
@ -99,7 +96,7 @@ int DemodPCF7931(uint8_t **outBlocks) {
|
|||
}
|
||||
else
|
||||
half_switch++;
|
||||
} else if (abs(lc-clock) < tolerance) {
|
||||
} else if (ABS(lc-clock) < tolerance) {
|
||||
// 64TO
|
||||
bits[bitidx++] = 1;
|
||||
} else {
|
||||
|
@ -204,7 +201,7 @@ void ReadPCF7931() {
|
|||
Blocks[0][ALLOC] = 1;
|
||||
memcpy(Blocks[1], tmpBlocks[i+1], 16);
|
||||
Blocks[1][ALLOC] = 1;
|
||||
max_blocks = max((Blocks[1][14] & 0x7f), Blocks[1][15]) + 1;
|
||||
max_blocks = MAX((Blocks[1][14] & 0x7f), Blocks[1][15]) + 1;
|
||||
// Debug print
|
||||
Dbprintf("(dbg) Max blocks: %d", max_blocks);
|
||||
num_blocks = 2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue