X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/42c235e7efdac01da7e7ef3e4e442557fe50198d..d06c81b7c89b610a5fee5e1f200c65d93f4320f6:/client/cmdlfpresco.c

diff --git a/client/cmdlfpresco.c b/client/cmdlfpresco.c
index 47ff7db3..84b6f4a2 100644
--- a/client/cmdlfpresco.c
+++ b/client/cmdlfpresco.c
@@ -116,7 +116,7 @@ int GetPrescoBits(uint32_t fullcode, uint8_t *prescoBits) {
 //see ASKDemod for what args are accepted
 int CmdPrescoDemod(const char *Cmd) {
 	bool st = true;
-	if (!ASKDemod_ext("32 0 0", FALSE, FALSE, 1, &st)) {
+	if (!ASKDemod_ext("32 0 0 0 0 a", FALSE, FALSE, 1, &st)) {
 		if (g_debugMode) PrintAndLog("DEBUG: Error Presco ASKDemod failed");
 		return 0;
 	}
@@ -173,14 +173,14 @@ int CmdPrescoClone(const char *Cmd) {
 
 	bool Q5 = false;
 	uint32_t sitecode=0, usercode=0, fullcode=0;
-	uint32_t blocks[5] = {T55x7_MODULATION_MANCHESTER | T55x7_BITRATE_RF_32 | 4<<T55x7_MAXBLOCK_SHIFT | T55x7_ST_TERMINATOR, 0, 0, 0, 0};
+	uint32_t blocks[5] = {T55x7_MODULATION_MANCHESTER | T55x7_BITRATE_RF_32 | 4 << T55x7_MAXBLOCK_SHIFT | T55x7_ST_TERMINATOR, 0, 0, 0, 0};
 	
 	// get wiegand from printed number.
 	if (GetWiegandFromPresco(Cmd, &sitecode, &usercode, &fullcode, &Q5) == -1) return usage_lf_presco_clone();
 
 	if (Q5)
 		//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
-		blocks[0] = T5555_MODULATION_MANCHESTER | 32<<T5555_BITRATE_SHIFT | 4<<T5555_MAXBLOCK_SHIFT | T5555_ST_TERMINATOR;
+		blocks[0] = T5555_MODULATION_MANCHESTER | ((32-2)>>1) << T5555_BITRATE_SHIFT | 4 << T5555_MAXBLOCK_SHIFT | T5555_ST_TERMINATOR;
 
 	if ((sitecode & 0xFF) != sitecode) {
 		sitecode &= 0xFF;