# HG changeset patch # User greg # Date 1178274728 -7200 # Node ID 763b6d32c1a6d36023fcfd6c0319f9bb8217a90f # Parent 01d81faa3350c2d4873860aff708dc24cdd34c47 Master configure slave's heartbeat producer time by concise DCF. diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/Master.c --- a/examples/TestMasterSlave/Master.c Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/Master.c Fri May 04 12:32:08 2007 +0200 @@ -40,7 +40,7 @@ UNS32 PDO1_COBID = 0x0182; UNS32 PDO2_COBID = 0x0282; UNS8 size = sizeof(UNS32); - + eprintf("TestMaster_initialisation\n"); /***************************************** @@ -61,6 +61,25 @@ RW); /* UNS8 checkAccess */ } +// Step counts number of times ConfigureSlaveNode is called +static init_step = 0; + +/*Froward declaration*/ +static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId); + +/**/ +static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId) +{ + UNS32 abortCode; + if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) + eprintf("Master : Failed in initializing slave %2.2x, step %d, AbortCode :%4.4x \n", nodeId, init_step, abortCode); + + /* Finalise last SDO transfer with this node */ + closeSDOtransfer(&TestMaster_Data, nodeId, SDO_CLIENT); + + ConfigureSlaveNode(d, nodeId); +} + /******************************************************** * ConfigureSlaveNode is responsible to * - setup slave TPDO 1 transmit time @@ -76,72 +95,59 @@ * then it called again each time a SDO exchange is * finished. ********************************************************/ + static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId) { - // Step counts number of times ConfigureSlaveNode is called - static step = 1; - - UNS8 Transmission_Type = 0x01; + /* Master configure heartbeat producer time at 1000 ms + * for slave node-id 0x02 by DCF concise */ + + UNS8 Transmission_Type = 0x01; UNS32 abortCode; UNS8 res; eprintf("Master : ConfigureSlaveNode %2.2x\n", nodeId); - switch(step++){ + switch(++init_step){ case 1: /*First step : setup Slave's TPDO 1 to be transmitted on SYNC*/ eprintf("Master : set slave %2.2x TPDO 1 transmit type\n", nodeId); res = writeNetworkDictCallBack (d, /*CO_Data* d*/ - *TestSlave_Data.bDeviceNodeId, /*UNS8 nodeId*/ + nodeId, /*UNS8 nodeId*/ 0x1800, /*UNS16 index*/ 0x02, /*UNS8 subindex*/ 1, /*UNS8 count*/ 0, /*UNS8 dataType*/ &Transmission_Type,/*void *data*/ - ConfigureSlaveNode); /*SDOCallback_t Callback*/ break; + CheckSDOAndContinue); /*SDOCallback_t Callback*/ + break; + case 2: /*Second step*/ - /*check and warn for previous slave OD access error*/ - if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) - eprintf("Master : Couldn't set slave %2.2x TPDO 1 transmit type. AbortCode :%4.4x \n", nodeId, abortCode); - - /* Finalise last SDO transfer with this node */ - closeSDOtransfer(&TestMaster_Data, - *TestSlave_Data.bDeviceNodeId, - SDO_CLIENT); - - /*Setup Slave's TPDO 1 to be transmitted on SYNC*/ eprintf("Master : set slave %2.2x TPDO 2 transmit type\n", nodeId); writeNetworkDictCallBack (d, /*CO_Data* d*/ - *TestSlave_Data.bDeviceNodeId, /*UNS8 nodeId*/ + nodeId, /*UNS8 nodeId*/ 0x1801, /*UNS16 index*/ 0x02, /*UNS16 index*/ 1, /*UNS8 count*/ 0, /*UNS8 dataType*/ &Transmission_Type,/*void *data*/ - ConfigureSlaveNode); /*SDOCallback_t Callback*/ - break; - case 3: /*Last step*/ - /*check and warn for previous slave OD access error*/ - if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) - eprintf("Master : Couldn't set slave %2.2x TPDO 2 transmit type. AbortCode :%4.4x \n", nodeId, abortCode); - - /* Finalise last SDO transfer with this node */ - closeSDOtransfer(&TestMaster_Data, - *TestSlave_Data.bDeviceNodeId, - SDO_CLIENT); - + CheckSDOAndContinue); /*SDOCallback_t Callback*/ + break; + case 3: + + /****************************** START *******************************/ + /* Put the master in operational mode */ setState(d, Operational); - + /* Ask slave node to go in operational mode */ masterSendNMTstateChange (d, nodeId, NMT_Start_Node); + } - } void TestMaster_preOperational() { eprintf("TestMaster_preOperational\n"); - ConfigureSlaveNode(&TestMaster_Data, 2); + ConfigureSlaveNode(&TestMaster_Data, 0x02); } @@ -167,7 +173,7 @@ void TestMaster_post_TPDO() { eprintf("TestMaster_post_TPDO\n"); - +// // { // char zero = 0; // if(MasterMap4 > 0x80){ @@ -217,5 +223,4 @@ 0); waiting_answer = 1; } - -} +} diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestMaster.c --- a/examples/TestMasterSlave/TestMaster.c Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestMaster.c Fri May 04 12:32:08 2007 +0200 @@ -26,7 +26,7 @@ /* The node id */ /**************************************************************************/ /* node_id default value.*/ -UNS8 TestMaster_bDeviceNodeId = 0x00; +UNS8 TestMaster_bDeviceNodeId = 0x01; /**************************************************************************/ /* Array of message processing information */ @@ -85,14 +85,6 @@ UNS32 TestMaster_obj1010_Save_Communication_Parameters = 0x0; /* 0 */ UNS32 TestMaster_obj1010_Save_Application_Parameters = 0x0; /* 0 */ UNS32 TestMaster_obj1010_Save_Manufacturer_Parameters = 0x0; /* 0 */ - ODCallback_t TestMaster_Index1010_callbacks[] = - { - NULL, - NULL, - NULL, - NULL, - NULL, - }; subindex TestMaster_Index1010[] = { { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1010 }, @@ -108,14 +100,6 @@ UNS32 TestMaster_obj1011_Restore_Communication_Default_Parameters = 0x0; /* 0 */ UNS32 TestMaster_obj1011_Restore_Application_Default_Parameters = 0x0; /* 0 */ UNS32 TestMaster_obj1011_Restore_Manufacturer_Default_Parameters = 0x0; /* 0 */ - ODCallback_t TestMaster_Index1011_callbacks[] = - { - NULL, - NULL, - NULL, - NULL, - NULL, - }; subindex TestMaster_Index1011[] = { { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1011 }, @@ -129,7 +113,7 @@ UNS8 TestMaster_highestSubIndex_obj1016 = 1; /* number of subindex - 1*/ UNS32 TestMaster_obj1016[] = { - 0x20802 /* 133122 */ + 0x5DC /* 1500 */ }; subindex TestMaster_Index1016[] = { @@ -230,11 +214,21 @@ { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[1] } }; +/* index 0x1F22 : Concise DCF. */ + UNS8 TestMaster_highestSubIndex_obj1F22 = 2; /* number of subindex - 1*/ + UNS8* TestMaster_obj1F22[] = + { + "", + "\x01\x00\x00\x00\x17\x10\x00\x02\x00\x00\x00\xe8\x03" + }; + subindex TestMaster_Index1F22[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1F22 }, + { RW, domain, 0, (void*)&TestMaster_obj1F22[0] }, + { RW, domain, 13, (void*)&TestMaster_obj1F22[1] } + }; + /* index 0x2000 : Mapped variable MasterMap1 */ - ODCallback_t MasterMap1_callbacks[] = - { - NULL, - }; subindex TestMaster_Index2000[] = { { RW, uint8, sizeof (UNS8), (void*)&MasterMap1 } @@ -273,6 +267,7 @@ { (subindex*)TestMaster_Index1401,sizeof(TestMaster_Index1401)/sizeof(TestMaster_Index1401[0]), 0x1401}, { (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600}, { (subindex*)TestMaster_Index1601,sizeof(TestMaster_Index1601)/sizeof(TestMaster_Index1601[0]), 0x1601}, + { (subindex*)TestMaster_Index1F22,sizeof(TestMaster_Index1F22)/sizeof(TestMaster_Index1F22[0]), 0x1F22}, { (subindex*)TestMaster_Index2000,sizeof(TestMaster_Index2000)/sizeof(TestMaster_Index2000[0]), 0x2000}, { (subindex*)TestMaster_Index2001,sizeof(TestMaster_Index2001)/sizeof(TestMaster_Index2001[0]), 0x2001}, { (subindex*)TestMaster_Index2002,sizeof(TestMaster_Index2002)/sizeof(TestMaster_Index2002[0]), 0x2002}, @@ -288,8 +283,8 @@ case 0x1001: i = 1;break; case 0x1005: i = 2;*callbacks = TestMaster_Index1005_callbacks; break; case 0x1006: i = 3;*callbacks = TestMaster_Index1006_callbacks; break; - case 0x1010: i = 4;*callbacks = TestMaster_Index1010_callbacks; break; - case 0x1011: i = 5;*callbacks = TestMaster_Index1011_callbacks; break; + case 0x1010: i = 4;break; + case 0x1011: i = 5;break; case 0x1016: i = 6;break; case 0x1018: i = 7;break; case 0x1280: i = 8;break; @@ -297,10 +292,11 @@ case 0x1401: i = 10;break; case 0x1600: i = 11;break; case 0x1601: i = 12;break; - case 0x2000: i = 13;*callbacks = MasterMap1_callbacks; break; - case 0x2001: i = 14;break; - case 0x2002: i = 15;break; - case 0x2003: i = 16;break; + case 0x1F22: i = 13;break; + case 0x2000: i = 14;break; + case 0x2001: i = 15;break; + case 0x2002: i = 16;break; + case 0x2003: i = 17;break; default: *errorCode = OD_NO_SUCH_OBJECT; return NULL; diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestMaster.h --- a/examples/TestMasterSlave/TestMaster.h Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestMaster.h Fri May 04 12:32:08 2007 +0200 @@ -10,10 +10,7 @@ /* Master node data struct */ extern CO_Data TestMaster_Data; -extern ODCallback_t Store_parameters_callbacks[]; /* Callbacks of index0x1010 */ -extern ODCallback_t Restore_Default_Parameters_callbacks[]; /* Callbacks of index0x1011 */ extern UNS8 MasterMap1; /* Mapped at index 0x2000, subindex 0x00*/ -extern ODCallback_t MasterMap1_callbacks[]; /* Callbacks of index0x2000 */ extern UNS8 MasterMap2; /* Mapped at index 0x2001, subindex 0x00*/ extern UNS8 MasterMap3; /* Mapped at index 0x2002, subindex 0x00*/ extern UNS8 MasterMap4; /* Mapped at index 0x2003, subindex 0x00*/ diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestMaster.od --- a/examples/TestMasterSlave/TestMaster.od Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestMaster.od Fri May 04 12:32:08 2007 +0200 @@ -1,10 +1,5014 @@ <?xml version="1.0"?> <!DOCTYPE PyObject SYSTEM "PyObjects.dtd"> -<PyObject module="node" class="Node" id="146364268"> -<attr name="Profile" type="dict" id="146655540" > +<PyObject module="node" class="Node" id="151825740"> +<attr name="Profile" type="dict" id="151882444" > + <entry> + <key type="numeric" value="24576" /> + <val type="dict" id="151873980" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151823660" > + <item type="dict" id="151873300" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151881220" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Inputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Inputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24832" /> + <val type="dict" id="151872348" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151788364" > + <item type="dict" id="151855692" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 16 bit" /> + </entry> + </item> + <item type="dict" id="151881628" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Inputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Inputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24578" /> + <val type="dict" id="151872756" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151909836" > + <item type="dict" id="151874388" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151883532" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24579" /> + <val type="dict" id="151865516" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151908716" > + <item type="dict" id="151874932" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151882988" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25604" /> + <val type="dict" id="151865652" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151910604" > + <item type="dict" id="151872892" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input" /> + </entry> + </item> + <item type="dict" id="151868116" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="17" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Manufacturer specific Analogue Input" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24581" /> + <val type="dict" id="151881492" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151903724" > + <item type="dict" id="151873572" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Global Interrupt Enable Digital" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Global Interrupt Enable Digital" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24582" /> + <val type="dict" id="151883124" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151801612" > + <item type="dict" id="151866468" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151882172" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Any Change 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Any Change 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24583" /> + <val type="dict" id="151882308" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151911116" > + <item type="dict" id="151912764" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151872076" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Low to High 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Low to High 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24584" /> + <val type="dict" id="151842436" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151902412" > + <item type="dict" id="151872484" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 8 bit" /> + </entry> + </item> + <item type="dict" id="151880540" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt High to Low 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask High to Low 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24834" /> + <val type="dict" id="151882036" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151909324" > + <item type="dict" id="151887628" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 16 bit" /> + </entry> + </item> + <item type="dict" id="151866876" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25616" /> + <val type="dict" id="151871804" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151908428" > + <item type="dict" id="151871940" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input 8 Bit" /> + </entry> + </item> + <item type="dict" id="151871668" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Analogue Output 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25617" /> + <val type="dict" id="151867572" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151836364" > + <item type="dict" id="151873708" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input 16 Bit" /> + </entry> + </item> + <item type="dict" id="151874796" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Analogue Output 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25618" /> + <val type="dict" id="151882716" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151909004" > + <item type="dict" id="151871532" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs 32 Bit" /> + </entry> + </item> + <item type="dict" id="151882852" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Analogue Output 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24835" /> + <val type="dict" id="151867436" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151835340" > + <item type="dict" id="151873436" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 16 bit" /> + </entry> + </item> + <item type="dict" id="151880948" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25620" /> + <val type="dict" id="151880676" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151838636" > + <item type="dict" id="151880812" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151880132" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="17" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Manufacturer specific Analogue Output" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25088" /> + <val type="dict" id="151880268" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151834988" > + <item type="dict" id="151880404" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 8 Bit" /> + </entry> + </item> + <item type="dict" id="151879724" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25603" /> + <val type="dict" id="151879860" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151834700" > + <item type="dict" id="151879996" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input Float" /> + </entry> + </item> + <item type="dict" id="151916164" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Analogue Input Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25378" /> + <val type="dict" id="151896788" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151786572" > + <item type="dict" id="151896924" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 32 Bit" /> + </entry> + </item> + <item type="dict" id="151897060" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25344" /> + <val type="dict" id="151916300" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151838124" > + <item type="dict" id="151866740" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 16 Bit" /> + </entry> + </item> + <item type="dict" id="151884636" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24608" /> + <val type="dict" id="151866604" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151835596" > + <item type="dict" id="151916028" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="151866196" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Single Input 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25633" /> + <val type="dict" id="151866060" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151836588" > + <item type="dict" id="151886948" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151847364" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analog Inputs 0x%X[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Trigger Selection" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24866" /> + <val type="dict" id="151912628" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151910092" > + <item type="dict" id="151867148" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="151912492" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24867" /> + <val type="dict" id="151883956" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151835564" > + <item type="dict" id="151858276" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="151884228" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25636" /> + <val type="dict" id="151884364" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151797932" > + <item type="dict" id="151867012" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="153060868" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Upper Limit Interger" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24838" /> + <val type="dict" id="151887220" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151904140" > + <item type="dict" id="141262332" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 16 bit" /> + </entry> + </item> + <item type="dict" id="151847092" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt High to Low 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask High to Low 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25638" /> + <val type="dict" id="151850764" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151910348" > + <item type="dict" id="153061140" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="153059372" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Delta Unsigned" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25383" /> + <val type="dict" id="153060324" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151901324" > + <item type="dict" id="153060460" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 32 Bit" /> + </entry> + </item> + <item type="dict" id="153060596" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25640" /> + <val type="dict" id="153059916" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151901548" > + <item type="dict" id="153060052" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="153060188" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Positive Delta Unsigned" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25641" /> + <val type="dict" id="153059508" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151835084" > + <item type="dict" id="153059644" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="153059780" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Upper Limit Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25642" /> + <val type="dict" id="153060732" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151904076" > + <item type="dict" id="151857732" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151855556" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Lower Limit Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25643" /> + <val type="dict" id="151867708" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151902732" > + <item type="dict" id="151868932" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151868252" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Delta Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25644" /> + <val type="dict" id="151868388" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151904204" > + <item type="dict" id="151868524" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151867844" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Negative Delta Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25645" /> + <val type="dict" id="151867980" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151901004" > + <item type="dict" id="151869340" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151868660" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Positive Delta Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25646" /> + <val type="dict" id="151868796" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151903532" > + <item type="dict" id="151869748" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151869068" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Offset Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25647" /> + <val type="dict" id="151869204" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151902124" > + <item type="dict" id="151870156" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151869476" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Scaling Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24624" /> + <val type="dict" id="151869612" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151900556" > + <item type="dict" id="151870564" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="151869884" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input bit 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Polarity Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25352" /> + <val type="dict" id="151870020" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151901580" > + <item type="dict" id="151870972" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 16 Bit" /> + </entry> + </item> + <item type="dict" id="151870292" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25650" /> + <val type="dict" id="151870428" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151909580" > + <item type="dict" id="151871244" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151870700" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Scaling Integer" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25090" /> + <val type="dict" id="151898012" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151786476" > + <item type="dict" id="151898964" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 8 Bit" /> + </entry> + </item> + <item type="dict" id="151899100" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25168" /> + <val type="dict" id="151932684" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151787724" > + <item type="dict" id="151928876" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 1 Bit" /> + </entry> + </item> + <item type="dict" id="151929012" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs Lines %d to %d[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25096" /> + <val type="dict" id="153054716" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151910860" > + <item type="dict" id="153054308" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 8 Bit" /> + </entry> + </item> + <item type="dict" id="153054444" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24632" /> + <val type="dict" id="153054036" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151836844" > + <item type="dict" id="153054172" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="153053628" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input bit 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Input Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24871" /> + <val type="dict" id="151931052" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151825964" > + <item type="dict" id="151930372" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="151930508" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Low to High Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input Low to High 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25152" /> + <val type="dict" id="153052404" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151801036" > + <item type="dict" id="153052540" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 1 Bit" /> + </entry> + </item> + <item type="dict" id="153052676" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs Bit %d to %d[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24864" /> + <val type="dict" id="153051996" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151800108" > + <item type="dict" id="153052132" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="153052268" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Input 4 Byte" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25666" /> + <val type="dict" id="153051180" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151799084" > + <item type="dict" id="153051316" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="153051452" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Scaling Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25667" /> + <val type="dict" id="153051588" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151801132" > + <item type="dict" id="153051724" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="153051860" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Error Mode" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25668" /> + <val type="dict" id="151874524" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151798060" > + <item type="dict" id="151875068" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151875204" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Error Value Integer" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25669" /> + <val type="dict" id="151875340" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151799692" > + <item type="dict" id="151899372" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151899508" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Error Value Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25665" /> + <val type="dict" id="151899644" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151800396" > + <item type="dict" id="151897332" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151897468" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Offset Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25648" /> + <val type="dict" id="151897604" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151799116" > + <item type="dict" id="151898556" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151898692" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input SI unit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24672" /> + <val type="dict" id="153066052" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151825068" > + <item type="dict" id="153066188" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="153066324" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input Low to High Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25094" /> + <val type="dict" id="151898420" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151789260" > + <item type="dict" id="151896516" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 8 Bit" /> + </entry> + </item> + <item type="dict" id="151896652" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25634" /> + <val type="dict" id="151898828" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151787212" > + <item type="dict" id="151898148" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Interrupt Source Bank" /> + </entry> + </item> + <item type="dict" id="151898284" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Source Bank 0x%X[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Source" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25384" /> + <val type="dict" id="151929420" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151811564" > + <item type="dict" id="151932004" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 32 Bit" /> + </entry> + </item> + <item type="dict" id="151932140" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Mask Outputs 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25680" /> + <val type="dict" id="151897196" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151787884" > + <item type="dict" id="151897740" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151897876" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output SI Unit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25350" /> + <val type="dict" id="151870836" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151902828" > + <item type="dict" id="151871108" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 16 Bit" /> + </entry> + </item> + <item type="dict" id="153053900" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25635" /> + <val type="dict" id="151899236" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151788908" > + <item type="dict" id="151896108" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Global Interrupt Enable" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Global Interrupt Enable" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25351" /> + <val type="dict" id="151929828" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151826316" > + <item type="dict" id="151929148" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 16 Bit" /> + </entry> + </item> + <item type="dict" id="151929284" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25120" /> + <val type="dict" id="153063604" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151787692" > + <item type="dict" id="153063740" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 1 Bit" /> + </entry> + </item> + <item type="dict" id="153063876" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs Bit %d to %d[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25600" /> + <val type="dict" id="153064012" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151789356" > + <item type="dict" id="153064148" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input 8 Bit" /> + </entry> + </item> + <item type="dict" id="153064284" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Analogue Input 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25346" /> + <val type="dict" id="153064828" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151900300" > + <item type="dict" id="153064964" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 16 Bit" /> + </entry> + </item> + <item type="dict" id="153065100" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Change Polarity Outputs 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25670" /> + <val type="dict" id="153065236" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151787564" > + <item type="dict" id="153065372" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="153065508" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Offset Integer" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25376" /> + <val type="dict" id="153065644" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151786124" > + <item type="dict" id="153065780" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 32 Bit" /> + </entry> + </item> + <item type="dict" id="153065916" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Output 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25184" /> + <val type="dict" id="153064420" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151789516" > + <item type="dict" id="153064556" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 1 Bit" /> + </entry> + </item> + <item type="dict" id="153064692" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs Lines %d to %d[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24656" /> + <val type="dict" id="153066460" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151780108" > + <item type="dict" id="153066596" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="153066732" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input Any Change Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25602" /> + <val type="dict" id="153066868" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151780012" > + <item type="dict" id="153067004" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input 32 Bit" /> + </entry> + </item> + <item type="dict" id="153067140" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Analogue Input 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24870" /> + <val type="dict" id="151896244" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151788652" > + <item type="dict" id="151896380" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="151899780" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Any Change Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input Any Change 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25649" /> + <val type="dict" id="151930236" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151823788" > + <item type="dict" id="151931596" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151931732" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Offset Integer" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25095" /> + <val type="dict" id="151931868" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151823436" > + <item type="dict" id="151930780" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 8 Bit" /> + </entry> + </item> + <item type="dict" id="151930916" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 0x%X to 0x%X[(sub*8-7,sub*8)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Value Outputs 8 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25639" /> + <val type="dict" id="153053220" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151800652" > + <item type="dict" id="153053356" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="153053492" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Negative Delta Unsigned" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25601" /> + <val type="dict" id="151930644" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151825036" > + <item type="dict" id="151929556" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Input 16 Bit" /> + </entry> + </item> + <item type="dict" id="151929692" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Read Analogue Input 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25200" /> + <val type="dict" id="153054852" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151797836" > + <item type="dict" id="153054988" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 1 Bit" /> + </entry> + </item> + <item type="dict" id="153054580" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Outputs 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Filter Constant Outputs Lines %d to %d[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24872" /> + <val type="dict" id="153052812" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151801292" > + <item type="dict" id="153052948" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 32 bit" /> + </entry> + </item> + <item type="dict" id="153053084" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt High to Low Input 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input High to Low 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25619" /> + <val type="dict" id="151932276" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151823084" > + <item type="dict" id="151932412" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs Float" /> + </entry> + </item> + <item type="dict" id="151932548" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Write Analogue Output Float" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25382" /> + <val type="dict" id="153067276" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151781324" > + <item type="dict" id="151929964" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Output 32 Bit" /> + </entry> + </item> + <item type="dict" id="151930100" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 0x%X to 0x%X[(sub*32-31,sub*32)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Error Mode Outputs 32 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24839" /> + <val type="dict" id="151931188" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151779884" > + <item type="dict" id="151931324" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 16 bit" /> + </entry> + </item> + <item type="dict" id="151931460" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="6" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Low to High 0x%X to 0x%X[(sub*16-15,sub*16)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Low to High 16 Bit" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25671" /> + <val type="dict" id="151877940" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151825324" > + <item type="dict" id="151878076" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Outputs" /> + </entry> + </item> + <item type="dict" id="151876580" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Output Scaling Integer" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="25637" /> + <val type="dict" id="151875628" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151824556" > + <item type="dict" id="151879436" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Analogue Inputs" /> + </entry> + </item> + <item type="dict" id="151879028" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="7" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="254" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Analogue Input Interrupt Lower Limit Interger" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="24688" /> + <val type="dict" id="151878348" > + <entry> + <key type="string" value="incr" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="8" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="151812428" > + <item type="dict" id="151878484" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Input 1 bit" /> + </entry> + </item> + <item type="dict" id="151877804" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="1" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="128" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Interrupt Mask Input High to Low Bit 0x%X to 0x%X[(idx*128-127,idx*128)]" /> + </entry> + </val> + </entry> </attr> -<attr name="Name" type="string" value="TestMaster" /> -<attr name="Dictionary" type="dict" id="146655676" > +<attr name="Name" type="string">TestMaster</attr> +<attr name="Dictionary" type="dict" id="151876988" > <entry> <key type="numeric" value="4096" /> <val type="numeric" value="301" /> @@ -23,7 +5027,7 @@ </entry> <entry> <key type="numeric" value="5121" /> - <val type="list" id="146871116" > + <val type="list" id="153057644" > <item type="numeric" value="642" /> <item type="numeric" value="1" /> <item type="numeric" value="0" /> @@ -36,16 +5040,8 @@ <val type="numeric" value="1073741952" /> </entry> <entry> - <key type="numeric" value="4102" /> - <val type="numeric" value="50000" /> - </entry> - <entry> - <key type="numeric" value="8193" /> - <val type="numeric" value="0" /> - </entry> - <entry> <key type="numeric" value="5120" /> - <val type="list" id="146380268" > + <val type="list" id="153057900" > <item type="numeric" value="386" /> <item type="numeric" value="1" /> <item type="numeric" value="0" /> @@ -54,8 +5050,26 @@ </val> </entry> <entry> + <key type="numeric" value="8192" /> + <val type="numeric" value="0" /> + </entry> + <entry> + <key type="numeric" value="7970" /> + <val type="list" id="153055308" > + <item type="string" value="" /> + <item type="string" value="\x01\x00\x00\x00\x17\x10\x00\x02\x00\x00\x00\xe8\x03" /> + </val> + </entry> + <entry> + <key type="numeric" value="5632" /> + <val type="list" id="153057260" > + <item type="numeric" value="536870920" /> + <item type="numeric" value="536936456" /> + </val> + </entry> + <entry> <key type="numeric" value="4112" /> - <val type="list" id="146362700" > + <val type="list" id="153055372" > <item type="numeric" value="0" /> <item type="numeric" value="0" /> <item type="numeric" value="0" /> @@ -64,7 +5078,7 @@ </entry> <entry> <key type="numeric" value="4113" /> - <val type="list" id="146365740" > + <val type="list" id="153056364" > <item type="numeric" value="0" /> <item type="numeric" value="0" /> <item type="numeric" value="0" /> @@ -72,34 +5086,25 @@ </val> </entry> <entry> - <key type="numeric" value="4736" /> - <val type="list" id="146871852" > - <item type="numeric" value="1538" /> - <item type="numeric" value="1410" /> - <item type="numeric" value="2" /> - </val> - </entry> - <entry> <key type="numeric" value="5633" /> - <val type="list" id="146379724" > + <val type="list" id="153057420" > <item type="numeric" value="537001992" /> <item type="numeric" value="537067528" /> </val> </entry> <entry> - <key type="numeric" value="8192" /> - <val type="numeric" value="0" /> - </entry> - <entry> - <key type="numeric" value="5632" /> - <val type="list" id="146871756" > - <item type="numeric" value="536870920" /> - <item type="numeric" value="536936456" /> + <key type="numeric" value="4102" /> + <val type="numeric" value="50000" /> + </entry> + <entry> + <key type="numeric" value="4118" /> + <val type="list" id="153057484" > + <item type="numeric" value="1500" /> </val> </entry> <entry> <key type="numeric" value="4120" /> - <val type="list" id="146379916" > + <val type="list" id="153056012" > <item type="numeric" value="0" /> <item type="numeric" value="0" /> <item type="numeric" value="0" /> @@ -107,208 +5112,394 @@ </val> </entry> <entry> - <key type="numeric" value="4118" /> - <val type="list" id="146380140" > - <item type="numeric" value="133122" /> - </val> + <key type="numeric" value="4736" /> + <val type="list" id="153056524" > + <item type="numeric" value="1538" /> + <item type="numeric" value="1410" /> + <item type="numeric" value="2" /> + </val> + </entry> + <entry> + <key type="numeric" value="8193" /> + <val type="numeric" value="0" /> </entry> </attr> -<attr name="SpecificMenu" type="list" id="146382668" > +<attr name="SpecificMenu" type="list" id="153055532" > + <item type="tuple" id="151770572" > + <item type="string" value="Read Input Bit" /> + <item type="list" id="153055596" > + <item type="numeric" value="24608" /> + <item type="numeric" value="24624" /> + <item type="numeric" value="24632" /> + <item type="numeric" value="24656" /> + <item type="numeric" value="24672" /> + <item type="numeric" value="24688" /> + </item> + </item> + <item type="tuple" id="151771148" > + <item type="string" value="Write Output Bit" /> + <item type="list" id="153055724" > + <item type="numeric" value="25120" /> + <item type="numeric" value="25152" /> + <item type="numeric" value="25168" /> + <item type="numeric" value="25184" /> + <item type="numeric" value="25200" /> + </item> + </item> </attr> -<attr name="ParamsDictionary" type="dict" id="146655812" > +<attr name="ParamsDictionary" type="dict" id="151877124" > +</attr> +<attr name="UserMapping" type="dict" id="151877260" > <entry> <key type="numeric" value="8192" /> - <val type="dict" id="146655948" > - <entry> - <key type="string" value="callback" /> - <val type="True" value="" /> - </entry> - </val> - </entry> - <entry> - <key type="numeric" value="4112" /> - <val type="dict" id="146665788" > - <entry> - <key type="string" value="callback" /> - <val type="True" value="" /> - </entry> - </val> - </entry> - <entry> - <key type="numeric" value="4113" /> - <val type="dict" id="146652124" > - <entry> - <key type="string" value="callback" /> - <val type="True" value="" /> + <val type="dict" id="151876308" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153056716" > + <item type="dict" id="151876444" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap1</val> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap1</val> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="8193" /> + <val type="dict" id="151876716" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153056812" > + <item type="dict" id="151876852" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap2</val> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap2</val> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="8194" /> + <val type="dict" id="151876172" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153058092" > + <item type="dict" id="151878756" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap3</val> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap3</val> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="8195" /> + <val type="dict" id="151878892" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153056172" > + <item type="dict" id="151878212" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="True" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="5" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap4</val> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string">MasterMap4</val> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="1" /> </entry> </val> </entry> </attr> -<attr name="UserMapping" type="dict" id="146656084" > - <entry> - <key type="numeric" value="8192" /> - <val type="dict" id="146656220" > - <entry> - <key type="string" value="need" /> - <val type="False" value="" /> - </entry> - <entry> - <key type="string" value="values" /> - <val type="list" id="146379852" > - <item type="dict" id="146656356" > - <entry> - <key type="string" value="access" /> - <val type="string" value="rw" /> - </entry> - <entry> - <key type="string" value="pdo" /> - <val type="True" value="" /> - </entry> - <entry> - <key type="string" value="type" /> - <val type="numeric" value="5" /> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap1" /> - </entry> - </item> - </val> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap1" /> - </entry> - <entry> - <key type="string" value="struct" /> - <val type="numeric" value="1" /> - </entry> - </val> - </entry> - <entry> - <key type="numeric" value="8193" /> - <val type="dict" id="146656492" > - <entry> - <key type="string" value="need" /> - <val type="False" value="" /> - </entry> - <entry> - <key type="string" value="values" /> - <val type="list" id="146379660" > - <item type="dict" id="146656628" > - <entry> - <key type="string" value="access" /> - <val type="string" value="rw" /> - </entry> - <entry> - <key type="string" value="pdo" /> - <val type="True" value="" /> - </entry> - <entry> - <key type="string" value="type" /> - <val type="numeric" value="5" /> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap2" /> - </entry> - </item> - </val> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap2" /> - </entry> - <entry> - <key type="string" value="struct" /> - <val type="numeric" value="1" /> - </entry> - </val> - </entry> - <entry> - <key type="numeric" value="8194" /> - <val type="dict" id="146656764" > - <entry> - <key type="string" value="need" /> - <val type="False" value="" /> - </entry> - <entry> - <key type="string" value="values" /> - <val type="list" id="146380204" > - <item type="dict" id="146656900" > - <entry> - <key type="string" value="access" /> - <val type="string" value="rw" /> - </entry> - <entry> - <key type="string" value="pdo" /> - <val type="True" value="" /> - </entry> - <entry> - <key type="string" value="type" /> - <val type="numeric" value="5" /> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap3" /> - </entry> - </item> - </val> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap3" /> - </entry> - <entry> - <key type="string" value="struct" /> - <val type="numeric" value="1" /> - </entry> - </val> - </entry> - <entry> - <key type="numeric" value="8195" /> - <val type="dict" id="146657036" > - <entry> - <key type="string" value="need" /> - <val type="False" value="" /> - </entry> - <entry> - <key type="string" value="values" /> - <val type="list" id="146379756" > - <item type="dict" id="146665516" > - <entry> - <key type="string" value="access" /> - <val type="string" value="rw" /> - </entry> - <entry> - <key type="string" value="pdo" /> - <val type="True" value="" /> - </entry> - <entry> - <key type="string" value="type" /> - <val type="numeric" value="5" /> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap4" /> - </entry> - </item> - </val> - </entry> - <entry> - <key type="string" value="name" /> - <val type="string" value="MasterMap4" /> - </entry> - <entry> - <key type="string" value="struct" /> - <val type="numeric" value="1" /> +<attr name="DS302" type="dict" id="151879164" > + <entry> + <key type="numeric" value="7968" /> + <val type="dict" id="151879300" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153056684" > + <item type="dict" id="151878620" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Entries" /> + </entry> + </item> + <item type="dict" id="151875764" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Store DCF for node %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="127" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Store DCF" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="7969" /> + <val type="dict" id="151875900" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153058412" > + <item type="dict" id="151876036" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Entries" /> + </entry> + </item> + <item type="dict" id="151877396" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Storage Format for Node %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="127" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Storage Format" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> + </entry> + </val> + </entry> + <entry> + <key type="numeric" value="7970" /> + <val type="dict" id="151877532" > + <entry> + <key type="string" value="need" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="values" /> + <val type="list" id="153058668" > + <item type="dict" id="151877668" > + <entry> + <key type="string" value="access" /> + <val type="string" value="ro" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="2" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Number of Entries" /> + </entry> + </item> + <item type="dict" id="151921636" > + <entry> + <key type="string" value="access" /> + <val type="string" value="rw" /> + </entry> + <entry> + <key type="string" value="pdo" /> + <val type="False" value="" /> + </entry> + <entry> + <key type="string" value="type" /> + <val type="numeric" value="15" /> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Concise DCF for Node %d[(sub)]" /> + </entry> + <entry> + <key type="string" value="nbmax" /> + <val type="numeric" value="127" /> + </entry> + </item> + </val> + </entry> + <entry> + <key type="string" value="name" /> + <val type="string" value="Concise DCF" /> + </entry> + <entry> + <key type="string" value="struct" /> + <val type="numeric" value="7" /> </entry> </val> </entry> </attr> -<attr name="DS302" type="dict" id="146665652" > -</attr> -<attr name="ProfileName" type="string" value="DS-301" /> -<attr name="Type" type="string" value="master" /> -<attr name="ID" type="numeric" value="0" /> +<attr name="ProfileName" type="string">DS-401</attr> +<attr name="Type" type="string">master</attr> +<attr name="ID" type="numeric" value="1" /> </PyObject> diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestMasterSlave.c --- a/examples/TestMasterSlave/TestMasterSlave.c Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestMasterSlave.c Fri May 04 12:32:08 2007 +0200 @@ -49,8 +49,8 @@ return 0; } -s_BOARD SlaveBoard = {"0", "500K"}; -s_BOARD MasterBoard = {"1", "500K"}; +s_BOARD SlaveBoard = {"0", "125K"}; +s_BOARD MasterBoard = {"1", "125K"}; #if !defined(WIN32) || defined(__CYGWIN__) void catch_signal(int sig) @@ -69,7 +69,8 @@ printf("* A simple example for PC. It does implement 2 CanOpen *\n"); printf("* nodes in the same process. A master and a slave. Both *\n"); printf("* communicate together, exchanging periodically NMT, SYNC, *\n"); - printf("* SDO and PDO. *\n"); + printf("* SDO and PDO. Master configure heartbeat producer time *\n"); + printf("* at 1000 ms for slave node-id 0x02 by concise DCF. *\n"); printf("* *\n"); printf("* Usage: *\n"); printf("* ./TestMasterSlave [OPTIONS] *\n"); @@ -92,7 +93,7 @@ void InitNodes(CO_Data* d, UNS32 id) { /****************************** INITIALISATION SLAVE *******************************/ - if(SlaveBoard.baudrate) { + if(strcmp(SlaveBoard.baudrate, "none")) { /* Defining the node Id */ setNodeId(&TestSlave_Data, 0x02); /* init */ @@ -100,21 +101,15 @@ } /****************************** INITIALISATION MASTER *******************************/ - if(MasterBoard.baudrate){ + if(strcmp(MasterBoard.baudrate, "none")){ RegisterSetODentryCallBack(&TestMaster_Data, 0x2000, 0, &OnMasterMap1Update); - + /* Defining the node Id */ setNodeId(&TestMaster_Data, 0x01); /* init */ setState(&TestMaster_Data, Initialisation); - - /****************************** START *******************************/ - /* Put the master in operational mode */ - setState(&TestMaster_Data, Operational); - - /* Ask slave node to go in operational mode */ - masterSendNMTstateChange (&TestMaster_Data, 0x02, NMT_Start_Node); + } } @@ -188,7 +183,8 @@ LoadCanDriver(LibraryPath); #endif // Open CAN devices - if(strcmp( SlaveBoard.baudrate, "none")){ + + if(strcmp(SlaveBoard.baudrate, "none")){ TestSlave_Data.heartbeatError = TestSlave_heartbeatError; TestSlave_Data.initialisation = TestSlave_initialisation; @@ -204,8 +200,7 @@ goto fail_slave; } } - - if(strcmp( MasterBoard.baudrate, "none")){ + if(strcmp(MasterBoard.baudrate, "none")){ TestMaster_Data.heartbeatError = TestMaster_heartbeatError; TestMaster_Data.initialisation = TestMaster_initialisation; @@ -216,27 +211,31 @@ TestMaster_Data.post_TPDO = TestMaster_post_TPDO; if(!canOpen(&MasterBoard,&TestMaster_Data)){ - eprintf("Cannot open Master Board (%s,%s)\n",SlaveBoard.busname, SlaveBoard.baudrate); + eprintf("Cannot open Master Board (%s,%s)\n",MasterBoard.busname, MasterBoard.baudrate); goto fail_master; } } - + sleep(2); // Start timer thread StartTimerLoop(&InitNodes); // wait Ctrl-C + pause(); eprintf("Finishing.\n"); + masterSendNMTstateChange (&TestMaster_Data, 0x02, NMT_Reset_Node); + eprintf("reset\n"); + // Stop master + setState(&TestMaster_Data, Stopped); + // Stop timer thread StopTimerLoop(); // Close CAN devices (and can threads) - if(strcmp( SlaveBoard.baudrate, "none")) canClose(&TestSlave_Data); + if(strcmp(SlaveBoard.baudrate, "none")) canClose(&TestSlave_Data); fail_master: - if(strcmp( MasterBoard.baudrate, "none")) canClose(&TestMaster_Data); + if(strcmp(MasterBoard.baudrate, "none")) canClose(&TestMaster_Data); fail_slave: - - - return 0; -} + return 0; +} diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestSlave.c --- a/examples/TestMasterSlave/TestSlave.c Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestSlave.c Fri May 04 12:32:08 2007 +0200 @@ -130,7 +130,11 @@ UNS32 TestSlave_obj1016[]={0}; /* index 0x1017 : Producer Heartbeat Time. */ - UNS16 TestSlave_obj1017 = 0x3E8; /* 1000 */ + UNS16 TestSlave_obj1017 = 0x0; /* 0 */ + ODCallback_t TestSlave_Index1017_callbacks[] = + { + NULL, + }; subindex TestSlave_Index1017[] = { { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 } @@ -280,7 +284,7 @@ case 0x1006: i = 3;*callbacks = TestSlave_Index1006_callbacks; break; case 0x1010: i = 4;*callbacks = TestSlave_Index1010_callbacks; break; case 0x1011: i = 5;*callbacks = TestSlave_Index1011_callbacks; break; - case 0x1017: i = 6;break; + case 0x1017: i = 6;*callbacks = TestSlave_Index1017_callbacks; break; case 0x1018: i = 7;break; case 0x1200: i = 8;break; case 0x1800: i = 9;break; diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestSlave.od --- a/examples/TestMasterSlave/TestSlave.od Fri May 04 12:26:46 2007 +0200 +++ b/examples/TestMasterSlave/TestSlave.od Fri May 04 12:32:08 2007 +0200 @@ -1,10 +1,10 @@ <?xml version="1.0"?> <!DOCTYPE PyObject SYSTEM "PyObjects.dtd"> -<PyObject module="node" class="Node" id="17963560"> -<attr name="Profile" type="dict" id="18771104" > +<PyObject module="node" class="Node" id="151439820"> +<attr name="Profile" type="dict" id="151442540" > </attr> <attr name="Name" type="string" value="TestSlave" /> -<attr name="Dictionary" type="dict" id="18772176" > +<attr name="Dictionary" type="dict" id="151441860" > <entry> <key type="numeric" value="4096" /> <val type="numeric" value="301" /> @@ -22,8 +22,14 @@ <val type="numeric" value="0" /> </entry> <entry> - <key type="numeric" value="8193" /> - <val type="numeric" value="0" /> + <key type="numeric" value="6145" /> + <val type="list" id="151438060" > + <item type="numeric" value="642" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + </val> </entry> <entry> <key type="numeric" value="4101" /> @@ -34,22 +40,22 @@ <val type="numeric" value="0" /> </entry> <entry> - <key type="numeric" value="6145" /> - <val type="list" id="16025432" > - <item type="numeric" value="642" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - </val> - </entry> - <entry> - <key type="numeric" value="4102" /> - <val type="numeric" value="0" /> + <key type="numeric" value="8193" /> + <val type="numeric" value="0" /> + </entry> + <entry> + <key type="numeric" value="6144" /> + <val type="list" id="151437836" > + <item type="numeric" value="386" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + </val> </entry> <entry> <key type="numeric" value="4112" /> - <val type="list" id="17967080" > + <val type="list" id="151438028" > <item type="numeric" value="0" /> <item type="numeric" value="0" /> <item type="numeric" value="0" /> @@ -58,64 +64,58 @@ </entry> <entry> <key type="numeric" value="4113" /> - <val type="list" id="17967008" > - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> + <val type="list" id="151439020" > + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + </val> + </entry> + <entry> + <key type="numeric" value="4608" /> + <val type="list" id="151437900" > + <item type="numeric" value="1537" /> + <item type="numeric" value="1409" /> </val> </entry> <entry> <key type="numeric" value="6657" /> - <val type="list" id="17966648" > + <val type="list" id="151438540" > <item type="numeric" value="537001992" /> <item type="numeric" value="537067528" /> </val> </entry> <entry> <key type="numeric" value="6656" /> - <val type="list" id="17966288" > + <val type="list" id="151437932" > <item type="numeric" value="536870920" /> <item type="numeric" value="536936456" /> </val> </entry> <entry> - <key type="numeric" value="4608" /> - <val type="list" id="17967152" > - <item type="numeric" value="1537" /> - <item type="numeric" value="1409" /> - </val> - </entry> - <entry> <key type="numeric" value="4119" /> - <val type="numeric" value="1000" /> + <val type="numeric" value="0" /> </entry> <entry> <key type="numeric" value="4120" /> - <val type="list" id="17966864" > - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - </val> - </entry> - <entry> - <key type="numeric" value="6144" /> - <val type="list" id="17965784" > - <item type="numeric" value="386" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - <item type="numeric" value="0" /> - </val> - </entry> -</attr> -<attr name="SpecificMenu" type="list" id="17966792" > -</attr> -<attr name="ParamsDictionary" type="dict" id="18773248" > + <val type="list" id="151437868" > + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + <item type="numeric" value="0" /> + </val> + </entry> + <entry> + <key type="numeric" value="4102" /> + <val type="numeric" value="0" /> + </entry> +</attr> +<attr name="SpecificMenu" type="list" id="151437804" > +</attr> +<attr name="ParamsDictionary" type="dict" id="151442268" > <entry> <key type="numeric" value="8192" /> - <val type="dict" id="18773536" > + <val type="dict" id="151435844" > <entry> <key type="string" value="callback" /> <val type="False" value="" /> @@ -124,7 +124,7 @@ </entry> <entry> <key type="numeric" value="4112" /> - <val type="dict" id="18771392" > + <val type="dict" id="151436252" > <entry> <key type="string" value="callback" /> <val type="True" value="" /> @@ -132,11 +132,20 @@ </val> </entry> <entry> + <key type="numeric" value="4119" /> + <val type="dict" id="151435708" > + <entry> + <key type="string" value="callback" /> + <val type="True" value="" /> + </entry> + </val> + </entry> + <entry> <key type="numeric" value="6144" /> - <val type="dict" id="18771680" > + <val type="dict" id="151441588" > <entry> <key type="numeric" value="2" /> - <val type="dict" id="18776912" > + <val type="dict" id="151435572" > <entry> <key type="string" value="save" /> <val type="True" value="" /> @@ -145,7 +154,7 @@ </entry> <entry> <key type="numeric" value="3" /> - <val type="dict" id="18951264" > + <val type="dict" id="151436932" > <entry> <key type="string" value="save" /> <val type="True" value="" /> @@ -156,7 +165,7 @@ </entry> <entry> <key type="numeric" value="4113" /> - <val type="dict" id="18777200" > + <val type="dict" id="151441452" > <entry> <key type="string" value="callback" /> <val type="True" value="" /> @@ -164,18 +173,18 @@ </val> </entry> </attr> -<attr name="UserMapping" type="dict" id="18777488" > +<attr name="UserMapping" type="dict" id="151435436" > <entry> <key type="numeric" value="8192" /> - <val type="dict" id="18777776" > + <val type="dict" id="151436524" > <entry> <key type="string" value="need" /> <val type="False" value="" /> </entry> <entry> <key type="string" value="values" /> - <val type="list" id="17966720" > - <item type="dict" id="18778064" > + <val type="list" id="151437772" > + <item type="dict" id="151436796" > <entry> <key type="string" value="access" /> <val type="string" value="rw" /> @@ -207,15 +216,15 @@ </entry> <entry> <key type="numeric" value="8193" /> - <val type="dict" id="18778352" > + <val type="dict" id="140686172" > <entry> <key type="string" value="need" /> <val type="False" value="" /> </entry> <entry> <key type="string" value="values" /> - <val type="list" id="17967368" > - <item type="dict" id="18778640" > + <val type="list" id="151437740" > + <item type="dict" id="151436116" > <entry> <key type="string" value="access" /> <val type="string" value="rw" /> @@ -247,15 +256,15 @@ </entry> <entry> <key type="numeric" value="8194" /> - <val type="dict" id="18778928" > + <val type="dict" id="151436388" > <entry> <key type="string" value="need" /> <val type="False" value="" /> </entry> <entry> <key type="string" value="values" /> - <val type="list" id="17966936" > - <item type="dict" id="18779216" > + <val type="list" id="151437548" > + <item type="dict" id="140685492" > <entry> <key type="string" value="access" /> <val type="string" value="rw" /> @@ -287,15 +296,15 @@ </entry> <entry> <key type="numeric" value="8195" /> - <val type="dict" id="18779504" > + <val type="dict" id="151435028" > <entry> <key type="string" value="need" /> <val type="False" value="" /> </entry> <entry> <key type="string" value="values" /> - <val type="list" id="17967296" > - <item type="dict" id="18779792" > + <val type="list" id="151437708" > + <item type="dict" id="151434892" > <entry> <key type="string" value="access" /> <val type="string" value="rw" /> @@ -326,7 +335,7 @@ </val> </entry> </attr> -<attr name="DS302" type="dict" id="18780864" > +<attr name="DS302" type="dict" id="151434756" > </attr> <attr name="ProfileName" type="string" value="DS-301" /> <attr name="Type" type="string" value="slave" /> diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestSlaveC.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/TestMasterSlave/TestSlaveC.c Fri May 04 12:32:08 2007 +0200 @@ -0,0 +1,329 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "TestSlaveC.h" + +/**************************************************************************/ +/* Declaration of the mapped variables */ +/**************************************************************************/ +UNS8 SlaveMap1 = 0x0; /* Mapped at index 0x2000, subindex 0x00 */ +UNS8 SlaveMap2 = 0x0; /* Mapped at index 0x2001, subindex 0x00 */ +UNS8 SlaveMap3 = 0x0; /* Mapped at index 0x2002, subindex 0x00 */ +UNS8 SlaveMap4 = 0x0; /* Mapped at index 0x2003, subindex 0x00 */ + +/**************************************************************************/ +/* Declaration of the value range types */ +/**************************************************************************/ + +UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void * value) +{ + switch (typeValue) { + } + return 0; +} + +/**************************************************************************/ +/* The node id */ +/**************************************************************************/ +/* node_id default value.*/ +UNS8 TestSlave_bDeviceNodeId = 0x00; + +/**************************************************************************/ +/* Array of message processing information */ + +const UNS8 TestSlave_iam_a_slave = 1; + +TIMER_HANDLE TestSlave_heartBeatTimers[1]; + +/* +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + OBJECT DICTIONARY + +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +*/ + +/* index 0x1000 : Device Type. */ + UNS32 TestSlave_obj1000 = 0x12D; /* 301 */ + subindex TestSlave_Index1000[] = + { + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1000 } + }; + +/* index 0x1001 : Error Register. */ + UNS8 TestSlave_obj1001 = 0x0; /* 0 */ + subindex TestSlave_Index1001[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 } + }; + +/* index 0x1005 : SYNC COB ID. */ + UNS32 TestSlave_obj1005 = 0x80; /* 128 */ + ODCallback_t TestSlave_Index1005_callbacks[] = + { + NULL, + }; + subindex TestSlave_Index1005[] = + { + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1005 } + }; + +/* index 0x1006 : Communication / Cycle Period. */ + UNS32 TestSlave_obj1006 = 0x0; /* 0 */ + ODCallback_t TestSlave_Index1006_callbacks[] = + { + NULL, + }; + subindex TestSlave_Index1006[] = + { + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1006 } + }; + +/* index 0x1010 : Store parameters. */ + UNS8 TestSlave_highestSubIndex_obj1010 = 4; /* number of subindex - 1*/ + UNS32 TestSlave_obj1010_Save_All_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1010_Save_Communication_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1010_Save_Application_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1010_Save_Manufacturer_Parameters = 0x0; /* 0 */ + ODCallback_t TestSlave_Index1010_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + NULL, + }; + subindex TestSlave_Index1010[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1010 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_All_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Communication_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Application_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1010_Save_Manufacturer_Parameters } + }; + +/* index 0x1011 : Restore Default Parameters. */ + UNS8 TestSlave_highestSubIndex_obj1011 = 4; /* number of subindex - 1*/ + UNS32 TestSlave_obj1011_Restore_All_Default_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1011_Restore_Communication_Default_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1011_Restore_Application_Default_Parameters = 0x0; /* 0 */ + UNS32 TestSlave_obj1011_Restore_Manufacturer_Default_Parameters = 0x0; /* 0 */ + ODCallback_t TestSlave_Index1011_callbacks[] = + { + NULL, + NULL, + NULL, + NULL, + NULL, + }; + subindex TestSlave_Index1011[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1011 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_All_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Communication_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Application_Default_Parameters }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1011_Restore_Manufacturer_Default_Parameters } + }; + +/* index 0x1016 : Consumer Heartbeat Time */ + UNS8 TestSlave_highestSubIndex_obj1016 = 0; + UNS32 TestSlave_obj1016[]={0}; + +/* index 0x1017 : Producer Heartbeat Time. */ + UNS16 TestSlave_obj1017 = 0x0; /* 0 */ + subindex TestSlave_Index1017[] = + { + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 } + }; + +/* index 0x1018 : Identity. */ + UNS8 TestSlave_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ + UNS32 TestSlave_obj1018_Vendor_ID = 0x0; /* 0 */ + UNS32 TestSlave_obj1018_Product_Code = 0x0; /* 0 */ + UNS32 TestSlave_obj1018_Revision_Number = 0x0; /* 0 */ + UNS32 TestSlave_obj1018_Serial_Number = 0x0; /* 0 */ + subindex TestSlave_Index1018[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1018 }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Vendor_ID }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Product_Code }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Revision_Number }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1018_Serial_Number } + }; + +/* index 0x1200 : Server SDO Parameter. */ + UNS8 TestSlave_highestSubIndex_obj1200 = 2; /* number of subindex - 1*/ + UNS32 TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO = 0x601; /* 1537 */ + UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x581; /* 1409 */ + subindex TestSlave_Index1200[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1200 }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Client_to_Server_Receive_SDO }, + { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO } + }; + +/* index 0x1800 : Transmit PDO 1 Parameter. */ + UNS8 TestSlave_highestSubIndex_obj1800 = 5; /* number of subindex - 1*/ + UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182; /* 386 */ + UNS8 TestSlave_obj1800_Transmission_Type = 0x1; /* 1 */ + UNS16 TestSlave_obj1800_Inhibit_Time = 0x0; /* 0 */ + UNS16 TestSlave_obj1800_Compatibility_Entry = 0x0; /* 0 */ + UNS16 TestSlave_obj1800_Event_Timer = 0x0; /* 0 */ + subindex TestSlave_Index1800[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1800 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1800_COB_ID_used_by_PDO }, + { RW|TO_BE_SAVE, uint8, sizeof (UNS8), (void*)&TestSlave_obj1800_Transmission_Type }, + { RW|TO_BE_SAVE, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Inhibit_Time }, + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Compatibility_Entry }, + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1800_Event_Timer } + }; + +/* index 0x1801 : Transmit PDO 2 Parameter. */ + UNS8 TestSlave_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/ + UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x282; /* 642 */ + UNS8 TestSlave_obj1801_Transmission_Type = 0x1; /* 1 */ + UNS16 TestSlave_obj1801_Inhibit_Time = 0x0; /* 0 */ + UNS16 TestSlave_obj1801_Compatibility_Entry = 0x0; /* 0 */ + UNS16 TestSlave_obj1801_Event_Timer = 0x0; /* 0 */ + subindex TestSlave_Index1801[] = + { + { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1801 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1801_COB_ID_used_by_PDO }, + { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1801_Transmission_Type }, + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Inhibit_Time }, + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Compatibility_Entry }, + { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1801_Event_Timer } + }; + +/* index 0x1A00 : Transmit PDO 1 Mapping. */ + UNS8 TestSlave_highestSubIndex_obj1A00 = 2; /* number of subindex - 1*/ + UNS32 TestSlave_obj1A00[] = + { + 0x20000008, /* 536870920 */ + 0x20010008 /* 536936456 */ + }; + subindex TestSlave_Index1A00[] = + { + { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A00 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[0] }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[1] } + }; + +/* index 0x1A01 : Transmit PDO 2 Mapping. */ + UNS8 TestSlave_highestSubIndex_obj1A01 = 2; /* number of subindex - 1*/ + UNS32 TestSlave_obj1A01[] = + { + 0x20020008, /* 537001992 */ + 0x20030008 /* 537067528 */ + }; + subindex TestSlave_Index1A01[] = + { + { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A01 }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[0] }, + { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[1] } + }; + +/* index 0x2000 : Mapped variable SlaveMap1 */ + subindex TestSlave_Index2000[] = + { + { RW, uint8, sizeof (UNS8), (void*)&SlaveMap1 } + }; + +/* index 0x2001 : Mapped variable SlaveMap2 */ + subindex TestSlave_Index2001[] = + { + { RW, uint8, sizeof (UNS8), (void*)&SlaveMap2 } + }; + +/* index 0x2002 : Mapped variable SlaveMap3 */ + subindex TestSlave_Index2002[] = + { + { RW, uint8, sizeof (UNS8), (void*)&SlaveMap3 } + }; + +/* index 0x2003 : Mapped variable SlaveMap4 */ + subindex TestSlave_Index2003[] = + { + { RW, uint8, sizeof (UNS8), (void*)&SlaveMap4 } + }; + +const indextable TestSlave_objdict[] = +{ + { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000}, + { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001}, + { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005}, + { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006}, + { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010}, + { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011}, + { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017}, + { (subindex*)TestSlave_Index1018,sizeof(TestSlave_Index1018)/sizeof(TestSlave_Index1018[0]), 0x1018}, + { (subindex*)TestSlave_Index1200,sizeof(TestSlave_Index1200)/sizeof(TestSlave_Index1200[0]), 0x1200}, + { (subindex*)TestSlave_Index1800,sizeof(TestSlave_Index1800)/sizeof(TestSlave_Index1800[0]), 0x1800}, + { (subindex*)TestSlave_Index1801,sizeof(TestSlave_Index1801)/sizeof(TestSlave_Index1801[0]), 0x1801}, + { (subindex*)TestSlave_Index1A00,sizeof(TestSlave_Index1A00)/sizeof(TestSlave_Index1A00[0]), 0x1A00}, + { (subindex*)TestSlave_Index1A01,sizeof(TestSlave_Index1A01)/sizeof(TestSlave_Index1A01[0]), 0x1A01}, + { (subindex*)TestSlave_Index2000,sizeof(TestSlave_Index2000)/sizeof(TestSlave_Index2000[0]), 0x2000}, + { (subindex*)TestSlave_Index2001,sizeof(TestSlave_Index2001)/sizeof(TestSlave_Index2001[0]), 0x2001}, + { (subindex*)TestSlave_Index2002,sizeof(TestSlave_Index2002)/sizeof(TestSlave_Index2002[0]), 0x2002}, + { (subindex*)TestSlave_Index2003,sizeof(TestSlave_Index2003)/sizeof(TestSlave_Index2003[0]), 0x2003}, +}; + +const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) +{ + int i; + *callbacks = NULL; + switch(wIndex){ + case 0x1000: i = 0;break; + case 0x1001: i = 1;break; + case 0x1005: i = 2;*callbacks = TestSlave_Index1005_callbacks; break; + case 0x1006: i = 3;*callbacks = TestSlave_Index1006_callbacks; break; + case 0x1010: i = 4;*callbacks = TestSlave_Index1010_callbacks; break; + case 0x1011: i = 5;*callbacks = TestSlave_Index1011_callbacks; break; + case 0x1017: i = 6;break; + case 0x1018: i = 7;break; + case 0x1200: i = 8;break; + case 0x1800: i = 9;break; + case 0x1801: i = 10;break; + case 0x1A00: i = 11;break; + case 0x1A01: i = 12;break; + case 0x2000: i = 13;break; + case 0x2001: i = 14;break; + case 0x2002: i = 15;break; + case 0x2003: i = 16;break; + default: + *errorCode = OD_NO_SUCH_OBJECT; + return NULL; + } + *errorCode = OD_SUCCESSFUL; + return &TestSlave_objdict[i]; +} + +/* To count at which received SYNC a PDO must be sent. + * Even if no pdoTransmit are defined, at least one entry is computed + * for compilations issues. + */ +UNS8 TestSlave_count_sync[2] = {0,}; + +quick_index TestSlave_firstIndex = { + 8, /* SDO_SVR */ + 0, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 9, /* PDO_TRS */ + 11 /* PDO_TRS_MAP */ +}; + +quick_index TestSlave_lastIndex = { + 8, /* SDO_SVR */ + 0, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 10, /* PDO_TRS */ + 12 /* PDO_TRS_MAP */ +}; + +UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]); + +CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave); + diff -r 01d81faa3350 -r 763b6d32c1a6 examples/TestMasterSlave/TestSlaveC.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/TestMasterSlave/TestSlaveC.h Fri May 04 12:32:08 2007 +0200 @@ -0,0 +1,18 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "data.h" + +/* Prototypes of function provided by object dictionnary */ +UNS32 TestSlave_valueRangeTest (UNS8 typeValue, void * value); +const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); + +/* Master node data struct */ +extern CO_Data TestSlave_Data; + +extern ODCallback_t Store_parameters_callbacks[]; /* Callbacks of index0x1010 */ +extern ODCallback_t Restore_Default_Parameters_callbacks[]; /* Callbacks of index0x1011 */ +extern UNS8 SlaveMap1; /* Mapped at index 0x2000, subindex 0x00*/ +extern UNS8 SlaveMap2; /* Mapped at index 0x2001, subindex 0x00*/ +extern UNS8 SlaveMap3; /* Mapped at index 0x2002, subindex 0x00*/ +extern UNS8 SlaveMap4; /* Mapped at index 0x2003, subindex 0x00*/