]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/lualibs/utils.lua
FIX: the changes to uart.c timings seems to have fixed my problem with the pm3...
[proxmark3-svn] / client / lualibs / utils.lua
index 698017d923d28de50a5baa044d7eb51510b1699a..39f8bca2041b3a7509496868403a2950672de565 100644 (file)
@@ -75,13 +75,27 @@ local Utils =
                if #s == 0 then return nil end\r
                if  type(s) == 'string' then\r
                        local utils = require('utils')\r
-                       local ascii = utils.ConvertHexToAscii(s)\r
-                       local hashed = core.iso14443b_crc(ascii)\r
-                       return utils.ConvertAsciiToHex(hashed)\r
+                       return utils.ConvertAsciiToHex(\r
+                                                       core.iso14443b_crc(s)\r
+                                                       )\r
                end\r
                return nil              \r
        end,\r
        \r
+       ------------ CRC-8 Legic checksums\r
+       -- Takes a hex string and calculates a crc8\r
+       Crc8Legic = function(s)\r
+               if s == nil then return nil end\r
+               if #s == 0 then return nil end\r
+               if  type(s) == 'string' then\r
+                       local utils = require('utils')\r
+                       local asc = utils.ConvertHexToAscii(s)\r
+                       local hash = core.crc8legic(asc)\r
+                       return hash\r
+               end\r
+               return nil\r
+       end,\r
+       \r
        ------------ CRC-16 ccitt checksums\r
        -- Takes a hex string and calculates a crc16\r
        Crc16 = function(s)\r
@@ -96,6 +110,7 @@ local Utils =
                return nil\r
        end,\r
        \r
+       \r
        ------------ CRC-64 ecma checksums\r
        -- Takes a hex string and calculates a crc64 ecma\r
        Crc64 = function(s)\r
@@ -286,6 +301,15 @@ local Utils =
                return n\r
        end,\r
        \r
+       -- a simple implementation of a sleep command. Thanks to Mosci\r
+       -- takes number of seconds to sleep\r
+       Sleep = function(n)\r
+               local clock = os.clock\r
+               local t0 = clock()\r
+               while clock() - t0 <= n do end\r
+               return nil      \r
+       end,\r
+       \r
        -- function convertStringToBytes(str)\r
        -- local bytes = {}\r
        -- local strLength = string.len(str)\r
Impressum, Datenschutz