Fix for swapped parity when using lf_bulk_program.lua (#591)

This commit is contained in:
Tom Harkness 2018-04-03 16:14:51 +10:00 committed by pwpiwi
parent f5ecd97b15
commit e069547c27

View file

@ -57,12 +57,13 @@ end
local function cardHex(i,f) local function cardHex(i,f)
fac = bit32.lshift(f,16) fac = bit32.lshift(f,16)
id = bit32.bor(i, fac) id = bit32.bor(i, fac)
stream=toBits(id,26) stream=toBits(id,24)
--As the function defaults to even parity and returns a boolean, --As the function defaults to even parity and returns a boolean,
--perform a 'not' function to get odd parity --perform a 'not' function to get odd parity
high = not evenparity(string.sub(stream,0,12)) and 1 or 0 high = evenparity(string.sub(stream,1,12)) and 1 or 0
low = evenparity(string.sub(stream,13)) and 1 or 0 low = not evenparity(string.sub(stream,13)) and 1 or 0
bits = bit32.bor(bit32.lshift(id,1), low) bits = bit32.bor(bit32.lshift(id,1), low)
bits = bit32.bor(bits, bit32.lshift(high,25)) bits = bit32.bor(bits, bit32.lshift(high,25))