mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-21 05:43:23 -07:00
lf read adjustments
add parameter for # bits to read auto get samples after lf read/snoop (don't need to do a `data samples` anymore) add safe function to get DemodBuffer add some lf demod comments and apply new lf_read function instead of read then get samples. fixed output bug in lf t55xx config print fixed small bug in lf t55xx detect during ST check
This commit is contained in:
parent
bed24f53c2
commit
b9957414a5
27 changed files with 146 additions and 117 deletions
|
@ -938,7 +938,7 @@ void UsbPacketReceived(uint8_t *packet, int len)
|
|||
setSamplingConfig((sample_config *) c->d.asBytes);
|
||||
break;
|
||||
case CMD_ACQUIRE_RAW_ADC_SAMPLES_125K:
|
||||
cmd_send(CMD_ACK,SampleLF(c->arg[0]),0,0,0,0);
|
||||
cmd_send(CMD_ACK,SampleLF(c->arg[0], c->arg[1]),0,0,0,0);
|
||||
break;
|
||||
case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K:
|
||||
ModThenAcquireRawAdcSamples125k(c->arg[0],c->arg[1],c->arg[2],c->d.asBytes);
|
||||
|
|
|
@ -72,7 +72,7 @@ void ModThenAcquireRawAdcSamples125k(uint32_t delay_off, uint32_t period_0, uint
|
|||
FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);
|
||||
|
||||
// now do the read
|
||||
DoAcquisition_config(false);
|
||||
DoAcquisition_config(false, 0);
|
||||
}
|
||||
|
||||
/* blank r/w tag data stream
|
||||
|
@ -1753,7 +1753,7 @@ void Cotag(uint32_t arg0) {
|
|||
switch(rawsignal) {
|
||||
case 0: doCotagAcquisition(50000); break;
|
||||
case 1: doCotagAcquisitionManchester(); break;
|
||||
case 2: DoAcquisition_config(TRUE); break;
|
||||
case 2: DoAcquisition_config(true, 0); break;
|
||||
}
|
||||
|
||||
// Turn the field off
|
||||
|
|
|
@ -215,35 +215,35 @@ uint32_t DoAcquisition_default(int trigger_threshold, bool silent)
|
|||
{
|
||||
return DoAcquisition(1,8,0,trigger_threshold,silent,0);
|
||||
}
|
||||
uint32_t DoAcquisition_config( bool silent)
|
||||
uint32_t DoAcquisition_config(bool silent, int sample_size)
|
||||
{
|
||||
return DoAcquisition(config.decimation
|
||||
,config.bits_per_sample
|
||||
,config.averaging
|
||||
,config.trigger_threshold
|
||||
,silent
|
||||
,0);
|
||||
,sample_size);
|
||||
}
|
||||
|
||||
uint32_t DoPartialAcquisition(int trigger_threshold, bool silent, int sample_size) {
|
||||
return DoAcquisition(1,8,0,trigger_threshold,silent,sample_size);
|
||||
}
|
||||
|
||||
uint32_t ReadLF(bool activeField, bool silent)
|
||||
uint32_t ReadLF(bool activeField, bool silent, int sample_size)
|
||||
{
|
||||
if (!silent) printConfig();
|
||||
LFSetupFPGAForADC(config.divisor, activeField);
|
||||
// Now call the acquisition routine
|
||||
return DoAcquisition_config(silent);
|
||||
return DoAcquisition_config(silent, sample_size);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the FPGA for reader-mode (field on), and acquires the samples.
|
||||
* @return number of bits sampled
|
||||
**/
|
||||
uint32_t SampleLF(bool printCfg)
|
||||
uint32_t SampleLF(bool printCfg, int sample_size)
|
||||
{
|
||||
uint32_t ret = ReadLF(true, printCfg);
|
||||
uint32_t ret = ReadLF(true, printCfg, sample_size);
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||
return ret;
|
||||
}
|
||||
|
@ -254,7 +254,7 @@ uint32_t SampleLF(bool printCfg)
|
|||
|
||||
uint32_t SnoopLF()
|
||||
{
|
||||
uint32_t ret = ReadLF(false, true);
|
||||
uint32_t ret = ReadLF(false, true, 0);
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ uint32_t doCotagAcquisitionManchester(void);
|
|||
* Initializes the FPGA for reader-mode (field on), and acquires the samples.
|
||||
* @return number of bits sampled
|
||||
**/
|
||||
uint32_t SampleLF(bool silent);
|
||||
uint32_t SampleLF(bool silent, int sample_size);
|
||||
|
||||
/**
|
||||
* Initializes the FPGA for snoop-mode (field off), and acquires the samples.
|
||||
|
@ -39,7 +39,7 @@ uint32_t DoAcquisition_default(int trigger_threshold, bool silent);
|
|||
* @return number of bits sampled
|
||||
*/
|
||||
|
||||
uint32_t DoAcquisition_config( bool silent);
|
||||
uint32_t DoAcquisition_config(bool silent, int sample_size);
|
||||
|
||||
/**
|
||||
* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue