mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-20 13:23:25 -07:00
Legic: rewrite reader to use xcorrelation and precise timing (#654)
* Legic: rewrite reader to use xcorrelation and precise timing - Even tough Legic tags transmit just AM, receiving using xcorrelation results in a significantly better signal quality. - Switching from bit bang to a hardware based ssc frees up CPU time for other tasks e.g. prng and demodulation - Having all times based on a fixed ts, results in perfect rwd-tag synchronization without magic +/- calculations. * hi_read_tx: remove jerry-riged hysteresis based receiver - This feature got obsolete by a x-correlation based receiver. * Legic: adjusted sampling to new ssp clock speed - Sampling is 4 times faster and pipeline daly reduced to 1/4. The new code samples each bit earyler to account for the shorter pipeline. That introduced bit errors by leeking the next bit into the current one. * Legic: average 8 samples for better noise rejection. * Update CHANGELOG.md
This commit is contained in:
parent
315e18e66c
commit
da05bc6eca
5 changed files with 492 additions and 400 deletions
27
include/legic.h
Normal file
27
include/legic.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// (c) 2016 Iceman
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// LEGIC type prototyping
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _LEGIC_H_
|
||||
#define _LEGIC_H_
|
||||
|
||||
#include "common.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LEGIC
|
||||
//-----------------------------------------------------------------------------
|
||||
typedef struct {
|
||||
uint8_t uid[4];
|
||||
uint32_t tagtype;
|
||||
uint8_t cmdsize;
|
||||
uint8_t addrsize;
|
||||
uint16_t cardsize;
|
||||
} legic_card_select_t;
|
||||
|
||||
#endif // _LEGIC_H_
|
Loading…
Add table
Add a link
Reference in a new issue