From 24d48e60fc5b29d317467cc260c40cad2bb6f695 Mon Sep 17 00:00:00 2001 From: "martin.holst@gmail.com" Date: Fri, 20 Sep 2013 07:32:37 +0000 Subject: [PATCH] Fix two errors in writeraw (14a)-script that were found by jonor --- client/scripts/writeraw.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/client/scripts/writeraw.lua b/client/scripts/writeraw.lua index c53b6396..1dc8c0df 100644 --- a/client/scripts/writeraw.lua +++ b/client/scripts/writeraw.lua @@ -28,12 +28,18 @@ end print(string.len(rawdata)) local command = Command:new{cmd = cmds.CMD_READER_ISO_14443a, arg1 = 3, -- Connect (1) and don't disconnect (2) - arg2 = 0-- string.len(rawdata), - --data = rawdata + arg2 = 0 } local mf_auth = Command:new{cmd = cmds.CMD_READER_ISO_14443a, - arg1 = 6, -- Send raw - arg2 = string.len(rawdata), + arg1 = 10, -- Send raw + -- arg2 contains the length. + -- Remember; rawdata is an ascii string containing + -- ASCII characters. Thus; rawdata= "FF" are two bytes in length + -- but when converted to true hexvalues internally inside the Command + -- constructor, 0xFF is only one byte. So, the bytelength is the + -- length of the ASCII-string divided by two. Thanks jonor! + + arg2 = string.len(rawdata)/2, data = rawdata} local quit = Command:new{cmd = cmds.CMD_READER_ISO_14443a, arg1 = 0, -- Nothing -- 2.39.2