mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-09-21 15:26:35 +08:00
* Add an option to lf read command to use an arbitrary divisor, enabling reading at frequencies other than 125 and 134 kHz.
This commit is contained in:
parent
7bb9d33e2c
commit
bf7163bdb3
|
@ -108,7 +108,7 @@ void SetAdcMuxFor(uint32_t whichGpio);
|
|||
#define FPGA_HF_ISO14443A_READER_MOD (4<<0)
|
||||
|
||||
/// lfops.h
|
||||
void AcquireRawAdcSamples125k(int at134khz);
|
||||
void AcquireRawAdcSamples125k(int divisor);
|
||||
void ModThenAcquireRawAdcSamples125k(int delay_off,int period_0,int period_1,uint8_t *command);
|
||||
void ReadTItag(void);
|
||||
void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc);
|
||||
|
|
|
@ -15,12 +15,14 @@
|
|||
#include "crc16.h"
|
||||
#include "string.h"
|
||||
|
||||
void AcquireRawAdcSamples125k(int at134khz)
|
||||
void AcquireRawAdcSamples125k(int divisor)
|
||||
{
|
||||
if (at134khz)
|
||||
if ( (divisor == 1) || (divisor < 0) || (divisor > 255) )
|
||||
FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz
|
||||
else
|
||||
else if (divisor == 0)
|
||||
FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz
|
||||
else
|
||||
FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor);
|
||||
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER);
|
||||
|
||||
|
|
|
@ -362,8 +362,8 @@ int CmdLFRead(const char *Cmd)
|
|||
c.arg[0] = 1;
|
||||
} else if (*Cmd == '\0') {
|
||||
c.arg[0] = 0;
|
||||
} else {
|
||||
PrintAndLog("use 'read' or 'read h'");
|
||||
} else if (sscanf(Cmd, "%i", &c.arg[0]) != 1) {
|
||||
PrintAndLog("use 'read' or 'read h', or 'read <divisor>'");
|
||||
return 0;
|
||||
}
|
||||
SendCommand(&c);
|
||||
|
@ -534,7 +534,7 @@ static command_t CommandTable[] =
|
|||
{"hid", CmdLFHID, 1, "{ HID RFIDs... }"},
|
||||
{"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"},
|
||||
{"indalaclone", CmdIndalaClone, 1, "<UID> ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"},
|
||||
{"read", CmdLFRead, 0, "['h'] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134)"},
|
||||
{"read", CmdLFRead, 0, "['h'|<divisor>] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"},
|
||||
{"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"},
|
||||
{"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"},
|
||||
{"simman", CmdLFSimManchester, 0, "<Clock> <Bitstream> [GAP] Simulate arbitrary Manchester LF tag"},
|
||||
|
|
Loading…
Reference in a new issue