# HG changeset patch # User lbessard # Date 1189666917 -7200 # Node ID 4d7861fc34d41b4479430a05adcc4484e8e7428c # Parent 2721e6910f5a29980e459c92877077ebdfceab4c Adding option in config_test.p for regenerate reference result file diff -r 2721e6910f5a -r 4d7861fc34d4 plugins/canfestival/config_utils.py --- a/plugins/canfestival/config_utils.py Wed Sep 12 17:16:27 2007 +0200 +++ b/plugins/canfestival/config_utils.py Thu Sep 13 09:01:57 2007 +0200 @@ -321,6 +321,10 @@ @param sync_TPDOs: indicate if TPDO must be synchronous """ + #------------------------------------------------------------------------------- + # Verify that locations correspond to real slave variables + #------------------------------------------------------------------------------- + # Get list of locations check if exists and mappables -> put them in IECLocations for location in locations: COlocationtype = IECToCOType[location["IEC_TYPE"]] @@ -353,7 +357,7 @@ if not node.IsEntry(index, subindex): raise ValueError, "No such index/subindex (%x,%x) in ID : %d (variable %s)" % (index,subindex,nodeid,name) - #Get the entry info + # Get the entry info subentry_infos = node.GetSubentryInfos(index, subindex) # If a PDO mappable @@ -571,20 +575,59 @@ return dcfgenerator.GetMasterNode() if __name__ == "__main__": - import os, sys - + import os, sys, getopt + + def usage(): + print """ +Usage of config_utils.py test : + + %s [options] + +Options: + --help (-h) + Displays help informations for config_utils + + --reset (-r) + Reset the reference result of config_utils test. + Use with caution. Be sure that config_utils + is currently working properly. +"""%sys.argv[0] + + # Boolean that indicate if reference result must be redefined + reset = False + + # Extract command options + try: + opts, args = getopt.getopt(sys.argv[1:], "hr", ["help","reset"]) + except getopt.GetoptError: + # print help information and exit: + usage() + sys.exit(2) + + # Test each option + for o, a in opts: + if o in ("-h", "--help"): + usage() + sys.exit() + elif o in ("-r", "--reset"): + reset = True + + # Extract workspace base folder base_folder = sys.path[0] for i in xrange(3): base_folder = os.path.split(base_folder)[0] + # Add CanFestival folder to search pathes sys.path.append(os.path.join(base_folder, "CanFestival-3", "objdictgen")) from nodemanager import * from nodelist import * + # Open the test nodelist contained into test_config folder manager = NodeManager() nodelist = NodeList(manager) result = nodelist.LoadProject("test_config") + # List of locations, we try to map for test locations = [{"IEC_TYPE":"BYTE","NAME":"__IB0_1_64_24576_1","DIR":"I","SIZE":"B","LOC":(0,1,64,24576,1)}, {"IEC_TYPE":"INT","NAME":"__IW0_1_64_25601_2","DIR":"I","SIZE":"W","LOC":(0,1,64,25601,2)}, {"IEC_TYPE":"INT","NAME":"__IW0_1_64_25601_3","DIR":"I","SIZE":"W","LOC":(0,1,64,25601,3)}, @@ -595,31 +638,45 @@ {"IEC_TYPE":"UDINT","NAME":"__ID0_1_64_25638_3","DIR":"I","SIZE":"D","LOC":(0,1,64,25638,3)}, {"IEC_TYPE":"UDINT","NAME":"__ID0_1_64_25638_4","DIR":"I","SIZE":"D","LOC":(0,1,64,25638,4)}] - masternode = GenerateConciseDCF(locations, (0, 1), nodelist, True) - #masternode.Print() - result = [line.rstrip() for line in masternode.PrintString().splitlines()] - - file = open("test_config/result.txt", "r") - model = [line.rstrip() for line in file.readlines()] - file.close() - - errors = 0 - for i, line in enumerate(model): - if i >= len(result): + # Generate MasterNode configuration + try: + masternode = GenerateConciseDCF(locations, (0, 1), nodelist, True) + except ValueError, message: + print "%s\nTest Failed!"%message + sys.exit() + + # Get Text corresponding to MasterNode + result = masternode.PrintString() + + # If reset has been choosen + if reset: + # Write Text into reference result file + file = open("test_config/result.txt", "w") + file.write(result) + file.close() + + print "Reset Successful!" + else: + # Test each line of the result with the reference result + test = [line.rstrip() for line in result.splitlines()] + + file = open("test_config/result.txt", "r") + model = [line.rstrip() for line in file.readlines() if line.rstrip()] + file.close() + + errors = 0 + for i, line in enumerate(model): + if i >= len(test): + errors += 1 + print "Line %d disappear :\n%s\n"%(i + 1, line) + elif line != test[i]: + errors += 1 + print "Error on line %d :\n%s\nInstead of :\n%s\n"%(i + 1, test[i], line) + for i in xrange(len(model), len(test)): errors += 1 - print "Line %d disappear :"%(i + 1) - print line - elif line != result[i]: - errors += 1 - print "Error on line %d :"%(i + 1) - print "\t%s"%result[i] - print "Instead of :\n\t%s"%line - for i in xrange(len(model), len(result)): - errors += 1 - print "Line %d appear :"%(i + 1) - print result[i] - - if errors > 0: - print "Test Failed!" - else: - print "Test Successful!" \ No newline at end of file + print "Line %d appear :\n%s\n"%(i + 1, test[i]) + + if errors > 0: + print "%d errors found.\nTest Failed!"%errors + else: + print "Test Successful!" diff -r 2721e6910f5a -r 4d7861fc34d4 plugins/canfestival/test_config/result.txt --- a/plugins/canfestival/test_config/result.txt Wed Sep 12 17:16:27 2007 +0200 +++ b/plugins/canfestival/test_config/result.txt Thu Sep 13 09:01:57 2007 +0200 @@ -1,253 +1,253 @@ -1000 (Device Type): 302 +1000 (Device Type): 12E 1001 (Error Register): 0 -1005 (SYNC COB ID): 1073741952 -1006 (Communication / Cycle Period): 50000 +1005 (SYNC COB ID): 40000080 +1006 (Communication / Cycle Period): C350 1016 (Consumer Heartbeat Time): - 001 (Consumer Heartbeat Time): 4005DC +1016 01 (Consumer Heartbeat Time): 4005DC 1018 (Identity): - 001 (Vendor ID): 0 - 002 (Product Code): 0 - 003 (Revision Number): 0 - 004 (Serial Number): 0 +1018 01 (Vendor ID): 0 +1018 02 (Product Code): 0 +1018 03 (Revision Number): 0 +1018 04 (Serial Number): 0 1280 (Client SDO 1 Parameter): - 001 (COB ID Client to Server (Transmit SDO)): 640 - 002 (COB ID Server to Client (Receive SDO)): 5C0 - 003 (Node ID of the SDO Server): 40 +1280 01 (COB ID Client to Server (Transmit SDO)): 640 +1280 02 (COB ID Server to Client (Receive SDO)): 5C0 +1280 03 (Node ID of the SDO Server): 40 1400 (Receive PDO 1 Parameter): - 001 (COB ID used by PDO): 1C0 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1400 01 (COB ID used by PDO): 1C0 +1400 02 (Transmission Type): 1 +1400 03 (Inhibit Time): 0 +1400 04 (Compatibility Entry): 0 +1400 05 (Event Timer): 0 1401 (Receive PDO 2 Parameter): - 001 (COB ID used by PDO): 2C0 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1401 01 (COB ID used by PDO): 2C0 +1401 02 (Transmission Type): 1 +1401 03 (Inhibit Time): 0 +1401 04 (Compatibility Entry): 0 +1401 05 (Event Timer): 0 1402 (Receive PDO 3 Parameter): - 001 (COB ID used by PDO): 182 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1402 01 (COB ID used by PDO): 182 +1402 02 (Transmission Type): 1 +1402 03 (Inhibit Time): 0 +1402 04 (Compatibility Entry): 0 +1402 05 (Event Timer): 0 1403 (Receive PDO 4 Parameter): - 001 (COB ID used by PDO): 183 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1403 01 (COB ID used by PDO): 183 +1403 02 (Transmission Type): 1 +1403 03 (Inhibit Time): 0 +1403 04 (Compatibility Entry): 0 +1403 05 (Event Timer): 0 1404 (Receive PDO 5 Parameter): - 001 (COB ID used by PDO): 180 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1404 01 (COB ID used by PDO): 180 +1404 02 (Transmission Type): 1 +1404 03 (Inhibit Time): 0 +1404 04 (Compatibility Entry): 0 +1404 05 (Event Timer): 0 1600 (Receive PDO 1 Mapping): - 001 (PDO 1 Mapping for an application object 1): 22400108 +1600 01 (PDO 1 Mapping for an application object 1): 22400108 1601 (Receive PDO 2 Mapping): - 001 (PDO 2 Mapping for an application object 1): 20010310 - 002 (PDO 2 Mapping for an application object 2): 23400110 - 003 (PDO 2 Mapping for an application object 3): 23400210 - 004 (PDO 2 Mapping for an application object 4): 20010310 +1601 01 (PDO 2 Mapping for an application object 1): 20010310 +1601 02 (PDO 2 Mapping for an application object 2): 23400110 +1601 03 (PDO 2 Mapping for an application object 3): 23400210 +1601 04 (PDO 2 Mapping for an application object 4): 20010310 1602 (Receive PDO 3 Mapping): - 001 (PDO 3 Mapping for an application object 1): 24400120 - 002 (PDO 3 Mapping for an application object 2): 24400220 +1602 01 (PDO 3 Mapping for an application object 1): 24400120 +1602 02 (PDO 3 Mapping for an application object 2): 24400220 1603 (Receive PDO 4 Mapping): - 001 (PDO 4 Mapping for an application object 1): 24400320 +1603 01 (PDO 4 Mapping for an application object 1): 24400320 1604 (Receive PDO 5 Mapping): - 001 (PDO 5 Mapping for an application object 1): 22400208 - 002 (PDO 5 Mapping for an application object 2): 24400420 +1604 01 (PDO 5 Mapping for an application object 1): 22400208 +1604 02 (PDO 5 Mapping for an application object 2): 24400420 1800 (Transmit PDO 1 Parameter): - 001 (COB ID used by PDO): {True:self.ID+(base+1)*0x100+0x80,False:0}[base<4] - 002 (Transmission Type): 0 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1800 01 (COB ID used by PDO): {True:self.ID+(base+1)*0x100+0x80,False:0}[base<4] +1800 02 (Transmission Type): 0 +1800 03 (Inhibit Time): 0 +1800 04 (Compatibility Entry): 0 +1800 05 (Event Timer): 0 1801 (Transmit PDO 2 Parameter): - 001 (COB ID used by PDO): 340 - 002 (Transmission Type): 1 - 003 (Inhibit Time): 0 - 004 (Compatibility Entry): 0 - 005 (Event Timer): 0 +1801 01 (COB ID used by PDO): 340 +1801 02 (Transmission Type): 1 +1801 03 (Inhibit Time): 0 +1801 04 (Compatibility Entry): 0 +1801 05 (Event Timer): 0 1A00 (Transmit PDO 1 Mapping): - 001 (PDO 1 Mapping for a process data variable 1): 10010008 +1A00 01 (PDO 1 Mapping for a process data variable 1): 10010008 1A01 (Transmit PDO 2 Mapping): - 001 (PDO 2 Mapping for a process data variable 1): 43400110 - 002 (PDO 2 Mapping for a process data variable 2): 20010310 - 003 (PDO 2 Mapping for a process data variable 3): 20010310 - 004 (PDO 2 Mapping for a process data variable 4): 20010310 +1A01 01 (PDO 2 Mapping for a process data variable 1): 43400110 +1A01 02 (PDO 2 Mapping for a process data variable 2): 20010310 +1A01 03 (PDO 2 Mapping for a process data variable 3): 20010310 +1A01 04 (PDO 2 Mapping for a process data variable 4): 20010310 1F22 (Concise DCF): - 001 (Concise DCF for Node 1): - 002 (Concise DCF for Node 2): - 003 (Concise DCF for Node 3): - 004 (Concise DCF for Node 4): - 005 (Concise DCF for Node 5): - 006 (Concise DCF for Node 6): - 007 (Concise DCF for Node 7): - 008 (Concise DCF for Node 8): - 009 (Concise DCF for Node 9): - 010 (Concise DCF for Node 10): - 011 (Concise DCF for Node 11): - 012 (Concise DCF for Node 12): - 013 (Concise DCF for Node 13): - 014 (Concise DCF for Node 14): - 015 (Concise DCF for Node 15): - 016 (Concise DCF for Node 16): - 017 (Concise DCF for Node 17): - 018 (Concise DCF for Node 18): - 019 (Concise DCF for Node 19): - 020 (Concise DCF for Node 20): - 021 (Concise DCF for Node 21): - 022 (Concise DCF for Node 22): - 023 (Concise DCF for Node 23): - 024 (Concise DCF for Node 24): - 025 (Concise DCF for Node 25): - 026 (Concise DCF for Node 26): - 027 (Concise DCF for Node 27): - 028 (Concise DCF for Node 28): - 029 (Concise DCF for Node 29): - 030 (Concise DCF for Node 30): - 031 (Concise DCF for Node 31): - 032 (Concise DCF for Node 32): - 033 (Concise DCF for Node 33): - 034 (Concise DCF for Node 34): - 035 (Concise DCF for Node 35): - 036 (Concise DCF for Node 36): - 037 (Concise DCF for Node 37): - 038 (Concise DCF for Node 38): - 039 (Concise DCF for Node 39): - 040 (Concise DCF for Node 40): - 041 (Concise DCF for Node 41): - 042 (Concise DCF for Node 42): - 043 (Concise DCF for Node 43): - 044 (Concise DCF for Node 44): - 045 (Concise DCF for Node 45): - 046 (Concise DCF for Node 46): - 047 (Concise DCF for Node 47): - 048 (Concise DCF for Node 48): - 049 (Concise DCF for Node 49): - 050 (Concise DCF for Node 50): - 051 (Concise DCF for Node 51): - 052 (Concise DCF for Node 52): - 053 (Concise DCF for Node 53): - 054 (Concise DCF for Node 54): - 055 (Concise DCF for Node 55): - 056 (Concise DCF for Node 56): - 057 (Concise DCF for Node 57): - 058 (Concise DCF for Node 58): - 059 (Concise DCF for Node 59): - 060 (Concise DCF for Node 60): - 061 (Concise DCF for Node 61): - 062 (Concise DCF for Node 62): - 063 (Concise DCF for Node 63): - 064 (Concise DCF for Node 64): 26 - 1800 01 00000004 800001C0 - 1800 02 00000001 01 - 1800 01 00000004 000001C0 - 1801 01 00000004 800002C0 - 1801 02 00000001 01 - 1801 01 00000004 000002C0 - 1801 01 00000004 800002C0 - 1801 02 00000001 01 - 1801 01 00000004 000002C0 - 1401 01 00000004 80000340 - 1401 02 00000001 01 - 1401 01 00000004 00000340 - 1804 01 00000004 80000180 - 1804 02 00000001 01 - 1804 01 00000004 00000180 - 1A04 01 00000004 60020108 - 1A04 02 00000004 64260120 - 1805 01 00000004 80000182 - 1805 02 00000001 01 - 1805 01 00000004 00000182 - 1A05 01 00000004 64260220 - 1A05 02 00000004 64260320 - 1806 01 00000004 80000183 - 1806 02 00000001 01 - 1806 01 00000004 00000183 - 1A06 01 00000004 64260420 - 065 (Concise DCF for Node 65): - 066 (Concise DCF for Node 66): - 067 (Concise DCF for Node 67): - 068 (Concise DCF for Node 68): - 069 (Concise DCF for Node 69): - 070 (Concise DCF for Node 70): - 071 (Concise DCF for Node 71): - 072 (Concise DCF for Node 72): - 073 (Concise DCF for Node 73): - 074 (Concise DCF for Node 74): - 075 (Concise DCF for Node 75): - 076 (Concise DCF for Node 76): - 077 (Concise DCF for Node 77): - 078 (Concise DCF for Node 78): - 079 (Concise DCF for Node 79): - 080 (Concise DCF for Node 80): - 081 (Concise DCF for Node 81): - 082 (Concise DCF for Node 82): - 083 (Concise DCF for Node 83): - 084 (Concise DCF for Node 84): - 085 (Concise DCF for Node 85): - 086 (Concise DCF for Node 86): - 087 (Concise DCF for Node 87): - 088 (Concise DCF for Node 88): - 089 (Concise DCF for Node 89): - 090 (Concise DCF for Node 90): - 091 (Concise DCF for Node 91): - 092 (Concise DCF for Node 92): - 093 (Concise DCF for Node 93): - 094 (Concise DCF for Node 94): - 095 (Concise DCF for Node 95): - 096 (Concise DCF for Node 96): - 097 (Concise DCF for Node 97): - 098 (Concise DCF for Node 98): - 099 (Concise DCF for Node 99): - 100 (Concise DCF for Node 100): - 101 (Concise DCF for Node 101): - 102 (Concise DCF for Node 102): - 103 (Concise DCF for Node 103): - 104 (Concise DCF for Node 104): - 105 (Concise DCF for Node 105): - 106 (Concise DCF for Node 106): - 107 (Concise DCF for Node 107): - 108 (Concise DCF for Node 108): - 109 (Concise DCF for Node 109): - 110 (Concise DCF for Node 110): - 111 (Concise DCF for Node 111): - 112 (Concise DCF for Node 112): - 113 (Concise DCF for Node 113): - 114 (Concise DCF for Node 114): - 115 (Concise DCF for Node 115): - 116 (Concise DCF for Node 116): - 117 (Concise DCF for Node 117): - 118 (Concise DCF for Node 118): - 119 (Concise DCF for Node 119): - 120 (Concise DCF for Node 120): - 121 (Concise DCF for Node 121): - 122 (Concise DCF for Node 122): - 123 (Concise DCF for Node 123): - 124 (Concise DCF for Node 124): - 125 (Concise DCF for Node 125): - 126 (Concise DCF for Node 126): - 127 (Concise DCF for Node 127): +1F22 01 (Concise DCF for Node 1): +1F22 02 (Concise DCF for Node 2): +1F22 03 (Concise DCF for Node 3): +1F22 04 (Concise DCF for Node 4): +1F22 05 (Concise DCF for Node 5): +1F22 06 (Concise DCF for Node 6): +1F22 07 (Concise DCF for Node 7): +1F22 08 (Concise DCF for Node 8): +1F22 09 (Concise DCF for Node 9): +1F22 0A (Concise DCF for Node 10): +1F22 0B (Concise DCF for Node 11): +1F22 0C (Concise DCF for Node 12): +1F22 0D (Concise DCF for Node 13): +1F22 0E (Concise DCF for Node 14): +1F22 0F (Concise DCF for Node 15): +1F22 10 (Concise DCF for Node 16): +1F22 11 (Concise DCF for Node 17): +1F22 12 (Concise DCF for Node 18): +1F22 13 (Concise DCF for Node 19): +1F22 14 (Concise DCF for Node 20): +1F22 15 (Concise DCF for Node 21): +1F22 16 (Concise DCF for Node 22): +1F22 17 (Concise DCF for Node 23): +1F22 18 (Concise DCF for Node 24): +1F22 19 (Concise DCF for Node 25): +1F22 1A (Concise DCF for Node 26): +1F22 1B (Concise DCF for Node 27): +1F22 1C (Concise DCF for Node 28): +1F22 1D (Concise DCF for Node 29): +1F22 1E (Concise DCF for Node 30): +1F22 1F (Concise DCF for Node 31): +1F22 20 (Concise DCF for Node 32): +1F22 21 (Concise DCF for Node 33): +1F22 22 (Concise DCF for Node 34): +1F22 23 (Concise DCF for Node 35): +1F22 24 (Concise DCF for Node 36): +1F22 25 (Concise DCF for Node 37): +1F22 26 (Concise DCF for Node 38): +1F22 27 (Concise DCF for Node 39): +1F22 28 (Concise DCF for Node 40): +1F22 29 (Concise DCF for Node 41): +1F22 2A (Concise DCF for Node 42): +1F22 2B (Concise DCF for Node 43): +1F22 2C (Concise DCF for Node 44): +1F22 2D (Concise DCF for Node 45): +1F22 2E (Concise DCF for Node 46): +1F22 2F (Concise DCF for Node 47): +1F22 30 (Concise DCF for Node 48): +1F22 31 (Concise DCF for Node 49): +1F22 32 (Concise DCF for Node 50): +1F22 33 (Concise DCF for Node 51): +1F22 34 (Concise DCF for Node 52): +1F22 35 (Concise DCF for Node 53): +1F22 36 (Concise DCF for Node 54): +1F22 37 (Concise DCF for Node 55): +1F22 38 (Concise DCF for Node 56): +1F22 39 (Concise DCF for Node 57): +1F22 3A (Concise DCF for Node 58): +1F22 3B (Concise DCF for Node 59): +1F22 3C (Concise DCF for Node 60): +1F22 3D (Concise DCF for Node 61): +1F22 3E (Concise DCF for Node 62): +1F22 3F (Concise DCF for Node 63): +1F22 40 (Concise DCF for Node 64): 26 arg defined +1F22 40, arg 1: 1800 01 00000004 800001C0 +1F22 40, arg 2: 1800 02 00000001 01 +1F22 40, arg 3: 1800 01 00000004 000001C0 +1F22 40, arg 4: 1801 01 00000004 800002C0 +1F22 40, arg 5: 1801 02 00000001 01 +1F22 40, arg 6: 1801 01 00000004 000002C0 +1F22 40, arg 7: 1801 01 00000004 800002C0 +1F22 40, arg 8: 1801 02 00000001 01 +1F22 40, arg 9: 1801 01 00000004 000002C0 +1F22 40, arg 10: 1401 01 00000004 80000340 +1F22 40, arg 11: 1401 02 00000001 01 +1F22 40, arg 12: 1401 01 00000004 00000340 +1F22 40, arg 13: 1804 01 00000004 80000180 +1F22 40, arg 14: 1804 02 00000001 01 +1F22 40, arg 15: 1804 01 00000004 00000180 +1F22 40, arg 16: 1A04 01 00000004 60020108 +1F22 40, arg 17: 1A04 02 00000004 64260120 +1F22 40, arg 18: 1805 01 00000004 80000182 +1F22 40, arg 19: 1805 02 00000001 01 +1F22 40, arg 20: 1805 01 00000004 00000182 +1F22 40, arg 21: 1A05 01 00000004 64260220 +1F22 40, arg 22: 1A05 02 00000004 64260320 +1F22 40, arg 23: 1806 01 00000004 80000183 +1F22 40, arg 24: 1806 02 00000001 01 +1F22 40, arg 25: 1806 01 00000004 00000183 +1F22 40, arg 26: 1A06 01 00000004 64260420 +1F22 41 (Concise DCF for Node 65): +1F22 42 (Concise DCF for Node 66): +1F22 43 (Concise DCF for Node 67): +1F22 44 (Concise DCF for Node 68): +1F22 45 (Concise DCF for Node 69): +1F22 46 (Concise DCF for Node 70): +1F22 47 (Concise DCF for Node 71): +1F22 48 (Concise DCF for Node 72): +1F22 49 (Concise DCF for Node 73): +1F22 4A (Concise DCF for Node 74): +1F22 4B (Concise DCF for Node 75): +1F22 4C (Concise DCF for Node 76): +1F22 4D (Concise DCF for Node 77): +1F22 4E (Concise DCF for Node 78): +1F22 4F (Concise DCF for Node 79): +1F22 50 (Concise DCF for Node 80): +1F22 51 (Concise DCF for Node 81): +1F22 52 (Concise DCF for Node 82): +1F22 53 (Concise DCF for Node 83): +1F22 54 (Concise DCF for Node 84): +1F22 55 (Concise DCF for Node 85): +1F22 56 (Concise DCF for Node 86): +1F22 57 (Concise DCF for Node 87): +1F22 58 (Concise DCF for Node 88): +1F22 59 (Concise DCF for Node 89): +1F22 5A (Concise DCF for Node 90): +1F22 5B (Concise DCF for Node 91): +1F22 5C (Concise DCF for Node 92): +1F22 5D (Concise DCF for Node 93): +1F22 5E (Concise DCF for Node 94): +1F22 5F (Concise DCF for Node 95): +1F22 60 (Concise DCF for Node 96): +1F22 61 (Concise DCF for Node 97): +1F22 62 (Concise DCF for Node 98): +1F22 63 (Concise DCF for Node 99): +1F22 64 (Concise DCF for Node 100): +1F22 65 (Concise DCF for Node 101): +1F22 66 (Concise DCF for Node 102): +1F22 67 (Concise DCF for Node 103): +1F22 68 (Concise DCF for Node 104): +1F22 69 (Concise DCF for Node 105): +1F22 6A (Concise DCF for Node 106): +1F22 6B (Concise DCF for Node 107): +1F22 6C (Concise DCF for Node 108): +1F22 6D (Concise DCF for Node 109): +1F22 6E (Concise DCF for Node 110): +1F22 6F (Concise DCF for Node 111): +1F22 70 (Concise DCF for Node 112): +1F22 71 (Concise DCF for Node 113): +1F22 72 (Concise DCF for Node 114): +1F22 73 (Concise DCF for Node 115): +1F22 74 (Concise DCF for Node 116): +1F22 75 (Concise DCF for Node 117): +1F22 76 (Concise DCF for Node 118): +1F22 77 (Concise DCF for Node 119): +1F22 78 (Concise DCF for Node 120): +1F22 79 (Concise DCF for Node 121): +1F22 7A (Concise DCF for Node 122): +1F22 7B (Concise DCF for Node 123): +1F22 7C (Concise DCF for Node 124): +1F22 7D (Concise DCF for Node 125): +1F22 7E (Concise DCF for Node 126): +1F22 7F (Concise DCF for Node 127): 2000 (Read Inputs): 0 2001 (trashvariables): - 001 (TRASH1): 0 - 002 (TRASH8): 0 - 003 (TRASH16): 0 - 004 (TRASH32): 0 - 005 (TRASH64): 0 +2001 01 (TRASH1): 0 +2001 02 (TRASH8): 0 +2001 03 (TRASH16): 0 +2001 04 (TRASH32): 0 +2001 05 (TRASH64): 0 2240 (__IB0_1_64): - 001 (24576_1): 0 - 002 (24578_1): 0 +2240 01 (24576_1): 0 +2240 02 (24578_1): 0 2340 (__IW0_1_64): - 001 (25601_2): 0 - 002 (25601_3): 0 +2340 01 (25601_2): 0 +2340 02 (25601_3): 0 2440 (__ID0_1_64): - 001 (25638_2): 0 - 002 (25638_3): 0 - 003 (25638_4): 0 - 004 (25638_1): 0 +2440 01 (25638_2): 0 +2440 02 (25638_3): 0 +2440 03 (25638_4): 0 +2440 04 (25638_1): 0 4340 (__QW0_1_64): - 001 (25617_1): 0 +4340 01 (25617_1): 0