From: Pavel P. <pi...@cm...> - 2012-05-10 21:17:33
|
On Thursday 10 May 2012 16:12:22 Ivan Fridrich wrote: > I fixed EDS file saving bug in QCANalyser. > > I'am going to integrate EDS check utility into QCANalyser. Thanks for your work. I have tested the most recent QCANalyser version and it works much better. I have run next tests sequence I have load "nascan.eds" file. Then I have saved it under "nascan1.eds" - as exected, order of many subfields is alterred according to order of storage in the tree. I have read it again and stored under name "nascan2.eds". We should not observe changes when do read and writes by same tool. This was observed behavior except lost of already reduced initial comments lines --- nascan1.eds 2012-05-10 22:38:42.297078000 +0200 +++ nascan2.eds 2012-05-10 22:39:42.942077999 +0200 @@ -1,7 +1,3 @@ -[Commments] -Line1=|--------------------------------------------------- -Lines=8 - The original file is incorrect probably, because it contains multiple Line1=............ lines. But even last one has been lost. Even that lines order in each section can be alterred, we can observe, if some lines are lost or changed during EDS parse and save by QCANalyser sort nascan1.eds >nascan4.eds sort nascan.eds | grep -v '^;' >nascan3.eds diff -u -B -b nascan3.eds nascan4.eds | less There are some differences which should be resolved -[100A] -[100B] -[100C] -[100D] -[100E] -[100F] +[100a] +[100b] +[100c] +[100d] +[100e] +[100f] ... -[2900sub6A] -[2900sub6B] -[2900sub6C] -[2900sub6D] -[2900sub6E] -[2900sub6F] +[2900sub6a] +[2900sub6b] +[2900sub6c] +[2900sub6d] +[2900sub6e] +[2900sub6f] Original file uses uppercase letters in hexadecimal representation. It should be checked against specification what is the correct or suggested representation. This problem is not so critical. But switching of the whole stream to hexadecimal base has unfortunate consequences [OptionalObjects] ... -10=0x100C +a=100c -11=0x100D +b=100d ... [ManufacturerObjects] ... -10=0x2900 +a=2900 -11=0x3000 +b=3000 The default base for values should be decimal or 0x has to be preceded. Key names (if numeric) should be expressed as decimals too. Next blank character removal is OK -ParameterName= 27. 1byte input +ParameterName=27. 1byte input But next changes are bugs [OptionalObjects] -SupportedObjects=42 +SupportedObjects=2a I think, that only indexes and subindexes should be expressed in hexadecimal and without 0x prefix. The rest of the data should be saved in decimal only. Or 0x prefix could be used but only for values which has been in hexadecimal in the input file. But generally the EDS editor implementation is significant step forward. Best wishes, Pavel |