ADD: new tests for the T55XX commands.

CHG:  minor output messages in cmdlft55xx.c
This commit is contained in:
iceman1001 2015-03-18 17:32:43 +01:00
commit ca65d3af86
6 changed files with 452 additions and 62 deletions

View file

@ -2,15 +2,14 @@ local cmds = require('commands')
local getopt = require('getopt')
local bin = require('bin')
local utils = require('utils')
local dumplib = require('html_dumplib')
example =[[
1. script run tracetest
2. script run tracetest -o
1. script run test_t55x7_psk
2. script run test_t55x7_psk -o
]]
author = "Iceman"
usage = "script run test_t55x7_psk -o <filename>"
usage = "script run test_t55x7_psk"
desc =[[
This script will program a T55x7 TAG with the configuration: block 0x00 data 0x00088040
The outlined procedure is as following:
@ -39,26 +38,31 @@ In all 12 individual test for the PSK demod
Arguments:
-h : this help
-o : logfile name
]]
local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds
local DEBUG = true -- the debug flag
--BLOCK 0 = 00088040
local config1 = '0008'
--BLOCK 0 = 00088040 PSK
local config1 = '0014'
local config2 = '40'
-- local procedurecmds = {
-- [1] = '%s%s%s%s',
-- [2] = 'lf read',
-- --[3] = '',
-- [3] = 'data samples',
-- [4] = 'data pskdetectclock',
-- [5] = 'data psknrzrawdemod',
-- [6] = 'data pskindalademod',
-- }
local procedurecmds = {
[1] = '%s%s%s%s',
[2] = 'lf read',
[2] = 'lf t55xx detect',
--[3] = '',
[3] = 'data samples',
[4] = 'data pskdetectclock',
[5] = 'data psknrzrawdemod',
[6] = 'data pskindalademod',
[3] = 'lf t55xx info',
}
---
-- A debug printout-function
function dbg(args)
@ -97,7 +101,7 @@ function ExitMsg(msg)
print()
end
function pskTest(modulation)
function test(modulation)
local y
for y = 0, 8, 4 do
for _ = 1, #procedurecmds do
@ -109,24 +113,14 @@ function pskTest(modulation)
dbg("Writing to T55x7 TAG")
local configdata = cmd:format( config1, modulation , y, config2)
local config = cmd:format( config1, modulation , y, config2)
dbg(('lf t55xx write 0 %s'):format(config))
dbg( configdata)
local writecommand = Command:new{cmd = cmds.CMD_T55XX_WRITE_BLOCK, arg1 = configdata ,arg2 = 0, arg3 = 0}
config = tonumber(config,16)
local writecommand = Command:new{cmd = cmds.CMD_T55XX_WRITE_BLOCK, arg1 = config ,arg2 = 0, arg3 = 0}
local err = core.SendCommand(writecommand:getBytes())
if err then return oops(err) end
local response = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT)
if response then
local count,cmd,arg0 = bin.unpack('LL',response)
if(arg0==1) then
dbg("Writing success")
else
return nil, "Couldn't read block.."
end
end
else
dbg(cmd)
core.console( cmd )
@ -135,7 +129,6 @@ function pskTest(modulation)
core.clearCommandBuffer()
end
print( string.rep('--',20) )
end
local function main(args)
@ -143,20 +136,17 @@ local function main(args)
print( string.rep('--',20) )
print( string.rep('--',20) )
local outputTemplate = os.date("testpsk_%Y-%m-%d_%H%M%S")
-- Arguments for the script
for o, arg in getopt.getopt(args, 'ho:') do
for o, arg in getopt.getopt(args, 'h') do
if o == "h" then return help() end
if o == "o" then outputTemplate = arg end
end
core.clearCommandBuffer()
pskTest(1)
pskTest(2)
pskTest(3)
pskTest(8)
test(1)
test(2)
test(3)
test(8)
print( string.rep('--',20) )
end