mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-19 12:59:44 -07:00
CHG: minor code clean up.
ADD: tunesamples in cmddata.c pullrequest #33, was removed by Marshmellows other commits. I returned it.
This commit is contained in:
parent
52ab55ab0d
commit
d91a31f935
2 changed files with 54 additions and 27 deletions
|
@ -647,15 +647,12 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol)
|
||||||
if (ledcontrol) LED_A_ON();
|
if (ledcontrol) LED_A_ON();
|
||||||
|
|
||||||
DoAcquisition125k_internal(-1,true);
|
DoAcquisition125k_internal(-1,true);
|
||||||
size = sizeof(BigBuf);
|
|
||||||
if (size < 2000) continue;
|
|
||||||
// FSK demodulator
|
// FSK demodulator
|
||||||
|
size = HIDdemodFSK(dest, sizeof(BigBuf), &hi2, &hi, &lo);
|
||||||
int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo);
|
|
||||||
|
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
|
|
||||||
if (bitLen>0 && lo>0){
|
if (size>0 && lo>0){
|
||||||
// final loop, go over previously decoded manchester data and decode into usable tag ID
|
// final loop, go over previously decoded manchester data and decode into usable tag ID
|
||||||
// 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0
|
// 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0
|
||||||
if (hi2 != 0){ //extra large HID tags
|
if (hi2 != 0){ //extra large HID tags
|
||||||
|
@ -726,8 +723,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol)
|
||||||
{
|
{
|
||||||
uint8_t *dest = (uint8_t *)BigBuf;
|
uint8_t *dest = (uint8_t *)BigBuf;
|
||||||
|
|
||||||
size_t size=0; //, found=0;
|
size_t size=0;
|
||||||
uint32_t bitLen=0;
|
|
||||||
int clk=0, invert=0, errCnt=0;
|
int clk=0, invert=0, errCnt=0;
|
||||||
uint64_t lo=0;
|
uint64_t lo=0;
|
||||||
// Configure to go in 125Khz listen mode
|
// Configure to go in 125Khz listen mode
|
||||||
|
@ -740,21 +736,22 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol)
|
||||||
|
|
||||||
DoAcquisition125k_internal(-1,true);
|
DoAcquisition125k_internal(-1,true);
|
||||||
size = sizeof(BigBuf);
|
size = sizeof(BigBuf);
|
||||||
if (size < 2000) continue;
|
|
||||||
// FSK demodulator
|
|
||||||
//int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert);
|
|
||||||
bitLen=size;
|
|
||||||
//Dbprintf("DEBUG: Buffer got");
|
//Dbprintf("DEBUG: Buffer got");
|
||||||
errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo);
|
//askdemod and manchester decode
|
||||||
|
errCnt = askmandemod(dest, &size, &clk, &invert);
|
||||||
//Dbprintf("DEBUG: ASK Got");
|
//Dbprintf("DEBUG: ASK Got");
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
|
|
||||||
if (errCnt>=0){
|
if (errCnt>=0){
|
||||||
lo = Em410xDecode(dest,bitLen);
|
lo = Em410xDecode(dest,size);
|
||||||
//Dbprintf("DEBUG: EM GOT");
|
//Dbprintf("DEBUG: EM GOT");
|
||||||
//printEM410x(lo);
|
|
||||||
if (lo>0){
|
if (lo>0){
|
||||||
Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF));
|
Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",
|
||||||
|
(uint32_t)(lo>>32),
|
||||||
|
(uint32_t)lo,
|
||||||
|
(uint32_t)(lo&0xFFFF),
|
||||||
|
(uint32_t)((lo>>16LL) & 0xFF),
|
||||||
|
(uint32_t)(lo & 0xFFFFFF));
|
||||||
}
|
}
|
||||||
if (findone){
|
if (findone){
|
||||||
if (ledcontrol) LED_A_OFF();
|
if (ledcontrol) LED_A_OFF();
|
||||||
|
@ -769,7 +766,6 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol)
|
||||||
invert=0;
|
invert=0;
|
||||||
errCnt=0;
|
errCnt=0;
|
||||||
size=0;
|
size=0;
|
||||||
//SpinDelay(50);
|
|
||||||
}
|
}
|
||||||
DbpString("Stopped");
|
DbpString("Stopped");
|
||||||
if (ledcontrol) LED_A_OFF();
|
if (ledcontrol) LED_A_OFF();
|
||||||
|
@ -1519,6 +1515,7 @@ int IsBlock1PCF7931(uint8_t *Block) {
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ALLOC 16
|
#define ALLOC 16
|
||||||
|
|
||||||
void ReadPCF7931() {
|
void ReadPCF7931() {
|
||||||
|
@ -1778,7 +1775,6 @@ void SendForward(uint8_t fwd_bit_count) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EM4xLogin(uint32_t Password) {
|
void EM4xLogin(uint32_t Password) {
|
||||||
|
|
||||||
uint8_t fwd_bit_count;
|
uint8_t fwd_bit_count;
|
||||||
|
|
|
@ -891,21 +891,52 @@ int CmdSamples(const char *Cmd)
|
||||||
|
|
||||||
int CmdTuneSamples(const char *Cmd)
|
int CmdTuneSamples(const char *Cmd)
|
||||||
{
|
{
|
||||||
int cnt = 0;
|
int timeout = 0;
|
||||||
int n = 255;
|
printf("\nMeasuring antenna characteristics, please wait...");
|
||||||
uint8_t got[255];
|
|
||||||
|
|
||||||
PrintAndLog("Reading %d samples\n", n);
|
UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING};
|
||||||
GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256
|
SendCommand(&c);
|
||||||
WaitForResponse(CMD_ACK,NULL);
|
|
||||||
for (int j = 0; j < n; j++) {
|
UsbCommand resp;
|
||||||
GraphBuffer[cnt++] = ((int)got[j]) - 128;
|
while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) {
|
||||||
|
timeout++;
|
||||||
|
printf(".");
|
||||||
|
if (timeout > 7) {
|
||||||
|
PrintAndLog("\nNo response from Proxmark. Aborting...");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int peakv, peakf;
|
||||||
|
int vLf125, vLf134, vHf;
|
||||||
|
vLf125 = resp.arg[0] & 0xffff;
|
||||||
|
vLf134 = resp.arg[0] >> 16;
|
||||||
|
vHf = resp.arg[1] & 0xffff;;
|
||||||
|
peakf = resp.arg[2] & 0xffff;
|
||||||
|
peakv = resp.arg[2] >> 16;
|
||||||
|
PrintAndLog("");
|
||||||
|
PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0);
|
||||||
|
PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0);
|
||||||
|
PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1));
|
||||||
|
PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0);
|
||||||
|
if (peakv<2000)
|
||||||
|
PrintAndLog("# Your LF antenna is unusable.");
|
||||||
|
else if (peakv<10000)
|
||||||
|
PrintAndLog("# Your LF antenna is marginal.");
|
||||||
|
if (vHf<2000)
|
||||||
|
PrintAndLog("# Your HF antenna is unusable.");
|
||||||
|
else if (vHf<5000)
|
||||||
|
PrintAndLog("# Your HF antenna is marginal.");
|
||||||
|
|
||||||
|
for (int i = 0; i < 256; i++) {
|
||||||
|
GraphBuffer[i] = resp.d.asBytes[i] - 128;
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n");
|
PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n");
|
||||||
PrintAndLog("\n");
|
PrintAndLog("\n");
|
||||||
GraphTraceLen = n;
|
GraphTraceLen = 256;
|
||||||
RepaintGraphWindow();
|
ShowGraphWindow();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue