mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-10 15:32:41 -07:00
small text adjustments plus...
small improvement to fsk clock detect + fixed a bug where it would default to rf/16 when it couldn't find a valid one...
This commit is contained in:
parent
34ff898553
commit
33a1fe9636
3 changed files with 16 additions and 10 deletions
|
@ -1626,9 +1626,9 @@ void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) {
|
|||
fwd_bit_count += Prepare_Addr( Address );
|
||||
|
||||
SendForward(fwd_bit_count);
|
||||
SpinDelayUs(700);
|
||||
SpinDelayUs(400);
|
||||
// Now do the acquisition
|
||||
DoPartialAcquisition(20, true, 5500);
|
||||
DoPartialAcquisition(20, true, 6000);
|
||||
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
|
||||
LED_A_OFF();
|
||||
|
@ -1660,7 +1660,7 @@ void EM4xWriteWord(uint32_t flag, uint32_t Data, uint32_t Pwd) {
|
|||
|
||||
SpinDelayUs(6500);
|
||||
//Capture response if one exists
|
||||
DoPartialAcquisition(20, true, 5500);
|
||||
DoPartialAcquisition(20, true, 6000);
|
||||
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off
|
||||
LED_A_OFF();
|
||||
|
|
|
@ -675,7 +675,7 @@ int EM4x05ReadWord(uint8_t addr, uint32_t pwd, bool usePwd) {
|
|||
uint32_t wordData = 0;
|
||||
int success = EM4x05ReadWord_ext(addr, pwd, usePwd, &wordData);
|
||||
if (success == 1)
|
||||
PrintAndLog(" Got Address %02d | %08X",addr,wordData);
|
||||
PrintAndLog("%s Address %02d | %08X", (addr>13) ? "Lock":" Got",addr,wordData);
|
||||
else
|
||||
PrintAndLog("Read Address %02d | failed",addr);
|
||||
|
||||
|
@ -859,11 +859,11 @@ void printEM4x05config(uint32_t wordData) {
|
|||
}
|
||||
PrintAndLog("ConfigWord: %08X (Word 4)\n", wordData);
|
||||
PrintAndLog("Config Breakdown:", wordData);
|
||||
PrintAndLog(" Data Rate: %02X | RF/%u", wordData & 0x3F, datarate);
|
||||
PrintAndLog(" Data Rate: %02u | RF/%u", wordData & 0x3F, datarate);
|
||||
PrintAndLog(" Encoder: %u | %s", encoder, enc);
|
||||
PrintAndLog(" PSK CF: %u | %s", PSKcf, cf);
|
||||
PrintAndLog(" Delay: %u | %s", delay, cdelay);
|
||||
PrintAndLog(" LastWordR: %02u | Address of last default word read", LWR);
|
||||
PrintAndLog(" LastWordR: %02u | Address of last word for default read", LWR);
|
||||
PrintAndLog(" ReadLogin: %u | Read Login is %s", (wordData & 0x40000)>>18, (wordData & 0x40000) ? "Required" : "Not Required");
|
||||
PrintAndLog(" ReadHKL: %u | Read Housekeeping Words Login is %s", (wordData & 0x80000)>>19, (wordData & 0x80000) ? "Required" : "Not Required");
|
||||
PrintAndLog("WriteLogin: %u | Write Login is %s", (wordData & 0x100000)>>20, (wordData & 0x100000) ? "Required" : "Not Required");
|
||||
|
@ -898,8 +898,11 @@ void printEM4x05info(uint8_t chipType, uint8_t cap, uint16_t custCode, uint32_t
|
|||
}
|
||||
|
||||
void printEM4x05ProtectionBits(uint32_t wordData) {
|
||||
for (uint8_t i = 0; i < 14; i++) {
|
||||
PrintAndLog(" Word: %02u | %s", i, (((1 << i) & wordData ) || i < 2) ? "Is Locked" : "Is Not Locked");
|
||||
for (uint8_t i = 0; i < 15; i++) {
|
||||
PrintAndLog(" Word: %02u | %s", i, (((1 << i) & wordData ) || i < 2) ? "Is Write Locked" : "Is Not Write Locked");
|
||||
if (i==14) {
|
||||
PrintAndLog(" Word: %02u | %s", i+1, (((1 << i) & wordData ) || i < 2) ? "Is Write Locked" : "Is Not Write Locked");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1343,7 +1343,10 @@ uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fc
|
|||
continue;
|
||||
// else new peak
|
||||
// if we got less than the small fc + tolerance then set it to the small fc
|
||||
if (fcCounter < fcLow+fcTol)
|
||||
// if it is inbetween set it to the last counter
|
||||
if (fcCounter < fcHigh && fcCounter > fcLow)
|
||||
fcCounter = lastFCcnt;
|
||||
else if (fcCounter < fcLow+fcTol)
|
||||
fcCounter = fcLow;
|
||||
else //set it to the large fc
|
||||
fcCounter = fcHigh;
|
||||
|
@ -1409,7 +1412,7 @@ uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fc
|
|||
}
|
||||
}
|
||||
|
||||
if (ii<0) return 0; // oops we went too far
|
||||
if (ii<2) return 0; // oops we went too far
|
||||
|
||||
return clk[ii];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue