objdictgen/node.py
changeset 182 988f2b302aa6
parent 177 d485a3fc5739
child 205 dac0f9b4e3f8
equal deleted inserted replaced
181:44d812a41d49 182:988f2b302aa6
    96     0x0018 : {"name" : "UNSIGNED40", "struct" : nosub, "size" : 40, "default" : 0, "values" : []},
    96     0x0018 : {"name" : "UNSIGNED40", "struct" : nosub, "size" : 40, "default" : 0, "values" : []},
    97     0x0019 : {"name" : "UNSIGNED48", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    97     0x0019 : {"name" : "UNSIGNED48", "struct" : nosub, "size" : 48, "default" : 0, "values" : []},
    98     0x001A : {"name" : "UNSIGNED56", "struct" : nosub, "size" : 56, "default" : 0, "values" : []},
    98     0x001A : {"name" : "UNSIGNED56", "struct" : nosub, "size" : 56, "default" : 0, "values" : []},
    99     0x001B : {"name" : "UNSIGNED64", "struct" : nosub, "size" : 64, "default" : 0, "values" : []},
    99     0x001B : {"name" : "UNSIGNED64", "struct" : nosub, "size" : 64, "default" : 0, "values" : []},
   100     0x1000 : {"name" : "Device Type", "struct" : var, "need" : True, "values" : 
   100     0x1000 : {"name" : "Device Type", "struct" : var, "need" : True, "values" : 
   101                 [{"name" : "Device Type", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   101                 [{"name" : "Device Type", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
   102     0x1001 : {"name" : "Error Register", "struct" : var,  "need" : True, "values" : 
   102     0x1001 : {"name" : "Error Register", "struct" : var,  "need" : True, "values" : 
   103                 [{"name" : "Error Register", "type" : 0x02, "access": 'ro', "pdo" : True}]},
   103                 [{"name" : "Error Register", "type" : 0x05, "access": 'ro', "pdo" : True}]},
   104     0x1002 : {"name" : "Manufacturer Status Register", "struct" : var, "need" : False,  "values" :
   104     0x1002 : {"name" : "Manufacturer Status Register", "struct" : var, "need" : False,  "values" :
   105                 [{"name" : "Manufacturer Status Register", "type" : 0x04, "access" : 'ro', "pdo" : True}]},
   105                 [{"name" : "Manufacturer Status Register", "type" : 0x07, "access" : 'ro', "pdo" : True}]},
   106     0x1003 : {"name" : "Pre-defined Error Field", "struct" : rec, "need" : False,  "values" :
   106     0x1003 : {"name" : "Pre-defined Error Field", "struct" : rec, "need" : False,  "values" :
   107                 [{"name" : "Number of Errors", "type" : 0x04, "access" : 'rw', "pdo" : False},
   107                 [{"name" : "Number of Errors", "type" : 0x05, "access" : 'rw', "pdo" : False},
   108                  {"name" : "Standard Error Field", "type" : 0x04, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
   108                  {"name" : "Standard Error Field", "type" : 0x07, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
   109     0x1005 : {"name" : "SYNC COB ID", "struct" : var, "need" : True, "callback" : True, "values" :
   109     0x1005 : {"name" : "SYNC COB ID", "struct" : var, "need" : True, "callback" : True, "values" :
   110                 [{"name" : "SYNC COB ID", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   110                 [{"name" : "SYNC COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
   111     0x1006 : {"name" : "Communication / Cycle Period", "struct" : var, "need" : False, "callback" : True, "values" :
   111     0x1006 : {"name" : "Communication / Cycle Period", "struct" : var, "need" : False, "callback" : True, "values" :
   112                 [{"name" : "Communication Cycle Period", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   112                 [{"name" : "Communication Cycle Period", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
   113     0x1007 : {"name" : "Synchronous Window Length", "struct" : var, "need" : False, "values" :
   113     0x1007 : {"name" : "Synchronous Window Length", "struct" : var, "need" : False, "values" :
   114                 [{"name" : "Synchronous Window Length", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   114                 [{"name" : "Synchronous Window Length", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
   115     0x1008 : {"name" : "Manufacturer Device Name", "struct" : var, "need" : False, "values" :
   115     0x1008 : {"name" : "Manufacturer Device Name", "struct" : var, "need" : False, "values" :
   116                 [{"name" : "Manufacturer Device Name", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   116                 [{"name" : "Manufacturer Device Name", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   117     0x1009 : {"name" : "Manufacturer Hardware Version", "struct" : var, "need" : False, "values" :
   117     0x1009 : {"name" : "Manufacturer Hardware Version", "struct" : var, "need" : False, "values" :
   118                 [{"name" : "Manufacturer Hardware Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   118                 [{"name" : "Manufacturer Hardware Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   119     0x100A : {"name" : "Manufacturer Software Version", "struct" : var, "need" : False, "values" :
   119     0x100A : {"name" : "Manufacturer Software Version", "struct" : var, "need" : False, "values" :
   120                 [{"name" : "Manufacturer Software Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   120                 [{"name" : "Manufacturer Software Version", "type" : 0x09, "access" : 'ro', "pdo" : False}]},
   121     0x100C : {"name" : "Guard Time", "struct" : var, "need" : False, "values" :
   121     0x100C : {"name" : "Guard Time", "struct" : var, "need" : False, "values" :
   122                 [{"name" : "Guard Time", "type" : 0x03, "access" : 'rw', "pdo" : False}]},
   122                 [{"name" : "Guard Time", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   123     0x100D : {"name" : "Life Time Factor", "struct" : var, "need" : False, "values" :
   123     0x100D : {"name" : "Life Time Factor", "struct" : var, "need" : False, "values" :
   124                 [{"name" : "Life Time Factor", "type" : 0x02, "access" : 'rw', "pdo" : False}]},
   124                 [{"name" : "Life Time Factor", "type" : 0x05, "access" : 'rw', "pdo" : False}]},
   125     0x1010 : {"name" : "Store parameters", "struct" : array, "need" : False, "values" :
   125     0x1010 : {"name" : "Store parameters", "struct" : array, "need" : False, "values" :
   126                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   126                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   127                  {"name" : "Save All Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   127                  {"name" : "Save All Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   128                  {"name" : "Save Communication Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   128                  {"name" : "Save Communication Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   129                  {"name" : "Save Application Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   129                  {"name" : "Save Application Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   130                  {"name" : "Save Manufacturer Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
   130                  {"name" : "Save Manufacturer Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
   131     0x1011 : {"name" : "Restore Default Parameters", "struct" : array, "need" : False, "values" :
   131     0x1011 : {"name" : "Restore Default Parameters", "struct" : array, "need" : False, "values" :
   132                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   132                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   133                  {"name" : "Restore All Default Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   133                  {"name" : "Restore All Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   134                  {"name" : "Restore Communication Default Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   134                  {"name" : "Restore Communication Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   135                  {"name" : "Restore Application Default Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False},
   135                  {"name" : "Restore Application Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False},
   136                  {"name" : "Restore Manufacturer Default Parameters", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
   136                  {"name" : "Restore Manufacturer Default Parameters", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7C}]},
   137     0x1012 : {"name" : "TIME COB ID", "struct" : var, "need" : False, "values" :
   137     0x1012 : {"name" : "TIME COB ID", "struct" : var, "need" : False, "values" :
   138                 [{"name" : "TIME COB ID", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   138                 [{"name" : "TIME COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
   139     0x1013 : {"name" : "High Resolution Timestamp", "struct" : var, "need" : False, "values" :
   139     0x1013 : {"name" : "High Resolution Timestamp", "struct" : var, "need" : False, "values" :
   140                 [{"name" : "High Resolution Time Stamp", "type" : 0x04, "access" : 'rw', "pdo" : True}]},
   140                 [{"name" : "High Resolution Time Stamp", "type" : 0x07, "access" : 'rw', "pdo" : True}]},
   141     0x1014 : {"name" : "Emergency COB ID", "struct" : var, "need" : False, "values" :
   141     0x1014 : {"name" : "Emergency COB ID", "struct" : var, "need" : False, "values" :
   142                 [{"name" : "Emergency COB ID", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   142                 [{"name" : "Emergency COB ID", "type" : 0x07, "access" : 'rw', "pdo" : False}]},
   143     0x1015 : {"name" : "Inhibit Time Emergency", "struct" : var, "need" : False, "values" :
   143     0x1015 : {"name" : "Inhibit Time Emergency", "struct" : var, "need" : False, "values" :
   144                 [{"name" : "Inhibit Time Emergency", "type" : 0x03, "access" : 'rw', "pdo" : False}]},
   144                 [{"name" : "Inhibit Time Emergency", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   145     0x1016 : {"name" : "Consumer Heartbeat Time", "struct" : rec, "need" : False, "values" :
   145     0x1016 : {"name" : "Consumer Heartbeat Time", "struct" : rec, "need" : False, "values" :
   146                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   146                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   147                  {"name" : "Consumer Heartbeat Time", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x7F}]},
   147                  {"name" : "Consumer Heartbeat Time", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7F}]},
   148     0x1017 : {"name" : "Producer Heartbeat Time", "struct" : var, "need" : False, "callback" : True, "values" :
   148     0x1017 : {"name" : "Producer Heartbeat Time", "struct" : var, "need" : False, "callback" : True, "values" :
   149                 [{"name" : "Producer Heartbeat Time", "type" : 0x03, "access" : 'rw', "pdo" : False}]},
   149                 [{"name" : "Producer Heartbeat Time", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   150     0x1018 : {"name" : "Identity", "struct" : array, "need" : True, "values" :
   150     0x1018 : {"name" : "Identity", "struct" : array, "need" : True, "values" :
   151                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   151                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   152                  {"name" : "Vendor ID", "type" : 0x04, "access" : 'ro', "pdo" : False},
   152                  {"name" : "Vendor ID", "type" : 0x07, "access" : 'ro', "pdo" : False},
   153                  {"name" : "Product Code", "type" : 0x04, "access" : 'ro', "pdo" : False},
   153                  {"name" : "Product Code", "type" : 0x07, "access" : 'ro', "pdo" : False},
   154                  {"name" : "Revision Number", "type" : 0x04, "access" : 'ro', "pdo" : False},
   154                  {"name" : "Revision Number", "type" : 0x07, "access" : 'ro', "pdo" : False},
   155                  {"name" : "Serial Number", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   155                  {"name" : "Serial Number", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
   156     0x1020 : {"name" : "Verify Configuration", "struct" : array, "need" : False, "values" :
   156     0x1020 : {"name" : "Verify Configuration", "struct" : array, "need" : False, "values" :
   157                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   157                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   158                  {"name" : "Configuration Date", "type" : 0x04, "access" : 'ro', "pdo" : False},
   158                  {"name" : "Configuration Date", "type" : 0x07, "access" : 'ro', "pdo" : False},
   159                  {"name" : "Configuration Time", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   159                  {"name" : "Configuration Time", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
   160 #    0x1021 : {"name" : "Store EDS", "struct" : var, "need" : False, "values" :
   160 #    0x1021 : {"name" : "Store EDS", "struct" : var, "need" : False, "values" :
   161 #                [{"name" : "Store EDS", "type" : 0x0F, "access" : 'rw', "pdo" : False}]},
   161 #                [{"name" : "Store EDS", "type" : 0x0F, "access" : 'rw', "pdo" : False}]},
   162 #    0x1022 : {"name" : "Storage Format", "struct" : var, "need" : False, "values" :
   162 #    0x1022 : {"name" : "Storage Format", "struct" : var, "need" : False, "values" :
   163 #                [{"name" : "Storage Format", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   163 #                [{"name" : "Storage Format", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   164     0x1023 : {"name" : "OS Command", "struct" : array, "need" : False, "values" :
   164     0x1023 : {"name" : "OS Command", "struct" : array, "need" : False, "values" :
   165                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   165                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   166                  {"name" : "Command", "type" : 0x0A, "access" : 'rw', "pdo" : False},
   166                  {"name" : "Command", "type" : 0x0A, "access" : 'rw', "pdo" : False},
   167                  {"name" : "Status", "type" : 0x02, "access" : 'ro', "pdo" : False},
   167                  {"name" : "Status", "type" : 0x05, "access" : 'ro', "pdo" : False},
   168                  {"name" : "Reply", "type" : 0x0A, "access" : 'ro', "pdo" : False}]},
   168                  {"name" : "Reply", "type" : 0x0A, "access" : 'ro', "pdo" : False}]},
   169     0x1024 : {"name" : "OS Command Mode", "struct" : var, "need" : False, "values" :
   169     0x1024 : {"name" : "OS Command Mode", "struct" : var, "need" : False, "values" :
   170                 [{"name" : "OS Command Mode", "type" : 0x02, "access" : 'wo', "pdo" : False}]},
   170                 [{"name" : "OS Command Mode", "type" : 0x05, "access" : 'wo', "pdo" : False}]},
   171     0x1025 : {"name" : "OS Debugger Interface", "struct" : array, "need" : False, "values" :
   171     0x1025 : {"name" : "OS Debugger Interface", "struct" : array, "need" : False, "values" :
   172                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   172                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   173                  {"name" : "Command", "type" : 0x04, "access" : 'rw', "pdo" : False},
   173                  {"name" : "Command", "type" : 0x0A, "access" : 'rw', "pdo" : False},
   174                  {"name" : "Status", "type" : 0x04, "access" : 'ro', "pdo" : False},
   174                  {"name" : "Status", "type" : 0x07, "access" : 'ro', "pdo" : False},
   175                  {"name" : "Reply", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   175                  {"name" : "Reply", "type" : 0x0A, "access" : 'ro', "pdo" : False}]},
   176     0x1026 : {"name" : "OS Prompt", "struct" : array, "need" : False, "values" :
   176     0x1026 : {"name" : "OS Prompt", "struct" : array, "need" : False, "values" :
   177                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   177                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   178                  {"name" : "StdIn", "type" : 0x02, "access" : 'wo', "pdo" : True},
   178                  {"name" : "StdIn", "type" : 0x05, "access" : 'wo', "pdo" : True},
   179                  {"name" : "StdOut", "type" : 0x02, "access" : 'ro', "pdo" : True},
   179                  {"name" : "StdOut", "type" : 0x05, "access" : 'ro', "pdo" : True},
   180                  {"name" : "StdErr", "type" : 0x02, "access" : 'ro', "pdo" : True}]},
   180                  {"name" : "StdErr", "type" : 0x05, "access" : 'ro', "pdo" : True}]},
   181     0x1027 : {"name" : "Module List", "struct" : rec, "need" : False, "values" :
   181     0x1027 : {"name" : "Module List", "struct" : rec, "need" : False, "values" :
   182                 [{"name" : "Number of Connected Modules", "type" : 0x02, "access" : 'ro', "pdo" : False},
   182                 [{"name" : "Number of Connected Modules", "type" : 0x05, "access" : 'ro', "pdo" : False},
   183                  {"name" : "Module %d[(sub)]", "type" : 0x03, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
   183                  {"name" : "Module %d[(sub)]", "type" : 0x06, "access" : 'ro', "pdo" : False, "nbmax" : 0xFE}]},
   184     0x1028 : {"name" : "Emergency Consumer", "struct" : rec, "need" : False, "values" :
   184     0x1028 : {"name" : "Emergency Consumer", "struct" : rec, "need" : False, "values" :
   185                 [{"name" : "Number of Consumed Emergency Objects", "type" : 0x02, "access" : 'ro', "pdo" : False},
   185                 [{"name" : "Number of Consumed Emergency Objects", "type" : 0x05, "access" : 'ro', "pdo" : False},
   186                  {"name" : "Emergency Consumer", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x7E}]},
   186                  {"name" : "Emergency Consumer", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x7E}]},
   187     0x1029 : {"name" : "Error Behavior", "struct" : array, "need" : False, "values" :
   187     0x1029 : {"name" : "Error Behavior", "struct" : array, "need" : False, "values" :
   188                 [{"name" : "Number of Error Classes", "type" : 0x02, "access" : 'ro', "pdo" : False},
   188                 [{"name" : "Number of Error Classes", "type" : 0x05, "access" : 'ro', "pdo" : False},
   189                  {"name" : "Communication Error", "type" : 0x02, "access" : 'rw', "pdo" : False},
   189                  {"name" : "Communication Error", "type" : 0x05, "access" : 'rw', "pdo" : False},
   190                  {"name" : "Device Profile", "type" : 0x02, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
   190                  {"name" : "Device Profile", "type" : 0x05, "access" : 'rw', "pdo" : False, "nbmax" : 0xFE}]},
   191     0x1200 : {"name" : "Server SDO Parameter", "struct" : array, "need" : False, "values" :
   191     0x1200 : {"name" : "Server SDO Parameter", "struct" : array, "need" : False, "values" :
   192                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   192                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   193                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x04, "access" : 'ro', "pdo" : False},
   193                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
   194                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   194                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False}]},
   195     0x1201 : {"name" : "Additional Server SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x7F, "need" : False, "values" :
   195     0x1201 : {"name" : "Additional Server SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x7F, "need" : False, "values" :
   196                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   196                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   197                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x04, "access" : 'ro', "pdo" : False},
   197                  {"name" : "COB ID Client to Server (Receive SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
   198                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x04, "access" : 'ro', "pdo" : False},
   198                  {"name" : "COB ID Server to Client (Transmit SDO)", "type" : 0x07, "access" : 'ro', "pdo" : False},
   199                  {"name" : "Node ID of the SDO Client", "type" : 0x04, "access" : 'ro', "pdo" : False}]},
   199                  {"name" : "Node ID of the SDO Client", "type" : 0x05, "access" : 'ro', "pdo" : False}]},
   200     0x1280 : {"name" : "Client SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x100, "need" : False, "values" :
   200     0x1280 : {"name" : "Client SDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x100, "need" : False, "values" :
   201                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'ro', "pdo" : False},
   201                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'ro', "pdo" : False},
   202                  {"name" : "COB ID Client to Server (Transmit SDO)", "type" : 0x04, "access" : 'rw', "pdo" : False},
   202                  {"name" : "COB ID Client to Server (Transmit SDO)", "type" : 0x07, "access" : 'rw', "pdo" : False},
   203                  {"name" : "COB ID Server to Client (Receive SDO)", "type" : 0x04, "access" : 'rw', "pdo" : False},
   203                  {"name" : "COB ID Server to Client (Receive SDO)", "type" : 0x07, "access" : 'rw', "pdo" : False},
   204                  {"name" : "Node ID of the SDO Server", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   204                  {"name" : "Node ID of the SDO Server", "type" : 0x04, "access" : 'rw', "pdo" : False}]},
   205     0x1400 : {"name" : "Receive PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   205     0x1400 : {"name" : "Receive PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   206                 [{"name" : "Highest SubIndex Supported", "type" : 0x02, "access" : 'ro', "pdo" : False},
   206                 [{"name" : "Highest SubIndex Supported", "type" : 0x05, "access" : 'ro', "pdo" : False},
   207                  {"name" : "COB ID used by PDO", "type" : 0x04, "access" : 'rw', "pdo" : False},
   207                  {"name" : "COB ID used by PDO", "type" : 0x07, "access" : 'rw', "pdo" : False},
   208                  {"name" : "Transmission Type", "type" : 0x02, "access" : 'rw', "pdo" : False},
   208                  {"name" : "Transmission Type", "type" : 0x05, "access" : 'rw', "pdo" : False},
   209                  {"name" : "Inhibit Time", "type" : 0x03, "access" : 'rw', "pdo" : False},
   209                  {"name" : "Inhibit Time", "type" : 0x06, "access" : 'rw', "pdo" : False},
   210                  {"name" : "Compatibility Entry", "type" : 0x03, "access" : 'rw', "pdo" : False},
   210                  {"name" : "Compatibility Entry", "type" : 0x05, "access" : 'rw', "pdo" : False},
   211                  {"name" : "Event Timer", "type" : 0x03, "access" : 'rw', "pdo" : False}]},
   211                  {"name" : "Event Timer", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   212     0x1600 : {"name" : "Receive PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   212     0x1600 : {"name" : "Receive PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   213                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'rw', "pdo" : False},
   213                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'rw', "pdo" : False},
   214                  {"name" : "PDO %d Mapping for an application object %d[(idx,sub)]", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
   214                  {"name" : "PDO %d Mapping for an application object %d[(idx,sub)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
   215     0x1800 : {"name" : "Transmit PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   215     0x1800 : {"name" : "Transmit PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   216                 [{"name" : "Highest SubIndex Supported", "type" : 0x02, "access" : 'ro', "pdo" : False},
   216                 [{"name" : "Highest SubIndex Supported", "type" : 0x05, "access" : 'ro', "pdo" : False},
   217                  {"name" : "COB ID used by PDO", "type" : 0x04, "access" : 'rw', "pdo" : False},
   217                  {"name" : "COB ID used by PDO", "type" : 0x07, "access" : 'rw', "pdo" : False},
   218                  {"name" : "Transmission Type", "type" : 0x02, "access" : 'rw', "pdo" : False},
   218                  {"name" : "Transmission Type", "type" : 0x05, "access" : 'rw', "pdo" : False},
   219                  {"name" : "Inhibit Time", "type" : 0x03, "access" : 'rw', "pdo" : False},
   219                  {"name" : "Inhibit Time", "type" : 0x06, "access" : 'rw', "pdo" : False},
   220                  {"name" : "Compatibility Entry", "type" : 0x03, "access" : 'rw', "pdo" : False},
   220                  {"name" : "Compatibility Entry", "type" : 0x05, "access" : 'rw', "pdo" : False},
   221                  {"name" : "Event Timer", "type" : 0x03, "access" : 'rw', "pdo" : False}]},
   221                  {"name" : "Event Timer", "type" : 0x06, "access" : 'rw', "pdo" : False}]},
   222     0x1A00 : {"name" : "Transmit PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   222     0x1A00 : {"name" : "Transmit PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
   223                 [{"name" : "Number of Entries", "type" : 0x02, "access" : 'rw', "pdo" : False},
   223                 [{"name" : "Number of Entries", "type" : 0x05, "access" : 'rw', "pdo" : False},
   224                  {"name" : "PDO %d Mapping for a process data variable %d[(idx,sub)]", "type" : 0x04, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
   224                  {"name" : "PDO %d Mapping for a process data variable %d[(idx,sub)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
   225 }
   225 }
   226 
   226 
   227 #-------------------------------------------------------------------------------
   227 #-------------------------------------------------------------------------------
   228 #                          Definition of Node Object
   228 #                          Definition of Node Object
   229 #-------------------------------------------------------------------------------
   229 #-------------------------------------------------------------------------------
   233 that the structure of the Object Dictionary stay coherent
   233 that the structure of the Object Dictionary stay coherent
   234 """
   234 """
   235 
   235 
   236 class Node:
   236 class Node:
   237     
   237     
   238     def __init__(self, name = "", type = "slave", id = 0, profilename = "DS-301", profile = {}, specificmenu = []):
   238     def __init__(self, name = "", type = "slave", id = 0, description = "", profilename = "DS-301", profile = {}, specificmenu = []):
   239         self.Name = name
   239         self.Name = name
   240         self.Type = type
   240         self.Type = type
   241         self.ID = id
   241         self.ID = id
       
   242         self.Description = description
   242         self.ProfileName = profilename
   243         self.ProfileName = profilename
   243         self.Profile = profile
   244         self.Profile = profile
   244         self.SpecificMenu = specificmenu
   245         self.SpecificMenu = specificmenu
   245         self.Dictionary = {}
   246         self.Dictionary = {}
   246         self.ParamsDictionary = {}
   247         self.ParamsDictionary = {}
   280     """
   281     """
   281     Define the node ID
   282     Define the node ID
   282     """
   283     """
   283     def SetNodeID(self, id):
   284     def SetNodeID(self, id):
   284         self.ID = id
   285         self.ID = id
       
   286 
       
   287     """
       
   288     Return the node description
       
   289     """
       
   290     def GetNodeDescription(self):
       
   291         if getattr(self, "Description", False):
       
   292             return self.Description
       
   293         else:
       
   294             return ""
       
   295     
       
   296     """
       
   297     Define the node description
       
   298     """
       
   299     def SetNodeDescription(self, description):
       
   300         self.Description = description
   285 
   301 
   286     """
   302     """
   287     Return the Specific Profile Name
   303     Return the Specific Profile Name
   288     """
   304     """
   289     def GetProfileName(self):
   305     def GetProfileName(self):