X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=host%2Fget_test.rb;h=7c9ea3cf0e3617582209045aa77feb26b3de38c4;hb=0542221a3e793e4455e84b271b07aa0959d5dfb3;hp=cfc3b33a093a67e2e6382c5638132ad1003e0f2c;hpb=d3db763eeb456ce00849ecf658782f95b9f5634c;p=avr-crypto-lib.git diff --git a/host/get_test.rb b/host/get_test.rb index cfc3b33..7c9ea3c 100644 --- a/host/get_test.rb +++ b/host/get_test.rb @@ -2,7 +2,7 @@ # get_test.rb =begin This file is part of the AVR-Crypto-Lib. - Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + Copyright (C) 2008, 2009 Daniel Otte (daniel.otte@rub.de) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,12 +18,13 @@ along with this program. If not, see . =end +require 'rubygems' require 'serialport' -def read_line +def read_line(error_msg=true) s = $sp.gets() if s==nil - puts "ERROR: read timeout!\n"; + puts("ERROR: read timeout!\n") if error_msg return nil end s.gsub(/\006/, ''); @@ -36,7 +37,7 @@ def readTestVector(param) set=0; vector=0; begin - lb = read_line() + lb = read_line(false) if (m=/unknown command/.match(lb) || m=/[Ee][Rr]{2}[Oo][Rr]/.match(lb)) puts("ERROR: "+lb); exit(2); @@ -60,8 +61,9 @@ def readTestVector(param) if(m) fname+=m[1]+"."; end + return false if lb==nil buffer+=lb; - lb = read_line(); + lb = read_line(); end if(param!="") fname+=param+"."; @@ -110,7 +112,7 @@ param=(ARGV.size>=7)?ARGV[6]:""; puts("\nPort: "+ARGV[0]+ "@"+ARGV[1]+" "+ARGV[2]+"N"+ARGV[3]+"\n"); $linewidth = 16 $sp = SerialPort.new(ARGV[0], ARGV[1].to_i, ARGV[2].to_i, ARGV[3].to_i, SerialPort::NONE); -$sp.read_timeout=1*60*1000; # 5 minutes +$sp.read_timeout=1000; # 1 secound $extended_wait=100; $sp.write(command);