X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/5a6e19e6148b8be8de43b37129a49fe6684796bc..fb26bb5436efe7d07919c6903cf4b0784e134a18:/client/cmdlft55xx.h

diff --git a/client/cmdlft55xx.h b/client/cmdlft55xx.h
index 5f362cc1..131cc882 100644
--- a/client/cmdlft55xx.h
+++ b/client/cmdlft55xx.h
@@ -10,13 +10,32 @@
 #ifndef CMDLFT55XX_H__
 #define CMDLFT55XX_H__
 
+#include <stdio.h>
+#include <string.h>
+#include <inttypes.h>
+#include "proxmark3.h"
+#include "ui.h"
+#include "graph.h"
+#include "cmdmain.h"
+#include "cmdparser.h"
+#include "cmddata.h"
+#include "cmdlf.h"
+#include "util.h"
+#include "data.h"
+#include "lfdemod.h"
+#include "cmdhf14a.h" //for getTagInfo
+
+
+#define T55x7_CONFIGURATION_BLOCK 0x00
+#define T55x7_PAGE0 0x00
+#define T55x7_PAGE1 0x01
+#define T55x7_PWD	0x00000010
+#define REGULAR_READ_MODE_BLOCK 0xFF
+
 // config blocks
 #define T55X7_DEFAULT_CONFIG_BLOCK      0x000880E8      // compat mode, data rate 32, manchester, ST, 7 data blocks
 #define T55X7_RAW_CONFIG_BLOCK          0x000880E0      // compat mode, data rate 32, manchester, 7 data blocks
-
 #define T55X7_EM_UNIQUE_CONFIG_BLOCK    0x00148040      // emulate em4x02/unique - compat mode, manchester, data rate 64, 2 data blocks
-
-
 // FDXB requires data inversion and BiPhase 57 is simply BipHase 50 inverted, so we can either do it using the modulation scheme or the inversion flag
 // we've done both below to prove that it works either way, and the modulation value for BiPhase 50 in the Atmel data sheet of binary "10001" (17) is a typo,
 // and it should actually be "10000" (16)
@@ -61,7 +80,7 @@ typedef struct {
 	uint32_t lotid; 
 	uint32_t wafer; 
 	uint32_t dw;
-} t55xx_tracedata_t;
+} t55x7_tracedata_t;
 
 typedef struct {
 	uint32_t bl1;
@@ -102,11 +121,11 @@ typedef struct {
 		RF_128 = 0x07,
 	} bitrate;
 	bool Q5;
+	bool ST;
 } t55xx_conf_block_t;
 t55xx_conf_block_t Get_t55xx_Config();
 void Set_t55xx_Config(t55xx_conf_block_t conf);
 
-
 int CmdLFT55XX(const char *Cmd);
 int CmdT55xxSetConfig(const char *Cmd);
 int CmdT55xxReadBlock(const char *Cmd);
@@ -130,13 +149,14 @@ int printConfiguration( t55xx_conf_block_t b);
 
 bool DecodeT55xxBlock();
 bool tryDetectModulation();
+bool testKnownConfigBlock(uint32_t block0);
 bool test(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk, bool *Q5);
 int special(const char *Cmd);
 int AquireData( uint8_t page, uint8_t block, bool pwdmode, uint32_t password );
 
 bool detectPassword(int password);
 
-void printT55xxTrace( t55xx_tracedata_t data, uint8_t repeat );
+void printT55x7Trace( t55x7_tracedata_t data, uint8_t repeat );
 void printT5555Trace( t5555_tracedata_t data, uint8_t repeat );
 
 #endif