--- a/examples/TestMasterSlave/Master.c Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/Master.c Mon Jul 02 18:22:58 2007 +0200
@@ -164,15 +164,41 @@
void TestMaster_post_sync()
{
eprintf("TestMaster_post_sync\n");
- eprintf("Master: %d %d %d %d %d %d %d %d %d %x %x\n",MasterMap1,MasterMap2 ,MasterMap3, MasterMap4,MasterMap5,MasterMap6,MasterMap7,MasterMap8,MasterMap9,MasterMap10,MasterMap11);
+ eprintf("Master: %d %d %d %d %d %d %d %d %d %x %x %d %d\n",
+ MasterMap1,
+ MasterMap2,
+ MasterMap3,
+ MasterMap4,
+ MasterMap5,
+ MasterMap6,
+ MasterMap7,
+ MasterMap8,
+ MasterMap9,
+ MasterMap10,
+ MasterMap11,
+ MasterMap12,
+ MasterMap13);
}
char query_result = 0;
char waiting_answer = 0;
+
+static void CheckSDO(CO_Data* d, UNS8 nodeId)
+{
+ UNS32 abortCode;
+ if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED)
+ eprintf("Master : Failed in changing Slave's transmit type AbortCode :%4.4x \n", abortCode);
+
+ /* Finalise last SDO transfer with this node */
+ closeSDOtransfer(&TestMaster_Data, nodeId, SDO_CLIENT);
+}
+
+
+static int MasterSyncCount = 0;
void TestMaster_post_TPDO()
{
- eprintf("TestMaster_post_TPDO\n");
+ eprintf("TestMaster_post_TPDO MasterSyncCount = %d \n", MasterSyncCount);
//
// {
// char zero = 0;
@@ -188,6 +214,7 @@
// }
// }
+#if 0
if(waiting_answer){
UNS32 abortCode;
UNS8 size;
@@ -214,7 +241,7 @@
case SDO_UPLOAD_IN_PROGRESS:
break;
}
- }else if(MasterMap1 % 10 == 0){
+ }else if(MasterSyncCount % 10 == 0){
readNetworkDict (
&TestMaster_Data,
0x02,
@@ -223,4 +250,35 @@
0);
waiting_answer = 1;
}
-}
+#endif
+ if(MasterSyncCount % 17 == 0){
+ eprintf("Master : Ask RTR PDO (0x1402)\n");
+ sendPDOrequest(&TestMaster_Data, 0x1402 );
+ sendPDOrequest(&TestMaster_Data, 0x1403 );
+ }
+ if(MasterSyncCount % 50 == 0){
+ eprintf("Master : Change slave's transmit type to 0xFF\n");
+ UNS8 transmitiontype = 0xFF;
+ writeNetworkDictCallBack (&TestMaster_Data, /*CO_Data* d*/
+ 2, /*UNS8 nodeId*/
+ 0x1802, /*UNS16 index*/
+ 0x02, /*UNS16 index*/
+ 1, /*UNS8 count*/
+ 0, /*UNS8 dataType*/
+ &transmitiontype,/*void *data*/
+ CheckSDO); /*SDOCallback_t Callback*/
+ }
+ if(MasterSyncCount % 50 == 25){
+ eprintf("Master : Change slave's transmit type to 0x00\n");
+ UNS8 transmitiontype = 0x00;
+ writeNetworkDictCallBack (&TestMaster_Data, /*CO_Data* d*/
+ 2, /*UNS8 nodeId*/
+ 0x1802, /*UNS16 index*/
+ 0x02, /*UNS16 index*/
+ 1, /*UNS8 count*/
+ 0, /*UNS8 dataType*/
+ &transmitiontype,/*void *data*/
+ CheckSDO); /*SDOCallback_t Callback*/
+ }
+ MasterSyncCount++;
+}
--- a/examples/TestMasterSlave/Slave.c Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/Slave.c Mon Jul 02 18:22:58 2007 +0200
@@ -65,11 +65,26 @@
SlaveMap9=16;
SlaveMap10 = 0xff00ff00;
SlaveMap11 = 0xabcd;
- eprintf("Slave: %d %d %d %d %d %d %d %d %d %x %x\n",SlaveMap1, SlaveMap2, SlaveMap3, SlaveMap4, SlaveMap5, SlaveMap6, SlaveMap7, SlaveMap8, SlaveMap9, SlaveMap10,SlaveMap11);
+ SlaveMap12 += SlaveMap12 > 0x80 ? 0 : 1;
+ eprintf("Slave: %d %d %d %d %d %d %d %d %d %x %x %d %d \n",
+ SlaveMap1,
+ SlaveMap2,
+ SlaveMap3,
+ SlaveMap4,
+ SlaveMap5,
+ SlaveMap6,
+ SlaveMap7,
+ SlaveMap8,
+ SlaveMap9,
+ SlaveMap10,
+ SlaveMap11,
+ SlaveMap12,
+ SlaveMap13);
}
void TestSlave_post_TPDO()
{
+ SlaveMap13 += 1;
eprintf("TestSlave_post_TPDO\n");
}
--- a/examples/TestMasterSlave/TestMaster.c Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestMaster.c Mon Jul 02 18:22:58 2007 +0200
@@ -17,6 +17,8 @@
UNS8 MasterMap9 = 0x0; /* Mapped at index 0x2008, subindex 0x00 */
UNS32 MasterMap10 = 0x0; /* Mapped at index 0x2009, subindex 0x00 */
UNS16 MasterMap11 = 0x0; /* Mapped at index 0x200A, subindex 0x00 */
+INTEGER16 MasterMap12 = 0x0; /* Mapped at index 0x200B, subindex 0x00 */
+INTEGER16 MasterMap13 = 0x0; /* Mapped at index 0x200C, subindex 0x00 */
/**************************************************************************/
/* Declaration of the value range types */
@@ -33,7 +35,7 @@
/* The node id */
/**************************************************************************/
/* node_id default value.*/
-UNS8 TestMaster_bDeviceNodeId = 0x01;
+UNS8 TestMaster_bDeviceNodeId = 0x00;
/**************************************************************************/
/* Array of message processing information */
@@ -161,7 +163,7 @@
/* index 0x1400 : Receive PDO 1 Parameter. */
UNS8 TestMaster_highestSubIndex_obj1400 = 5; /* number of subindex - 1*/
- UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x182; /* 386 */
+ UNS32 TestMaster_obj1400_COB_ID_used_by_PDO = 0x200; /* 512 */
UNS8 TestMaster_obj1400_Transmission_Type = 0x1; /* 1 */
UNS16 TestMaster_obj1400_Inhibit_Time = 0x0; /* 0 */
UNS8 TestMaster_obj1400_Compatibility_Entry = 0x0; /* 0 */
@@ -178,7 +180,7 @@
/* index 0x1401 : Receive PDO 2 Parameter. */
UNS8 TestMaster_highestSubIndex_obj1401 = 5; /* number of subindex - 1*/
- UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x0; /* 0 */
+ UNS32 TestMaster_obj1401_COB_ID_used_by_PDO = 0x300; /* 768 */
UNS8 TestMaster_obj1401_Transmission_Type = 0x0; /* 0 */
UNS16 TestMaster_obj1401_Inhibit_Time = 0x0; /* 0 */
UNS8 TestMaster_obj1401_Compatibility_Entry = 0x0; /* 0 */
@@ -193,6 +195,40 @@
{ RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1401_Event_Timer }
};
+/* index 0x1402 : Receive PDO 3 Parameter. */
+ UNS8 TestMaster_highestSubIndex_obj1402 = 5; /* number of subindex - 1*/
+ UNS32 TestMaster_obj1402_COB_ID_used_by_PDO = 0x401; /* 1025 */
+ UNS8 TestMaster_obj1402_Transmission_Type = 0x0; /* 0 */
+ UNS16 TestMaster_obj1402_Inhibit_Time = 0x0; /* 0 */
+ UNS8 TestMaster_obj1402_Compatibility_Entry = 0x0; /* 0 */
+ UNS16 TestMaster_obj1402_Event_Timer = 0x0; /* 0 */
+ subindex TestMaster_Index1402[] =
+ {
+ { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1402 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1402_COB_ID_used_by_PDO },
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1402_Transmission_Type },
+ { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1402_Inhibit_Time },
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1402_Compatibility_Entry },
+ { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1402_Event_Timer }
+ };
+
+/* index 0x1403 : Receive PDO 4 Parameter. */
+ UNS8 TestMaster_highestSubIndex_obj1403 = 5; /* number of subindex - 1*/
+ UNS32 TestMaster_obj1403_COB_ID_used_by_PDO = 0x482; /* 1154 */
+ UNS8 TestMaster_obj1403_Transmission_Type = 0x0; /* 0 */
+ UNS16 TestMaster_obj1403_Inhibit_Time = 0x0; /* 0 */
+ UNS8 TestMaster_obj1403_Compatibility_Entry = 0x0; /* 0 */
+ UNS16 TestMaster_obj1403_Event_Timer = 0x0; /* 0 */
+ subindex TestMaster_Index1403[] =
+ {
+ { RO, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1403 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1403_COB_ID_used_by_PDO },
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1403_Transmission_Type },
+ { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1403_Inhibit_Time },
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_obj1403_Compatibility_Entry },
+ { RW, uint16, sizeof (UNS16), (void*)&TestMaster_obj1403_Event_Timer }
+ };
+
/* index 0x1600 : Receive PDO 1 Mapping. */
UNS8 TestMaster_highestSubIndex_obj1600 = 10; /* number of subindex - 1*/
UNS32 TestMaster_obj1600[] =
@@ -235,6 +271,30 @@
{ RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1601[0] }
};
+/* index 0x1602 : Receive PDO 3 Mapping. */
+ UNS8 TestMaster_highestSubIndex_obj1602 = 1; /* number of subindex - 1*/
+ UNS32 TestMaster_obj1602[] =
+ {
+ 0x200B0010 /* 537591824 */
+ };
+ subindex TestMaster_Index1602[] =
+ {
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1602 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1602[0] }
+ };
+
+/* index 0x1603 : Receive PDO 4 Mapping. */
+ UNS8 TestMaster_highestSubIndex_obj1603 = 1; /* number of subindex - 1*/
+ UNS32 TestMaster_obj1603[] =
+ {
+ 0x200C0010 /* 537657360 */
+ };
+ subindex TestMaster_Index1603[] =
+ {
+ { RW, uint8, sizeof (UNS8), (void*)&TestMaster_highestSubIndex_obj1603 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestMaster_obj1603[0] }
+ };
+
/* index 0x1F22 : Concise DCF. */
UNS8 TestMaster_highestSubIndex_obj1F22 = 2; /* number of subindex - 1*/
UNS8* TestMaster_obj1F22[] =
@@ -315,6 +375,18 @@
{ RW, uint16, sizeof (UNS16), (void*)&MasterMap11 }
};
+/* index 0x200B : Mapped variable MasterMap12 */
+ subindex TestMaster_Index200B[] =
+ {
+ { RW, int16, sizeof (INTEGER16), (void*)&MasterMap12 }
+ };
+
+/* index 0x200C : Mapped variable MasterMap13 */
+ subindex TestMaster_Index200C[] =
+ {
+ { RW, int16, sizeof (INTEGER16), (void*)&MasterMap13 }
+ };
+
const indextable TestMaster_objdict[] =
{
{ (subindex*)TestMaster_Index1000,sizeof(TestMaster_Index1000)/sizeof(TestMaster_Index1000[0]), 0x1000},
@@ -328,8 +400,12 @@
{ (subindex*)TestMaster_Index1280,sizeof(TestMaster_Index1280)/sizeof(TestMaster_Index1280[0]), 0x1280},
{ (subindex*)TestMaster_Index1400,sizeof(TestMaster_Index1400)/sizeof(TestMaster_Index1400[0]), 0x1400},
{ (subindex*)TestMaster_Index1401,sizeof(TestMaster_Index1401)/sizeof(TestMaster_Index1401[0]), 0x1401},
+ { (subindex*)TestMaster_Index1402,sizeof(TestMaster_Index1402)/sizeof(TestMaster_Index1402[0]), 0x1402},
+ { (subindex*)TestMaster_Index1403,sizeof(TestMaster_Index1403)/sizeof(TestMaster_Index1403[0]), 0x1403},
{ (subindex*)TestMaster_Index1600,sizeof(TestMaster_Index1600)/sizeof(TestMaster_Index1600[0]), 0x1600},
{ (subindex*)TestMaster_Index1601,sizeof(TestMaster_Index1601)/sizeof(TestMaster_Index1601[0]), 0x1601},
+ { (subindex*)TestMaster_Index1602,sizeof(TestMaster_Index1602)/sizeof(TestMaster_Index1602[0]), 0x1602},
+ { (subindex*)TestMaster_Index1603,sizeof(TestMaster_Index1603)/sizeof(TestMaster_Index1603[0]), 0x1603},
{ (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},
@@ -342,6 +418,8 @@
{ (subindex*)TestMaster_Index2008,sizeof(TestMaster_Index2008)/sizeof(TestMaster_Index2008[0]), 0x2008},
{ (subindex*)TestMaster_Index2009,sizeof(TestMaster_Index2009)/sizeof(TestMaster_Index2009[0]), 0x2009},
{ (subindex*)TestMaster_Index200A,sizeof(TestMaster_Index200A)/sizeof(TestMaster_Index200A[0]), 0x200A},
+ { (subindex*)TestMaster_Index200B,sizeof(TestMaster_Index200B)/sizeof(TestMaster_Index200B[0]), 0x200B},
+ { (subindex*)TestMaster_Index200C,sizeof(TestMaster_Index200C)/sizeof(TestMaster_Index200C[0]), 0x200C},
};
const indextable * TestMaster_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
@@ -360,20 +438,26 @@
case 0x1280: i = 8;break;
case 0x1400: i = 9;break;
case 0x1401: i = 10;break;
- case 0x1600: i = 11;break;
- case 0x1601: i = 12;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;
- case 0x2004: i = 18;break;
- case 0x2005: i = 19;break;
- case 0x2006: i = 20;break;
- case 0x2007: i = 21;break;
- case 0x2008: i = 22;break;
- case 0x2009: i = 23;break;
- case 0x200A: i = 24;break;
+ case 0x1402: i = 11;break;
+ case 0x1403: i = 12;break;
+ case 0x1600: i = 13;break;
+ case 0x1601: i = 14;break;
+ case 0x1602: i = 15;break;
+ case 0x1603: i = 16;break;
+ case 0x1F22: i = 17;break;
+ case 0x2000: i = 18;break;
+ case 0x2001: i = 19;break;
+ case 0x2002: i = 20;break;
+ case 0x2003: i = 21;break;
+ case 0x2004: i = 22;break;
+ case 0x2005: i = 23;break;
+ case 0x2006: i = 24;break;
+ case 0x2007: i = 25;break;
+ case 0x2008: i = 26;break;
+ case 0x2009: i = 27;break;
+ case 0x200A: i = 28;break;
+ case 0x200B: i = 29;break;
+ case 0x200C: i = 30;break;
default:
*errorCode = OD_NO_SUCH_OBJECT;
return NULL;
@@ -393,7 +477,7 @@
0, /* SDO_SVR */
8, /* SDO_CLT */
9, /* PDO_RCV */
- 11, /* PDO_RCV_MAP */
+ 13, /* PDO_RCV_MAP */
0, /* PDO_TRS */
0 /* PDO_TRS_MAP */
};
@@ -401,8 +485,8 @@
quick_index TestMaster_lastIndex = {
0, /* SDO_SVR */
8, /* SDO_CLT */
- 10, /* PDO_RCV */
- 12, /* PDO_RCV_MAP */
+ 12, /* PDO_RCV */
+ 16, /* PDO_RCV_MAP */
0, /* PDO_TRS */
0 /* PDO_TRS_MAP */
};
--- a/examples/TestMasterSlave/TestMaster.h Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestMaster.h Mon Jul 02 18:22:58 2007 +0200
@@ -23,5 +23,7 @@
extern UNS8 MasterMap9; /* Mapped at index 0x2008, subindex 0x00*/
extern UNS32 MasterMap10; /* Mapped at index 0x2009, subindex 0x00*/
extern UNS16 MasterMap11; /* Mapped at index 0x200A, subindex 0x00*/
+extern INTEGER16 MasterMap12; /* Mapped at index 0x200B, subindex 0x00*/
+extern INTEGER16 MasterMap13; /* Mapped at index 0x200C, subindex 0x00*/
#endif // TESTMASTER_H
--- a/examples/TestMasterSlave/TestMaster.od Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestMaster.od Mon Jul 02 18:22:58 2007 +0200
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
<!DOCTYPE PyObject SYSTEM "PyObjects.dtd">
-<PyObject module="node" class="Node" id="151357548">
-<attr name="Profile" type="dict" id="151362524" >
+<PyObject module="node" class="Node" id="46582816">
+<attr name="Profile" type="dict" id="45421552" >
<entry>
<key type="numeric" value="24576" />
- <val type="dict" id="151362932" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140020876" >
- <item type="dict" id="151363340" >
+ <val type="dict" id="46279792" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518712" >
+ <item type="dict" id="47325472" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -30,7 +30,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151368132" >
+ <item type="dict" id="46104736" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -66,15 +66,15 @@
</entry>
<entry>
<key type="numeric" value="24832" />
- <val type="dict" id="140113412" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021068" >
- <item type="dict" id="151363204" >
+ <val type="dict" id="45358112" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519144" >
+ <item type="dict" id="46394368" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -92,7 +92,7 @@
<val type="string" value="Number of Input 16 bit" />
</entry>
</item>
- <item type="dict" id="151363068" >
+ <item type="dict" id="46284592" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -128,15 +128,15 @@
</entry>
<entry>
<key type="numeric" value="24578" />
- <val type="dict" id="140114092" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140030028" >
- <item type="dict" id="151368540" >
+ <val type="dict" id="43954032" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505712" >
+ <item type="dict" id="45613168" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -154,7 +154,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151368812" >
+ <item type="dict" id="46102848" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -190,15 +190,15 @@
</entry>
<entry>
<key type="numeric" value="24579" />
- <val type="dict" id="151367860" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021228" >
- <item type="dict" id="151368948" >
+ <val type="dict" id="45570224" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46495648" >
+ <item type="dict" id="46401968" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -216,7 +216,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151369220" >
+ <item type="dict" id="46247504" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -252,15 +252,15 @@
</entry>
<entry>
<key type="numeric" value="25604" />
- <val type="dict" id="151367996" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140029996" >
- <item type="dict" id="151369356" >
+ <val type="dict" id="44928832" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505856" >
+ <item type="dict" id="45914656" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -278,7 +278,7 @@
<val type="string" value="Number of Analogue Input" />
</entry>
</item>
- <item type="dict" id="151369628" >
+ <item type="dict" id="46843712" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -314,15 +314,15 @@
</entry>
<entry>
<key type="numeric" value="24581" />
- <val type="dict" id="151368676" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140020524" >
- <item type="dict" id="151369764" >
+ <val type="dict" id="46284880" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519432" >
+ <item type="dict" id="45392416" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -354,15 +354,15 @@
</entry>
<entry>
<key type="numeric" value="24582" />
- <val type="dict" id="151370036" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140020972" >
- <item type="dict" id="151370444" >
+ <val type="dict" id="46411968" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512176" >
+ <item type="dict" id="46412256" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -380,7 +380,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151368268" >
+ <item type="dict" id="46412544" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -416,15 +416,15 @@
</entry>
<entry>
<key type="numeric" value="24583" />
- <val type="dict" id="151370308" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021420" >
- <item type="dict" id="151362796" >
+ <val type="dict" id="46842832" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512392" >
+ <item type="dict" id="46412832" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -442,7 +442,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151370716" >
+ <item type="dict" id="46413120" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -478,15 +478,15 @@
</entry>
<entry>
<key type="numeric" value="24584" />
- <val type="dict" id="151369084" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021388" >
- <item type="dict" id="151370852" >
+ <val type="dict" id="46154848" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505784" >
+ <item type="dict" id="45748288" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -504,7 +504,7 @@
<val type="string" value="Number of Input 8 bit" />
</entry>
</item>
- <item type="dict" id="151371124" >
+ <item type="dict" id="45748624" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -540,15 +540,15 @@
</entry>
<entry>
<key type="numeric" value="24834" />
- <val type="dict" id="151369900" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021516" >
- <item type="dict" id="151371260" >
+ <val type="dict" id="45358400" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513832" >
+ <item type="dict" id="45358688" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -566,7 +566,7 @@
<val type="string" value="Number of Input 16 bit" />
</entry>
</item>
- <item type="dict" id="151371532" >
+ <item type="dict" id="46154560" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -602,15 +602,15 @@
</entry>
<entry>
<key type="numeric" value="25616" />
- <val type="dict" id="151370580" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140030444" >
- <item type="dict" id="151371820" >
+ <val type="dict" id="45912240" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513688" >
+ <item type="dict" id="46438752" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -628,7 +628,7 @@
<val type="string" value="Number of Analogue Input 8 Bit" />
</entry>
</item>
- <item type="dict" id="151372092" >
+ <item type="dict" id="46439040" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -664,15 +664,15 @@
</entry>
<entry>
<key type="numeric" value="25617" />
- <val type="dict" id="151370988" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021484" >
- <item type="dict" id="151372228" >
+ <val type="dict" id="46350880" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513544" >
+ <item type="dict" id="46351168" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -690,7 +690,7 @@
<val type="string" value="Number of Analogue Input 16 Bit" />
</entry>
</item>
- <item type="dict" id="151372500" >
+ <item type="dict" id="45911952" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -726,15 +726,15 @@
</entry>
<entry>
<key type="numeric" value="25618" />
- <val type="dict" id="151371396" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140030060" >
- <item type="dict" id="151372636" >
+ <val type="dict" id="46400912" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513400" >
+ <item type="dict" id="46452128" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -752,7 +752,7 @@
<val type="string" value="Number of Analogue Outputs 32 Bit" />
</entry>
</item>
- <item type="dict" id="151372908" >
+ <item type="dict" id="46452416" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -788,15 +788,15 @@
</entry>
<entry>
<key type="numeric" value="24835" />
- <val type="dict" id="151371956" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021708" >
- <item type="dict" id="151373044" >
+ <val type="dict" id="45914048" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512032" >
+ <item type="dict" id="45914336" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -814,7 +814,7 @@
<val type="string" value="Number of Input 16 bit" />
</entry>
</item>
- <item type="dict" id="151373316" >
+ <item type="dict" id="46400624" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -850,15 +850,15 @@
</entry>
<entry>
<key type="numeric" value="25620" />
- <val type="dict" id="151372364" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021740" >
- <item type="dict" id="151373452" >
+ <val type="dict" id="46446112" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512752" >
+ <item type="dict" id="46280624" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -876,7 +876,7 @@
<val type="string" value="Number of Analogue Outputs" />
</entry>
</item>
- <item type="dict" id="151373724" >
+ <item type="dict" id="46417840" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -912,15 +912,15 @@
</entry>
<entry>
<key type="numeric" value="25088" />
- <val type="dict" id="151372772" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021164" >
- <item type="dict" id="151373860" >
+ <val type="dict" id="45347120" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513040" >
+ <item type="dict" id="46329888" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -938,7 +938,7 @@
<val type="string" value="Number of Output 8 Bit" />
</entry>
</item>
- <item type="dict" id="151374132" >
+ <item type="dict" id="46444064" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -974,15 +974,15 @@
</entry>
<entry>
<key type="numeric" value="25603" />
- <val type="dict" id="151373180" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021324" >
- <item type="dict" id="151374268" >
+ <val type="dict" id="45341216" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512824" >
+ <item type="dict" id="45861408" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1000,7 +1000,7 @@
<val type="string" value="Number of Analogue Input Float" />
</entry>
</item>
- <item type="dict" id="151374540" >
+ <item type="dict" id="45571648" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1035,16 +1035,78 @@
</val>
</entry>
<entry>
+ <key type="numeric" value="25378" />
+ <val type="dict" id="46841872" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503120" >
+ <item type="dict" id="46842160" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 32 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46842448" >
+ <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="151373996" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021644" >
- <item type="dict" id="151375084" >
+ <val type="dict" id="46912576" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503048" >
+ <item type="dict" id="46912864" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1062,7 +1124,7 @@
<val type="string" value="Number of Output 16 Bit" />
</entry>
</item>
- <item type="dict" id="151375356" >
+ <item type="dict" id="46913152" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1098,7 +1160,7 @@
</entry>
<entry>
<key type="numeric" value="24608" />
- <val type="dict" id="151374404" >
+ <val type="dict" id="45610288" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -1113,8 +1175,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="140030540" >
- <item type="dict" id="151375492" >
+ <val type="list" id="46518928" >
+ <item type="dict" id="46280128" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1132,7 +1194,7 @@
<val type="string" value="Number of Input 1 bit" />
</entry>
</item>
- <item type="dict" id="151375916" >
+ <item type="dict" id="45418800" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1168,15 +1230,15 @@
</entry>
<entry>
<key type="numeric" value="25633" />
- <val type="dict" id="151370172" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140030828" >
- <item type="dict" id="151376052" >
+ <val type="dict" id="45500336" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512464" >
+ <item type="dict" id="45628304" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1194,7 +1256,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151376324" >
+ <item type="dict" id="46139248" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1230,15 +1292,15 @@
</entry>
<entry>
<key type="numeric" value="24866" />
- <val type="dict" id="151374812" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140030732" >
- <item type="dict" id="151376460" >
+ <val type="dict" id="45558736" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46514120" >
+ <item type="dict" id="45404464" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1256,7 +1318,7 @@
<val type="string" value="Number of Input 32 bit" />
</entry>
</item>
- <item type="dict" id="151376732" >
+ <item type="dict" id="44824048" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1292,15 +1354,15 @@
</entry>
<entry>
<key type="numeric" value="24867" />
- <val type="dict" id="151375628" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140019436" >
- <item type="dict" id="151376868" >
+ <val type="dict" id="46394080" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518424" >
+ <item type="dict" id="45093088" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1318,7 +1380,7 @@
<val type="string" value="Number of Input 32 bit" />
</entry>
</item>
- <item type="dict" id="151377140" >
+ <item type="dict" id="45614384" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1354,15 +1416,15 @@
</entry>
<entry>
<key type="numeric" value="25636" />
- <val type="dict" id="151376188" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140031020" >
- <item type="dict" id="151377276" >
+ <val type="dict" id="45419712" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496296" >
+ <item type="dict" id="46459776" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1380,7 +1442,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151377548" >
+ <item type="dict" id="46460064" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1416,15 +1478,15 @@
</entry>
<entry>
<key type="numeric" value="24838" />
- <val type="dict" id="151376596" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140032172" >
- <item type="dict" id="151377684" >
+ <val type="dict" id="45509680" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505064" >
+ <item type="dict" id="45892784" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1442,7 +1504,7 @@
<val type="string" value="Number of Input 16 bit" />
</entry>
</item>
- <item type="dict" id="151377956" >
+ <item type="dict" id="44927216" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1478,15 +1540,15 @@
</entry>
<entry>
<key type="numeric" value="25638" />
- <val type="dict" id="151377004" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140032812" >
- <item type="dict" id="151378092" >
+ <val type="dict" id="45639808" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496224" >
+ <item type="dict" id="45880768" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1504,7 +1566,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151378364" >
+ <item type="dict" id="47237920" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1540,15 +1602,15 @@
</entry>
<entry>
<key type="numeric" value="25383" />
- <val type="dict" id="151377412" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140032652" >
- <item type="dict" id="151378500" >
+ <val type="dict" id="47101952" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46511456" >
+ <item type="dict" id="44928544" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1566,7 +1628,7 @@
<val type="string" value="Number of Output 32 Bit" />
</entry>
</item>
- <item type="dict" id="151378772" >
+ <item type="dict" id="47265280" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1602,15 +1664,15 @@
</entry>
<entry>
<key type="numeric" value="25640" />
- <val type="dict" id="151377820" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140032492" >
- <item type="dict" id="151378908" >
+ <val type="dict" id="45532192" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518568" >
+ <item type="dict" id="47031872" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1628,7 +1690,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151379180" >
+ <item type="dict" id="45757584" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1664,15 +1726,15 @@
</entry>
<entry>
<key type="numeric" value="25641" />
- <val type="dict" id="151378228" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358220" >
- <item type="dict" id="151379316" >
+ <val type="dict" id="45955552" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46512608" >
+ <item type="dict" id="46898224" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1690,7 +1752,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151379588" >
+ <item type="dict" id="45551376" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1726,15 +1788,15 @@
</entry>
<entry>
<key type="numeric" value="25642" />
- <val type="dict" id="151378636" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358060" >
- <item type="dict" id="151379724" >
+ <val type="dict" id="46134672" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46511600" >
+ <item type="dict" id="44679392" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1752,7 +1814,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151384244" >
+ <item type="dict" id="45946160" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1788,15 +1850,15 @@
</entry>
<entry>
<key type="numeric" value="25643" />
- <val type="dict" id="151379044" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151357772" >
- <item type="dict" id="151384380" >
+ <val type="dict" id="46973968" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513256" >
+ <item type="dict" id="46369904" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1814,7 +1876,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151384652" >
+ <item type="dict" id="47189472" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1850,15 +1912,15 @@
</entry>
<entry>
<key type="numeric" value="25644" />
- <val type="dict" id="151379452" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151357900" >
- <item type="dict" id="151384788" >
+ <val type="dict" id="45914944" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46511168" >
+ <item type="dict" id="45331536" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1876,7 +1938,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151385060" >
+ <item type="dict" id="45331824" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1912,15 +1974,15 @@
</entry>
<entry>
<key type="numeric" value="25645" />
- <val type="dict" id="151384108" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358188" >
- <item type="dict" id="151385196" >
+ <val type="dict" id="45911168" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46510952" >
+ <item type="dict" id="45911456" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -1938,7 +2000,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151385468" >
+ <item type="dict" id="46328352" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -1974,15 +2036,15 @@
</entry>
<entry>
<key type="numeric" value="25646" />
- <val type="dict" id="151384516" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358444" >
- <item type="dict" id="151385604" >
+ <val type="dict" id="45428176" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46510736" >
+ <item type="dict" id="45428464" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2000,7 +2062,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151385876" >
+ <item type="dict" id="46265488" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2036,15 +2098,15 @@
</entry>
<entry>
<key type="numeric" value="25647" />
- <val type="dict" id="151384924" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358412" >
- <item type="dict" id="151386012" >
+ <val type="dict" id="46265824" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46510520" >
+ <item type="dict" id="46338624" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2062,7 +2124,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151386284" >
+ <item type="dict" id="46338912" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2098,7 +2160,7 @@
</entry>
<entry>
<key type="numeric" value="24624" />
- <val type="dict" id="151385332" >
+ <val type="dict" id="45346336" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -2113,8 +2175,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151358476" >
- <item type="dict" id="151386420" >
+ <val type="list" id="46510232" >
+ <item type="dict" id="45346624" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2132,7 +2194,7 @@
<val type="string" value="Number of Input 1 bit" />
</entry>
</item>
- <item type="dict" id="151386692" >
+ <item type="dict" id="47250976" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2168,15 +2230,15 @@
</entry>
<entry>
<key type="numeric" value="25352" />
- <val type="dict" id="151375220" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151357804" >
- <item type="dict" id="151386828" >
+ <val type="dict" id="47251264" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505928" >
+ <item type="dict" id="47094672" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2194,7 +2256,7 @@
<val type="string" value="Number of Output 16 Bit" />
</entry>
</item>
- <item type="dict" id="151387100" >
+ <item type="dict" id="47094960" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2230,15 +2292,15 @@
</entry>
<entry>
<key type="numeric" value="25650" />
- <val type="dict" id="151385740" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358508" >
- <item type="dict" id="151387236" >
+ <val type="dict" id="47232800" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505208" >
+ <item type="dict" id="47233088" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2256,7 +2318,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151387508" >
+ <item type="dict" id="47248160" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2291,70 +2353,132 @@
</val>
</entry>
<entry>
- <key type="numeric" value="25350" />
- <val type="dict" id="151397892" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359084" >
- <item type="dict" id="151398980" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 16 Bit" />
- </entry>
- </item>
- <item type="dict" id="151399252" >
- <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="25200" />
- <val type="dict" id="151409092" >
+ <key type="numeric" value="25090" />
+ <val type="dict" id="46781216" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46502544" >
+ <item type="dict" id="46781504" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 8 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46781792" >
+ <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="25096" />
+ <val type="dict" id="47326048" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505352" >
+ <item type="dict" id="47326336" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 8 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46368576" >
+ <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="46368912" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -2369,26 +2493,26 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151388460" >
- <item type="dict" id="151410180" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 1 Bit" />
- </entry>
- </item>
- <item type="dict" id="151410452" >
+ <val type="list" id="46512248" >
+ <item type="dict" id="46369200" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Input 1 bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46402304" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2403,7 +2527,7 @@
</entry>
<entry>
<key type="string" value="name" />
- <val type="string" value="Filter Constant Outputs 0x%X[((idx-1)*128+sub)]" />
+ <val type="string" value="Filter Constant Input bit 0x%X[((idx-1)*128+sub)]" />
</entry>
<entry>
<key type="string" value="nbmax" />
@@ -2418,75 +2542,137 @@
</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="25096" />
- <val type="dict" id="151386964" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358572" >
- <item type="dict" id="151392300" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 8 Bit" />
- </entry>
- </item>
- <item type="dict" id="151392572" >
- <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="151387372" >
+ <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="46917632" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46504848" >
+ <item type="dict" id="46917920" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Input 32 bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46918208" >
+ <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="25351" />
+ <val type="dict" id="46907360" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46495864" >
+ <item type="dict" id="46907648" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 16 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46907984" >
+ <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="25152" />
+ <val type="dict" id="47263552" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -2501,26 +2687,26 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151358604" >
- <item type="dict" id="151392708" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Input 1 bit" />
- </entry>
- </item>
- <item type="dict" id="151392980" >
+ <val type="list" id="46504272" >
+ <item type="dict" id="47263840" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 1 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="47264176" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2535,7 +2721,7 @@
</entry>
<entry>
<key type="string" value="name" />
- <val type="string" value="Filter Constant Input bit 0x%X[((idx-1)*128+sub)]" />
+ <val type="string" value="Write Outputs 0x%X[((idx-1)*128+sub)]" />
</entry>
<entry>
<key type="string" value="nbmax" />
@@ -2550,21 +2736,393 @@
</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="25639" />
- <val type="dict" id="151408124" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388396" >
- <item type="dict" id="151409364" >
+ <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="46269200" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46504128" >
+ <item type="dict" id="46844832" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Input 32 bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46845168" >
+ <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="46845456" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503984" >
+ <item type="dict" id="46845744" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46846080" >
+ <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="46765072" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503840" >
+ <item type="dict" id="46765360" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46765696" >
+ <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="46765984" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503696" >
+ <item type="dict" id="46766272" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46766608" >
+ <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="4" />
+ </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="46766944" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503552" >
+ <item type="dict" id="47134240" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="47134528" >
+ <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 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="47134816" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46497520" >
+ <item type="dict" id="47135104" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="47135392" >
+ <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="47135728" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503264" >
+ <item type="dict" id="47136016" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2582,7 +3140,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151409636" >
+ <item type="dict" id="47136304" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2608,79 +3166,17 @@
</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="24872" />
- <val type="dict" id="151406492" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388492" >
- <item type="dict" id="151410588" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Input 32 bit" />
- </entry>
- </item>
- <item type="dict" id="151410860" >
- <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="25152" />
- <val type="dict" id="151387780" >
+ <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="46790576" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -2695,26 +3191,26 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151358668" >
- <item type="dict" id="151393524" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 1 Bit" />
- </entry>
- </item>
- <item type="dict" id="151393796" >
+ <val type="list" id="46502184" >
+ <item type="dict" id="46790864" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Input 1 bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46791200" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2729,7 +3225,7 @@
</entry>
<entry>
<key type="string" value="name" />
- <val type="string" value="Write Outputs 0x%X[((idx-1)*128+sub)]" />
+ <val type="string" value="Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]" />
</entry>
<entry>
<key type="string" value="nbmax" />
@@ -2744,21 +3240,371 @@
</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="151392436" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358700" >
- <item type="dict" id="151393932" >
+ <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="46840960" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44121552" >
+ <item type="dict" id="46841248" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 8 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46841536" >
+ <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="46840048" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46503336" >
+ <item type="dict" id="46840336" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Interrupt Source Bank" />
+ </entry>
+ </item>
+ <item type="dict" id="46840624" >
+ <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="46908320" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44207856" >
+ <item type="dict" id="46908608" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 32 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46908896" >
+ <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="46780352" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46513976" >
+ <item type="dict" id="46780640" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46780928" >
+ <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="47248496" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505568" >
+ <item type="dict" id="47240992" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 16 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="47241280" >
+ <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="46782128" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46495432" >
+ <item type="dict" id="46782416" >
+ <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="24870" />
+ <val type="dict" id="46918496" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46495792" >
+ <item type="dict" id="46906736" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -2776,7 +3622,7 @@
<val type="string" value="Number of Input 32 bit" />
</entry>
</item>
- <item type="dict" id="151394204" >
+ <item type="dict" id="46907072" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -2791,802 +3637,18 @@
</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="151392844" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358732" >
- <item type="dict" id="151394340" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151394612" >
- <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="151393660" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358764" >
- <item type="dict" id="151394748" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151395020" >
- <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="151394068" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358796" >
- <item type="dict" id="151395156" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151395428" >
- <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="4" />
- </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="151394476" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358828" >
- <item type="dict" id="151395564" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151395836" >
- <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 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="151394884" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358860" >
- <item type="dict" id="151395972" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151396396" >
- <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="151395292" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358956" >
- <item type="dict" id="151396532" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Inputs" />
- </entry>
- </item>
- <item type="dict" id="151396804" >
- <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="25634" />
- <val type="dict" id="151396108" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358380" >
- <item type="dict" id="151397756" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Interrupt Source Bank" />
- </entry>
- </item>
- <item type="dict" id="151398028" >
- <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="25094" />
- <val type="dict" id="151393252" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358988" >
- <item type="dict" id="151397348" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 8 Bit" />
- </entry>
- </item>
- <item type="dict" id="151397620" >
- <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="25378" />
- <val type="dict" id="151373588" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="140021452" >
- <item type="dict" id="151374676" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 32 Bit" />
- </entry>
- </item>
- <item type="dict" id="151374948" >
- <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="25680" />
- <val type="dict" id="151397484" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359116" >
- <item type="dict" id="151398572" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151398844" >
- <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="25090" />
- <val type="dict" id="151386556" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358540" >
- <item type="dict" id="151387644" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 8 Bit" />
- </entry>
- </item>
- <item type="dict" id="151387916" >
- <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="25635" />
- <val type="dict" id="151398300" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359180" >
- <item type="dict" id="151399388" >
- <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="25601" />
- <val type="dict" id="151408684" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388428" >
- <item type="dict" id="151409772" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Input 16 Bit" />
- </entry>
- </item>
- <item type="dict" id="151410044" >
- <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="3" />
- </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" />
+ <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" />
@@ -3596,7 +3658,7 @@
</entry>
<entry>
<key type="numeric" value="25120" />
- <val type="dict" id="151399932" >
+ <val type="dict" id="46783664" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -3611,8 +3673,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151359052" >
- <item type="dict" id="151396668" >
+ <val type="list" id="46502328" >
+ <item type="dict" id="46783952" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -3630,7 +3692,7 @@
<val type="string" value="Number of Output 1 Bit" />
</entry>
</item>
- <item type="dict" id="151404588" >
+ <item type="dict" id="46413408" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -3666,15 +3728,15 @@
</entry>
<entry>
<key type="numeric" value="25600" />
- <val type="dict" id="151399796" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359212" >
- <item type="dict" id="151404724" >
+ <val type="dict" id="46414480" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44208000" >
+ <item type="dict" id="46414768" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -3692,7 +3754,7 @@
<val type="string" value="Number of Analogue Input 8 Bit" />
</entry>
</item>
- <item type="dict" id="151404996" >
+ <item type="dict" id="46415104" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -3727,8 +3789,194 @@
</val>
</entry>
<entry>
+ <key type="numeric" value="25346" />
+ <val type="dict" id="46417088" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46511744" >
+ <item type="dict" id="46788128" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 16 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46788464" >
+ <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="46788800" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46502040" >
+ <item type="dict" id="46789088" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Outputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46789376" >
+ <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="4" />
+ </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="46789712" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46497736" >
+ <item type="dict" id="46790000" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 32 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46790288" >
+ <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="151405676" >
+ <val type="dict" id="46415440" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -3743,8 +3991,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151388268" >
- <item type="dict" id="151406764" >
+ <val type="list" id="46511888" >
+ <item type="dict" id="46415728" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -3762,7 +4010,7 @@
<val type="string" value="Number of Output 1 Bit" />
</entry>
</item>
- <item type="dict" id="151407036" >
+ <item type="dict" id="46416016" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -3797,194 +4045,8 @@
</val>
</entry>
<entry>
- <key type="numeric" value="25346" />
- <val type="dict" id="151400204" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359276" >
- <item type="dict" id="151405540" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 16 Bit" />
- </entry>
- </item>
- <item type="dict" id="151405812" >
- <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="151404860" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359308" >
- <item type="dict" id="151405948" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Outputs" />
- </entry>
- </item>
- <item type="dict" id="151406220" >
- <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="4" />
- </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="151405268" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359340" >
- <item type="dict" id="151406356" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 32 Bit" />
- </entry>
- </item>
- <item type="dict" id="151406628" >
- <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="24672" />
- <val type="dict" id="151395700" >
+ <key type="numeric" value="24656" />
+ <val type="dict" id="46792272" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -3999,8 +4061,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151358924" >
- <item type="dict" id="151396940" >
+ <val type="list" id="46502832" >
+ <item type="dict" id="46792560" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4018,7 +4080,7 @@
<val type="string" value="Number of Input 1 bit" />
</entry>
</item>
- <item type="dict" id="151397212" >
+ <item type="dict" id="46792896" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4048,13 +4110,385 @@
</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="24656" />
- <val type="dict" id="151399524" >
+ <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="46793184" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46497088" >
+ <item type="dict" id="46914224" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Input 32 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46914560" >
+ <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="4" />
+ </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="25382" />
+ <val type="dict" id="46914896" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496872" >
+ <item type="dict" id="46915184" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 32 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46915472" >
+ <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="25649" />
+ <val type="dict" id="46915808" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496728" >
+ <item type="dict" id="46916096" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Inputs" />
+ </entry>
+ </item>
+ <item type="dict" id="46916384" >
+ <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="4" />
+ </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="46916720" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496152" >
+ <item type="dict" id="46917008" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 8 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46917296" >
+ <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="46402592" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46504632" >
+ <item type="dict" id="46402880" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Inputs" />
+ </entry>
+ </item>
+ <item type="dict" id="47097376" >
+ <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="46782704" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46502400" >
+ <item type="dict" id="46782992" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Analogue Input 16 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="46783328" >
+ <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="3" />
+ </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="47234848" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -4069,26 +4503,26 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151388332" >
- <item type="dict" id="151407172" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Input 1 bit" />
- </entry>
- </item>
- <item type="dict" id="151407444" >
+ <val type="list" id="46502760" >
+ <item type="dict" id="47235136" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Output 1 Bit" />
+ </entry>
+ </item>
+ <item type="dict" id="47325760" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4103,7 +4537,7 @@
</entry>
<entry>
<key type="string" value="name" />
- <val type="string" value="Interrupt Mask Any Change Input bit 0x%X[((idx-1)*128+sub)]" />
+ <val type="string" value="Filter Constant Outputs 0x%X[((idx-1)*128+sub)]" />
</entry>
<entry>
<key type="string" value="nbmax" />
@@ -4118,101 +4552,39 @@
</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="151399116" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388204" >
- <item type="dict" id="151407580" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Input 32 Bit" />
- </entry>
- </item>
- <item type="dict" id="151407852" >
- <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="4" />
- </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="25382" />
- <val type="dict" id="151398708" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359244" >
- <item type="dict" id="151405132" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 32 Bit" />
- </entry>
- </item>
- <item type="dict" id="151405404" >
+ <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="47097712" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46504416" >
+ <item type="dict" id="47098000" >
+ <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="5" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string" value="Number of Input 32 bit" />
+ </entry>
+ </item>
+ <item type="dict" id="47263264" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4227,390 +4599,18 @@
</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="25649" />
- <val type="dict" id="151407308" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388236" >
- <item type="dict" id="151408396" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Analogue Inputs" />
- </entry>
- </item>
- <item type="dict" id="151408820" >
- <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="4" />
- </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="151407716" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388364" >
- <item type="dict" id="151408956" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 8 Bit" />
- </entry>
- </item>
- <item type="dict" id="151409228" >
- <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="24871" />
- <val type="dict" id="151369492" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358636" >
- <item type="dict" id="151393116" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Input 32 bit" />
- </entry>
- </item>
- <item type="dict" id="151393388" >
- <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="24870" />
- <val type="dict" id="151406084" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388300" >
- <item type="dict" id="151407988" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Input 32 bit" />
- </entry>
- </item>
- <item type="dict" id="151408260" >
- <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="25351" />
- <val type="dict" id="151399660" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151357932" >
- <item type="dict" id="151400068" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 16 Bit" />
- </entry>
- </item>
- <item type="dict" id="151386148" >
- <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="25384" />
- <val type="dict" id="151397076" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359020" >
- <item type="dict" id="151398164" >
- <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="5" />
- </entry>
- <entry>
- <key type="string" value="name" />
- <val type="string" value="Number of Output 32 Bit" />
- </entry>
- </item>
- <item type="dict" id="151398436" >
- <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" />
+ <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" />
@@ -4620,15 +4620,15 @@
</entry>
<entry>
<key type="numeric" value="25619" />
- <val type="dict" id="151409500" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388524" >
- <item type="dict" id="151410996" >
+ <val type="dict" id="46909232" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46505424" >
+ <item type="dict" id="46909520" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4646,7 +4646,7 @@
<val type="string" value="Number of Analogue Outputs Float" />
</entry>
</item>
- <item type="dict" id="151411268" >
+ <item type="dict" id="46909808" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4682,7 +4682,7 @@
</entry>
<entry>
<key type="numeric" value="25168" />
- <val type="dict" id="151410316" >
+ <val type="dict" id="46910144" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -4697,8 +4697,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151388556" >
- <item type="dict" id="151411404" >
+ <val type="list" id="44128376" >
+ <item type="dict" id="46910432" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4716,7 +4716,7 @@
<val type="string" value="Number of Output 1 Bit" />
</entry>
</item>
- <item type="dict" id="151411676" >
+ <item type="dict" id="46910720" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4752,15 +4752,15 @@
</entry>
<entry>
<key type="numeric" value="24839" />
- <val type="dict" id="151406900" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388588" >
- <item type="dict" id="151411812" >
+ <val type="dict" id="46911792" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46496008" >
+ <item type="dict" id="46912080" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4778,7 +4778,7 @@
<val type="string" value="Number of Input 16 bit" />
</entry>
</item>
- <item type="dict" id="151412084" >
+ <item type="dict" id="46405376" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4814,15 +4814,15 @@
</entry>
<entry>
<key type="numeric" value="25671" />
- <val type="dict" id="151410724" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388620" >
- <item type="dict" id="151412220" >
+ <val type="dict" id="46405712" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46504776" >
+ <item type="dict" id="46406000" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4840,7 +4840,7 @@
<val type="string" value="Number of Analogue Outputs" />
</entry>
</item>
- <item type="dict" id="151412492" >
+ <item type="dict" id="46406288" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4876,15 +4876,15 @@
</entry>
<entry>
<key type="numeric" value="25637" />
- <val type="dict" id="151411540" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388652" >
- <item type="dict" id="151412780" >
+ <val type="dict" id="46406624" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46497304" >
+ <item type="dict" id="46406912" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4902,7 +4902,7 @@
<val type="string" value="Number of Analogue Inputs" />
</entry>
</item>
- <item type="dict" id="151413052" >
+ <item type="dict" id="46407200" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -4938,7 +4938,7 @@
</entry>
<entry>
<key type="numeric" value="24688" />
- <val type="dict" id="151411948" >
+ <val type="dict" id="46407536" >
<entry>
<key type="string" value="incr" />
<val type="numeric" value="1" />
@@ -4953,8 +4953,8 @@
</entry>
<entry>
<key type="string" value="values" />
- <val type="list" id="151388684" >
- <item type="dict" id="151413188" >
+ <val type="list" id="46513472" >
+ <item type="dict" id="46407824" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -4972,7 +4972,7 @@
<val type="string" value="Number of Input 1 bit" />
</entry>
</item>
- <item type="dict" id="151413460" >
+ <item type="dict" id="46408112" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5007,8 +5007,8 @@
</val>
</entry>
</attr>
-<attr name="Description" type="string" value="" />
-<attr name="Dictionary" type="dict" id="151411132" >
+<attr name="Description" type="string"></attr>
+<attr name="Dictionary" type="dict" id="46409184" >
<entry>
<key type="numeric" value="4096" />
<val type="numeric" value="301" />
@@ -5054,8 +5054,17 @@
<val type="numeric" value="0" />
</entry>
<entry>
- <key type="numeric" value="4112" />
- <val type="list" id="140020748" >
+ <key type="numeric" value="8203" />
+ <val type="numeric" value="0" />
+ </entry>
+ <entry>
+ <key type="numeric" value="8204" />
+ <val type="numeric" value="0" />
+ </entry>
+ <entry>
+ <key type="numeric" value="5122" />
+ <val type="list" id="46522024" >
+ <item type="numeric" value="1025" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -5063,8 +5072,8 @@
</val>
</entry>
<entry>
- <key type="numeric" value="4113" />
- <val type="list" id="151388844" >
+ <key type="numeric" value="4112" />
+ <val type="list" id="46521016" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -5072,14 +5081,8 @@
</val>
</entry>
<entry>
- <key type="numeric" value="4118" />
- <val type="list" id="151388716" >
- <item type="numeric" value="132572" />
- </val>
- </entry>
- <entry>
- <key type="numeric" value="4120" />
- <val type="list" id="140019276" >
+ <key type="numeric" value="4113" />
+ <val type="list" id="46520944" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -5087,8 +5090,33 @@
</val>
</entry>
<entry>
+ <key type="numeric" value="5123" />
+ <val type="list" id="46520872" >
+ <item type="numeric" value="1154" />
+ <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="4118" />
+ <val type="list" id="46520656" >
+ <item type="numeric" value="132572" />
+ </val>
+ </entry>
+ <entry>
+ <key type="numeric" value="4120" />
+ <val type="list" id="46520728" >
+ <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="4736" />
- <val type="list" id="151388748" >
+ <val type="list" id="46520800" >
<item type="numeric" value="1538" />
<item type="numeric" value="1410" />
<item type="numeric" value="2" />
@@ -5100,7 +5128,7 @@
</entry>
<entry>
<key type="numeric" value="7970" />
- <val type="list" id="151388780" >
+ <val type="list" id="46520584" >
<item type="string" value="" />
<item type="string" value="\x01\x00\x00\x00\x17\x10\x00\x02\x00\x00\x00\xe8\x03" />
</val>
@@ -5115,8 +5143,8 @@
</entry>
<entry>
<key type="numeric" value="5120" />
- <val type="list" id="151389100" >
- <item type="numeric" value="386" />
+ <val type="list" id="46520512" >
+ <item type="string" value="{True:self.ID+(base+2)*0x100,False:0}[base<4]" />
<item type="numeric" value="1" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -5125,7 +5153,7 @@
</entry>
<entry>
<key type="numeric" value="5632" />
- <val type="list" id="151388940" >
+ <val type="list" id="46520440" >
<item type="numeric" value="536870913" />
<item type="numeric" value="536936449" />
<item type="numeric" value="537001985" />
@@ -5144,25 +5172,37 @@
</entry>
<entry>
<key type="numeric" value="5121" />
- <val type="list" id="151389004" >
+ <val type="list" id="46520368" >
+ <item type="string" value="{True:self.ID+(base+2)*0x100,False:0}[base<4]" />
<item type="numeric" value="0" />
<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="5633" />
- <val type="list" id="151389068" >
+ <val type="list" id="46520296" >
<item type="numeric" value="537526288" />
</val>
</entry>
+ <entry>
+ <key type="numeric" value="5635" />
+ <val type="list" id="46520224" >
+ <item type="numeric" value="537657360" />
+ </val>
+ </entry>
+ <entry>
+ <key type="numeric" value="5634" />
+ <val type="list" id="46520008" >
+ <item type="numeric" value="537591824" />
+ </val>
+ </entry>
</attr>
-<attr name="SpecificMenu" type="list" id="140020332" >
- <item type="tuple" id="151357996" >
+<attr name="SpecificMenu" type="list" id="46520080" >
+ <item type="tuple" id="42137936" >
<item type="string" value="Read Input Bit" />
- <item type="list" id="151389036" >
+ <item type="list" id="46519936" >
<item type="numeric" value="24608" />
<item type="numeric" value="24624" />
<item type="numeric" value="24632" />
@@ -5171,9 +5211,9 @@
<item type="numeric" value="24688" />
</item>
</item>
- <item type="tuple" id="151357868" >
+ <item type="tuple" id="42135992" >
<item type="string" value="Write Output Bit" />
- <item type="list" id="151388908" >
+ <item type="list" id="46520152" >
<item type="numeric" value="25120" />
<item type="numeric" value="25152" />
<item type="numeric" value="25168" />
@@ -5182,20 +5222,20 @@
</item>
</item>
</attr>
-<attr name="ParamsDictionary" type="dict" id="152303924" >
+<attr name="ParamsDictionary" type="dict" id="45635056" >
</attr>
-<attr name="UserMapping" type="dict" id="151413732" >
+<attr name="UserMapping" type="dict" id="46409840" >
<entry>
<key type="numeric" value="8192" />
- <val type="dict" id="151413324" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151358348" >
- <item type="dict" id="151414412" >
+ <val type="dict" id="46410128" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519864" >
+ <item type="dict" id="46410416" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5227,15 +5267,15 @@
</entry>
<entry>
<key type="numeric" value="8193" />
- <val type="dict" id="151412356" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151357740" >
- <item type="dict" id="151413868" >
+ <val type="dict" id="46410752" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519792" >
+ <item type="dict" id="46411040" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5267,15 +5307,15 @@
</entry>
<entry>
<key type="numeric" value="8194" />
- <val type="dict" id="151414140" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389196" >
- <item type="dict" id="151409908" >
+ <val type="dict" id="46411328" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519648" >
+ <item type="dict" id="47330224" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5307,15 +5347,15 @@
</entry>
<entry>
<key type="numeric" value="8195" />
- <val type="dict" id="151414684" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151388972" >
- <item type="dict" id="151414548" >
+ <val type="dict" id="47330560" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519720" >
+ <item type="dict" id="47330848" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5347,15 +5387,15 @@
</entry>
<entry>
<key type="numeric" value="8196" />
- <val type="dict" id="151414956" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151359372" >
- <item type="dict" id="151414820" >
+ <val type="dict" id="47331184" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519576" >
+ <item type="dict" id="47331472" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5387,15 +5427,15 @@
</entry>
<entry>
<key type="numeric" value="8197" />
- <val type="dict" id="151415228" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389228" >
- <item type="dict" id="151415092" >
+ <val type="dict" id="47331936" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519360" >
+ <item type="dict" id="47332224" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5427,15 +5467,15 @@
</entry>
<entry>
<key type="numeric" value="8198" />
- <val type="dict" id="151415500" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389164" >
- <item type="dict" id="151415364" >
+ <val type="dict" id="47333472" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519504" >
+ <item type="dict" id="47333760" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5467,15 +5507,15 @@
</entry>
<entry>
<key type="numeric" value="8199" />
- <val type="dict" id="151415772" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389548" >
- <item type="dict" id="151415636" >
+ <val type="dict" id="46767408" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519072" >
+ <item type="dict" id="46767696" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5507,15 +5547,15 @@
</entry>
<entry>
<key type="numeric" value="8200" />
- <val type="dict" id="151416044" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389388" >
- <item type="dict" id="151415908" >
+ <val type="dict" id="46768160" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519000" >
+ <item type="dict" id="46768448" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5547,15 +5587,15 @@
</entry>
<entry>
<key type="numeric" value="8201" />
- <val type="dict" id="151416316" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389324" >
- <item type="dict" id="151416180" >
+ <val type="dict" id="46768912" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518856" >
+ <item type="dict" id="46769200" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5587,15 +5627,15 @@
</entry>
<entry>
<key type="numeric" value="8202" />
- <val type="dict" id="151416588" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389356" >
- <item type="dict" id="151416452" >
+ <val type="dict" id="46769664" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518496" >
+ <item type="dict" id="46769952" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5625,19 +5665,99 @@
</entry>
</val>
</entry>
+ <entry>
+ <key type="numeric" value="8203" />
+ <val type="dict" id="46770416" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518640" >
+ <item type="dict" id="46770704" >
+ <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="3" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">MasterMap12</val>
+ </entry>
+ </item>
+ </val>
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">MasterMap12</val>
+ </entry>
+ <entry>
+ <key type="string" value="struct" />
+ <val type="numeric" value="1" />
+ </entry>
+ </val>
+ </entry>
+ <entry>
+ <key type="numeric" value="8204" />
+ <val type="dict" id="46771104" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46518352" >
+ <item type="dict" id="46771392" >
+ <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="3" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">MasterMap13</val>
+ </entry>
+ </item>
+ </val>
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">MasterMap13</val>
+ </entry>
+ <entry>
+ <key type="string" value="struct" />
+ <val type="numeric" value="1" />
+ </entry>
+ </val>
+ </entry>
</attr>
-<attr name="DS302" type="dict" id="151417012" >
+<attr name="DS302" type="dict" id="46772576" >
<entry>
<key type="numeric" value="7968" />
- <val type="dict" id="151414004" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389644" >
- <item type="dict" id="151417692" >
+ <val type="dict" id="46772864" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46519216" >
+ <item type="dict" id="46773152" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -5655,7 +5775,7 @@
<val type="string" value="Number of Entries" />
</entry>
</item>
- <item type="dict" id="151417556" >
+ <item type="dict" id="46773488" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5691,15 +5811,15 @@
</entry>
<entry>
<key type="numeric" value="7969" />
- <val type="dict" id="151417148" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389612" >
- <item type="dict" id="151412916" >
+ <val type="dict" id="46773824" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="46522240" >
+ <item type="dict" id="46774112" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -5717,7 +5837,7 @@
<val type="string" value="Number of Entries" />
</entry>
</item>
- <item type="dict" id="151417964" >
+ <item type="dict" id="46774400" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5753,15 +5873,15 @@
</entry>
<entry>
<key type="numeric" value="7970" />
- <val type="dict" id="151414276" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="151389676" >
- <item type="dict" id="151418100" >
+ <val type="dict" id="46774736" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204832" >
+ <item type="dict" id="46775024" >
<entry>
<key type="string" value="access" />
<val type="string" value="ro" />
@@ -5779,7 +5899,7 @@
<val type="string" value="Number of Entries" />
</entry>
</item>
- <item type="dict" id="151418372" >
+ <item type="dict" id="46775312" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -5816,6 +5936,6 @@
</attr>
<attr name="ProfileName" type="string">DS-401</attr>
<attr name="Type" type="string">master</attr>
-<attr name="ID" type="numeric" value="1" />
+<attr name="ID" type="numeric" value="0" />
<attr name="Name" type="string">TestMaster</attr>
</PyObject>
--- a/examples/TestMasterSlave/TestSlave.c Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestSlave.c Mon Jul 02 18:22:58 2007 +0200
@@ -18,6 +18,7 @@
UNS32 SlaveMap10 = 0x0; /* Mapped at index 0x2009, subindex 0x00 */
UNS16 SlaveMap11 = 0x0; /* Mapped at index 0x200A, subindex 0x00 */
INTEGER16 SlaveMap12 = 0x0; /* Mapped at index 0x200B, subindex 0x00 */
+INTEGER16 SlaveMap13 = 0x4D2; /* Mapped at index 0x200C, subindex 0x00 */
/**************************************************************************/
/* Declaration of the value range types */
@@ -34,7 +35,7 @@
/* The node id */
/**************************************************************************/
/* node_id default value.*/
-UNS8 TestSlave_bDeviceNodeId = 0x00;
+UNS8 TestSlave_bDeviceNodeId = 0x02;
/**************************************************************************/
/* Array of message processing information */
@@ -181,6 +182,15 @@
UNS16 TestSlave_obj1800_Inhibit_Time = 0x0; /* 0 */
UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0; /* 0 */
UNS16 TestSlave_obj1800_Event_Timer = 0x0; /* 0 */
+ ODCallback_t TestSlave_Index1800_callbacks[] =
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ };
subindex TestSlave_Index1800[] =
{
{ RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1800 },
@@ -193,11 +203,20 @@
/* index 0x1801 : Transmit PDO 2 Parameter. */
UNS8 TestSlave_highestSubIndex_obj1801 = 5; /* number of subindex - 1*/
- UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x0; /* 0 */
+ UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x282; /* 642 */
UNS8 TestSlave_obj1801_Transmission_Type = 0x0; /* 0 */
UNS16 TestSlave_obj1801_Inhibit_Time = 0x0; /* 0 */
UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0; /* 0 */
UNS16 TestSlave_obj1801_Event_Timer = 0x0; /* 0 */
+ ODCallback_t TestSlave_Index1801_callbacks[] =
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ };
subindex TestSlave_Index1801[] =
{
{ RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1801 },
@@ -210,11 +229,20 @@
/* index 0x1802 : Transmit PDO 3 Parameter. */
UNS8 TestSlave_highestSubIndex_obj1802 = 5; /* number of subindex - 1*/
- UNS32 TestSlave_obj1802_COB_ID_used_by_PDO = 0x380; /* 896 */
+ UNS32 TestSlave_obj1802_COB_ID_used_by_PDO = 0x382; /* 898 */
UNS8 TestSlave_obj1802_Transmission_Type = 0xFF; /* 255 */
UNS16 TestSlave_obj1802_Inhibit_Time = 0x1388; /* 5000 */
UNS8 TestSlave_obj1802_Compatibility_Entry = 0x0; /* 0 */
UNS16 TestSlave_obj1802_Event_Timer = 0x3E8; /* 1000 */
+ ODCallback_t TestSlave_Index1802_callbacks[] =
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ };
subindex TestSlave_Index1802[] =
{
{ RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1802 },
@@ -225,6 +253,58 @@
{ RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1802_Event_Timer }
};
+/* index 0x1803 : Transmit PDO 4 Parameter. */
+ UNS8 TestSlave_highestSubIndex_obj1803 = 5; /* number of subindex - 1*/
+ UNS32 TestSlave_obj1803_COB_ID_used_by_PDO = 0x482; /* 1154 */
+ UNS8 TestSlave_obj1803_Transmission_Type = 0xFC; /* 252 */
+ UNS16 TestSlave_obj1803_Inhibit_Time = 0x0; /* 0 */
+ UNS8 TestSlave_obj1803_Compatibility_Entry = 0x0; /* 0 */
+ UNS16 TestSlave_obj1803_Event_Timer = 0x0; /* 0 */
+ ODCallback_t TestSlave_Index1803_callbacks[] =
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ };
+ subindex TestSlave_Index1803[] =
+ {
+ { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1803 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1803_COB_ID_used_by_PDO },
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Transmission_Type },
+ { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Inhibit_Time },
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1803_Compatibility_Entry },
+ { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1803_Event_Timer }
+ };
+
+/* index 0x1804 : Transmit PDO 5 Parameter. */
+ UNS8 TestSlave_highestSubIndex_obj1804 = 5; /* number of subindex - 1*/
+ UNS32 TestSlave_obj1804_COB_ID_used_by_PDO = 0x401; /* 1025 */
+ UNS8 TestSlave_obj1804_Transmission_Type = 0xFD; /* 253 */
+ UNS16 TestSlave_obj1804_Inhibit_Time = 0x0; /* 0 */
+ UNS8 TestSlave_obj1804_Compatibility_Entry = 0x0; /* 0 */
+ UNS16 TestSlave_obj1804_Event_Timer = 0x0; /* 0 */
+ ODCallback_t TestSlave_Index1804_callbacks[] =
+ {
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ };
+ subindex TestSlave_Index1804[] =
+ {
+ { RO, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1804 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1804_COB_ID_used_by_PDO },
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Transmission_Type },
+ { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Inhibit_Time },
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_obj1804_Compatibility_Entry },
+ { RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1804_Event_Timer }
+ };
+
/* index 0x1A00 : Transmit PDO 1 Mapping. */
UNS8 TestSlave_highestSubIndex_obj1A00 = 10; /* number of subindex - 1*/
UNS32 TestSlave_obj1A00[] =
@@ -279,6 +359,30 @@
{ RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A02[0] }
};
+/* index 0x1A03 : Transmit PDO 4 Mapping. */
+ UNS8 TestSlave_highestSubIndex_obj1A03 = 1; /* number of subindex - 1*/
+ UNS32 TestSlave_obj1A03[] =
+ {
+ 0x200C0010 /* 537657360 */
+ };
+ subindex TestSlave_Index1A03[] =
+ {
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A03 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A03[0] }
+ };
+
+/* index 0x1A04 : Transmit PDO 5 Mapping. */
+ UNS8 TestSlave_highestSubIndex_obj1A04 = 1; /* number of subindex - 1*/
+ UNS32 TestSlave_obj1A04[] =
+ {
+ 0x200C0010 /* 537657360 */
+ };
+ subindex TestSlave_Index1A04[] =
+ {
+ { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1A04 },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A04[0] }
+ };
+
/* index 0x2000 : Mapped variable SlaveMap1 */
subindex TestSlave_Index2000[] =
{
@@ -351,6 +455,12 @@
{ RW, int16, sizeof (INTEGER16), (void*)&SlaveMap12 }
};
+/* index 0x200C : Mapped variable SlaveMap13 */
+ subindex TestSlave_Index200C[] =
+ {
+ { RW, int16, sizeof (INTEGER16), (void*)&SlaveMap13 }
+ };
+
const indextable TestSlave_objdict[] =
{
{ (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
@@ -365,9 +475,13 @@
{ (subindex*)TestSlave_Index1800,sizeof(TestSlave_Index1800)/sizeof(TestSlave_Index1800[0]), 0x1800},
{ (subindex*)TestSlave_Index1801,sizeof(TestSlave_Index1801)/sizeof(TestSlave_Index1801[0]), 0x1801},
{ (subindex*)TestSlave_Index1802,sizeof(TestSlave_Index1802)/sizeof(TestSlave_Index1802[0]), 0x1802},
+ { (subindex*)TestSlave_Index1803,sizeof(TestSlave_Index1803)/sizeof(TestSlave_Index1803[0]), 0x1803},
+ { (subindex*)TestSlave_Index1804,sizeof(TestSlave_Index1804)/sizeof(TestSlave_Index1804[0]), 0x1804},
{ (subindex*)TestSlave_Index1A00,sizeof(TestSlave_Index1A00)/sizeof(TestSlave_Index1A00[0]), 0x1A00},
{ (subindex*)TestSlave_Index1A01,sizeof(TestSlave_Index1A01)/sizeof(TestSlave_Index1A01[0]), 0x1A01},
{ (subindex*)TestSlave_Index1A02,sizeof(TestSlave_Index1A02)/sizeof(TestSlave_Index1A02[0]), 0x1A02},
+ { (subindex*)TestSlave_Index1A03,sizeof(TestSlave_Index1A03)/sizeof(TestSlave_Index1A03[0]), 0x1A03},
+ { (subindex*)TestSlave_Index1A04,sizeof(TestSlave_Index1A04)/sizeof(TestSlave_Index1A04[0]), 0x1A04},
{ (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},
@@ -380,6 +494,7 @@
{ (subindex*)TestSlave_Index2009,sizeof(TestSlave_Index2009)/sizeof(TestSlave_Index2009[0]), 0x2009},
{ (subindex*)TestSlave_Index200A,sizeof(TestSlave_Index200A)/sizeof(TestSlave_Index200A[0]), 0x200A},
{ (subindex*)TestSlave_Index200B,sizeof(TestSlave_Index200B)/sizeof(TestSlave_Index200B[0]), 0x200B},
+ { (subindex*)TestSlave_Index200C,sizeof(TestSlave_Index200C)/sizeof(TestSlave_Index200C[0]), 0x200C},
};
const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
@@ -396,24 +511,29 @@
case 0x1017: i = 6;*callbacks = TestSlave_Index1017_callbacks; break;
case 0x1018: i = 7;break;
case 0x1200: i = 8;break;
- case 0x1800: i = 9;break;
- case 0x1801: i = 10;break;
- case 0x1802: i = 11;break;
- case 0x1A00: i = 12;break;
- case 0x1A01: i = 13;break;
- case 0x1A02: i = 14;break;
- case 0x2000: i = 15;break;
- case 0x2001: i = 16;break;
- case 0x2002: i = 17;break;
- case 0x2003: i = 18;break;
- case 0x2004: i = 19;break;
- case 0x2005: i = 20;break;
- case 0x2006: i = 21;break;
- case 0x2007: i = 22;break;
- case 0x2008: i = 23;break;
- case 0x2009: i = 24;break;
- case 0x200A: i = 25;break;
- case 0x200B: i = 26;break;
+ case 0x1800: i = 9;*callbacks = TestSlave_Index1800_callbacks; break;
+ case 0x1801: i = 10;*callbacks = TestSlave_Index1801_callbacks; break;
+ case 0x1802: i = 11;*callbacks = TestSlave_Index1802_callbacks; break;
+ case 0x1803: i = 12;*callbacks = TestSlave_Index1803_callbacks; break;
+ case 0x1804: i = 13;*callbacks = TestSlave_Index1804_callbacks; break;
+ case 0x1A00: i = 14;break;
+ case 0x1A01: i = 15;break;
+ case 0x1A02: i = 16;break;
+ case 0x1A03: i = 17;break;
+ case 0x1A04: i = 18;break;
+ case 0x2000: i = 19;break;
+ case 0x2001: i = 20;break;
+ case 0x2002: i = 21;break;
+ case 0x2003: i = 22;break;
+ case 0x2004: i = 23;break;
+ case 0x2005: i = 24;break;
+ case 0x2006: i = 25;break;
+ case 0x2007: i = 26;break;
+ case 0x2008: i = 27;break;
+ case 0x2009: i = 28;break;
+ case 0x200A: i = 29;break;
+ case 0x200B: i = 30;break;
+ case 0x200C: i = 31;break;
default:
*errorCode = OD_NO_SUCH_OBJECT;
return NULL;
@@ -427,7 +547,7 @@
* Even if no pdoTransmit are defined, at least one entry is computed
* for compilations issues.
*/
-s_PDO_status TestSlave_PDO_status[3] = {s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer};
+s_PDO_status TestSlave_PDO_status[5] = {s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer};
quick_index TestSlave_firstIndex = {
8, /* SDO_SVR */
@@ -435,7 +555,7 @@
0, /* PDO_RCV */
0, /* PDO_RCV_MAP */
9, /* PDO_TRS */
- 12 /* PDO_TRS_MAP */
+ 14 /* PDO_TRS_MAP */
};
quick_index TestSlave_lastIndex = {
@@ -443,8 +563,8 @@
0, /* SDO_CLT */
0, /* PDO_RCV */
0, /* PDO_RCV_MAP */
- 11, /* PDO_TRS */
- 14 /* PDO_TRS_MAP */
+ 13, /* PDO_TRS */
+ 18 /* PDO_TRS_MAP */
};
UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]);
--- a/examples/TestMasterSlave/TestSlave.h Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestSlave.h Mon Jul 02 18:22:58 2007 +0200
@@ -14,6 +14,11 @@
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 ODCallback_t Transmit_PDO_1_Parameter_callbacks[]; /* Callbacks of index0x1800 */
+extern ODCallback_t Transmit_PDO_2_Parameter_callbacks[]; /* Callbacks of index0x1801 */
+extern ODCallback_t Transmit_PDO_3_Parameter_callbacks[]; /* Callbacks of index0x1802 */
+extern ODCallback_t Transmit_PDO_4_Parameter_callbacks[]; /* Callbacks of index0x1803 */
+extern ODCallback_t Transmit_PDO_5_Parameter_callbacks[]; /* Callbacks of index0x1804 */
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*/
@@ -26,5 +31,6 @@
extern UNS32 SlaveMap10; /* Mapped at index 0x2009, subindex 0x00*/
extern UNS16 SlaveMap11; /* Mapped at index 0x200A, subindex 0x00*/
extern INTEGER16 SlaveMap12; /* Mapped at index 0x200B, subindex 0x00*/
+extern INTEGER16 SlaveMap13; /* Mapped at index 0x200C, subindex 0x00*/
#endif // TESTSLAVE_H
--- a/examples/TestMasterSlave/TestSlave.od Fri Jun 29 19:51:39 2007 +0200
+++ b/examples/TestMasterSlave/TestSlave.od Mon Jul 02 18:22:58 2007 +0200
@@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE PyObject SYSTEM "PyObjects.dtd">
-<PyObject module="node" class="Node" id="16608648">
-<attr name="Profile" type="dict" id="19295616" >
+<PyObject module="node" class="Node" id="44190968">
+<attr name="Profile" type="dict" id="45532192" >
</attr>
-<attr name="Name" type="string" value="TestSlave" />
-<attr name="Dictionary" type="dict" id="16868496" >
+<attr name="Name" type="string">TestSlave</attr>
+<attr name="Dictionary" type="dict" id="46134672" >
<entry>
<key type="numeric" value="4096" />
<val type="numeric" value="301" />
@@ -54,8 +54,12 @@
<val type="numeric" value="0" />
</entry>
<entry>
+ <key type="numeric" value="8204" />
+ <val type="numeric" value="1234" />
+ </entry>
+ <entry>
<key type="numeric" value="6146" />
- <val type="list" id="18608784" >
+ <val type="list" id="44160208" >
<item type="string" value="{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]" />
<item type="numeric" value="255" />
<item type="numeric" value="5000" />
@@ -65,7 +69,7 @@
</entry>
<entry>
<key type="numeric" value="4112" />
- <val type="list" id="16609864" >
+ <val type="list" id="44204760" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -74,7 +78,7 @@
</entry>
<entry>
<key type="numeric" value="4113" />
- <val type="list" id="16609720" >
+ <val type="list" id="44204112" >
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -83,13 +87,23 @@
</entry>
<entry>
<key type="numeric" value="6658" />
- <val type="list" id="18609144" >
+ <val type="list" id="44159992" >
<item type="numeric" value="537591824" />
</val>
</entry>
<entry>
+ <key type="numeric" value="6147" />
+ <val type="list" id="44190680" >
+ <item type="string" value="{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]" />
+ <item type="numeric" value="252" />
+ <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="16610080" >
+ <val type="list" id="44204472" >
<item type="numeric" value="1537" />
<item type="numeric" value="1409" />
</val>
@@ -100,8 +114,18 @@
</entry>
<entry>
<key type="numeric" value="4120" />
- <val type="list" id="16611376" >
- <item type="numeric" value="0" />
+ <val type="list" id="44204832" >
+ <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="6148" />
+ <val type="list" id="44191688" >
+ <item type="numeric" value="1025" />
+ <item type="numeric" value="253" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -120,22 +144,34 @@
<val type="numeric" value="0" />
</entry>
<entry>
+ <key type="numeric" value="6659" />
+ <val type="list" id="44204976" >
+ <item type="numeric" value="537657360" />
+ </val>
+ </entry>
+ <entry>
<key type="numeric" value="4102" />
<val type="numeric" value="0" />
</entry>
<entry>
<key type="numeric" value="6144" />
- <val type="list" id="16611448" >
- <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 type="list" id="44191616" >
+ <item type="string" value="{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]" />
+ <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="6660" />
+ <val type="list" id="44191040" >
+ <item type="numeric" value="537657360" />
</val>
</entry>
<entry>
<key type="numeric" value="6656" />
- <val type="list" id="16609936" >
+ <val type="list" id="44205120" >
<item type="numeric" value="536870913" />
<item type="numeric" value="536936449" />
<item type="numeric" value="537001985" />
@@ -150,8 +186,8 @@
</entry>
<entry>
<key type="numeric" value="6145" />
- <val type="list" id="16609432" >
- <item type="numeric" value="0" />
+ <val type="list" id="44205048" >
+ <item type="string" value="{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
<item type="numeric" value="0" />
@@ -160,17 +196,17 @@
</entry>
<entry>
<key type="numeric" value="6657" />
- <val type="list" id="16612384" >
+ <val type="list" id="44204904" >
<item type="numeric" value="537526288" />
</val>
</entry>
</attr>
-<attr name="SpecificMenu" type="list" id="16608288" >
+<attr name="SpecificMenu" type="list" id="44204688" >
</attr>
-<attr name="ParamsDictionary" type="dict" id="19297248" >
+<attr name="ParamsDictionary" type="dict" id="44502560" >
<entry>
<key type="numeric" value="8192" />
- <val type="dict" id="14729024" >
+ <val type="dict" id="46323360" >
<entry>
<key type="string" value="callback" />
<val type="False" value="" />
@@ -179,10 +215,10 @@
</entry>
<entry>
<key type="numeric" value="6144" />
- <val type="dict" id="17162800" >
+ <val type="dict" id="46134064" >
<entry>
<key type="numeric" value="2" />
- <val type="dict" id="19297824" >
+ <val type="dict" id="45517376" >
<entry>
<key type="string" value="save" />
<val type="True" value="" />
@@ -191,7 +227,7 @@
</entry>
<entry>
<key type="numeric" value="3" />
- <val type="dict" id="19605184" >
+ <val type="dict" id="45486528" >
<entry>
<key type="string" value="save" />
<val type="True" value="" />
@@ -202,10 +238,19 @@
</entry>
<entry>
<key type="numeric" value="6146" />
- <val type="dict" id="14214240" >
+ <val type="dict" id="45550400" >
+ <entry>
+ <key type="numeric" value="2" />
+ <val type="dict" id="45424304" >
+ <entry>
+ <key type="string" value="comment" />
+ <val type="string">EVENT</val>
+ </entry>
+ </val>
+ </entry>
<entry>
<key type="numeric" value="3" />
- <val type="dict" id="21063040" >
+ <val type="dict" id="44825120" >
<entry>
<key type="string" value="comment" />
<val type="string">5000*100 µC = 500 ms</val>
@@ -214,16 +259,16 @@
</entry>
<entry>
<key type="numeric" value="4" />
- <val type="dict" id="20146992" >
+ <val type="dict" id="45946192" >
<entry>
<key type="string" value="comment" />
- <val type="string"></val>
+ <val type="string" value="" />
</entry>
</val>
</entry>
<entry>
<key type="numeric" value="5" />
- <val type="dict" id="20159808" >
+ <val type="dict" id="45558240" >
<entry>
<key type="string" value="comment" />
<val type="string">1000 ms</val>
@@ -233,8 +278,36 @@
</val>
</entry>
<entry>
+ <key type="numeric" value="6147" />
+ <val type="dict" id="45381152" >
+ <entry>
+ <key type="numeric" value="2" />
+ <val type="dict" id="44869008" >
+ <entry>
+ <key type="string" value="comment" />
+ <val type="string">RTR_SYNC</val>
+ </entry>
+ </val>
+ </entry>
+ </val>
+ </entry>
+ <entry>
+ <key type="numeric" value="6148" />
+ <val type="dict" id="45645664" >
+ <entry>
+ <key type="numeric" value="2" />
+ <val type="dict" id="45619920" >
+ <entry>
+ <key type="string" value="comment" />
+ <val type="string">RTR</val>
+ </entry>
+ </val>
+ </entry>
+ </val>
+ </entry>
+ <entry>
<key type="numeric" value="4112" />
- <val type="dict" id="17144432" >
+ <val type="dict" id="45559424" >
<entry>
<key type="string" value="callback" />
<val type="True" value="" />
@@ -243,7 +316,7 @@
</entry>
<entry>
<key type="numeric" value="4113" />
- <val type="dict" id="17172352" >
+ <val type="dict" id="45758656" >
<entry>
<key type="string" value="callback" />
<val type="True" value="" />
@@ -252,7 +325,7 @@
</entry>
<entry>
<key type="numeric" value="4119" />
- <val type="dict" id="19297536" >
+ <val type="dict" id="45945616" >
<entry>
<key type="string" value="callback" />
<val type="True" value="" />
@@ -260,18 +333,18 @@
</val>
</entry>
</attr>
-<attr name="UserMapping" type="dict" id="16869072" >
+<attr name="UserMapping" type="dict" id="45618240" >
<entry>
<key type="numeric" value="8192" />
- <val type="dict" id="17170240" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16612600" >
- <item type="dict" id="19604864" >
+ <val type="dict" id="46144528" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204544" >
+ <item type="dict" id="46103712" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -303,15 +376,15 @@
</entry>
<entry>
<key type="numeric" value="8193" />
- <val type="dict" id="19607600" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16611232" >
- <item type="dict" id="17173712" >
+ <val type="dict" id="45619296" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204400" >
+ <item type="dict" id="46103424" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -343,15 +416,15 @@
</entry>
<entry>
<key type="numeric" value="8194" />
- <val type="dict" id="19605760" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16609008" >
- <item type="dict" id="16868784" >
+ <val type="dict" id="46142672" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204328" >
+ <item type="dict" id="45529040" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -383,15 +456,15 @@
</entry>
<entry>
<key type="numeric" value="8195" />
- <val type="dict" id="19606192" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16610872" >
- <item type="dict" id="17173424" >
+ <val type="dict" id="45620208" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204256" >
+ <item type="dict" id="46323648" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -423,15 +496,15 @@
</entry>
<entry>
<key type="numeric" value="8196" />
- <val type="dict" id="19716512" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16610584" >
- <item type="dict" id="19714784" >
+ <val type="dict" id="46100416" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44204184" >
+ <item type="dict" id="45805232" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -463,15 +536,15 @@
</entry>
<entry>
<key type="numeric" value="8197" />
- <val type="dict" id="19717280" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16613176" >
- <item type="dict" id="19716992" >
+ <val type="dict" id="46092800" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191544" >
+ <item type="dict" id="45757584" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -503,15 +576,15 @@
</entry>
<entry>
<key type="numeric" value="8198" />
- <val type="dict" id="19717728" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16611520" >
- <item type="dict" id="19715136" >
+ <val type="dict" id="46132560" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191472" >
+ <item type="dict" id="45619008" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -543,15 +616,15 @@
</entry>
<entry>
<key type="numeric" value="8199" />
- <val type="dict" id="19715776" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16606056" >
- <item type="dict" id="19715488" >
+ <val type="dict" id="46093776" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191400" >
+ <item type="dict" id="46135248" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -583,15 +656,15 @@
</entry>
<entry>
<key type="numeric" value="8200" />
- <val type="dict" id="19716064" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16610368" >
- <item type="dict" id="19718208" >
+ <val type="dict" id="45524512" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44190896" >
+ <item type="dict" id="46092448" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -623,15 +696,15 @@
</entry>
<entry>
<key type="numeric" value="8201" />
- <val type="dict" id="19721328" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16611088" >
- <item type="dict" id="19718608" >
+ <val type="dict" id="46139744" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191112" >
+ <item type="dict" id="46093376" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -663,15 +736,15 @@
</entry>
<entry>
<key type="numeric" value="8202" />
- <val type="dict" id="19721952" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="16610656" >
- <item type="dict" id="19721664" >
+ <val type="dict" id="46140816" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191328" >
+ <item type="dict" id="46098560" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -703,15 +776,15 @@
</entry>
<entry>
<key type="numeric" value="8203" />
- <val type="dict" id="20272576" >
- <entry>
- <key type="string" value="need" />
- <val type="False" value="" />
- </entry>
- <entry>
- <key type="string" value="values" />
- <val type="list" id="18679784" >
- <item type="dict" id="20295280" >
+ <val type="dict" id="45438400" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44191256" >
+ <item type="dict" id="43876288" >
<entry>
<key type="string" value="access" />
<val type="string" value="rw" />
@@ -741,10 +814,51 @@
</entry>
</val>
</entry>
+ <entry>
+ <key type="numeric" value="8204" />
+ <val type="dict" id="45591984" >
+ <entry>
+ <key type="string" value="need" />
+ <val type="False" value="" />
+ </entry>
+ <entry>
+ <key type="string" value="values" />
+ <val type="list" id="44128664" >
+ <item type="dict" id="45889536" >
+ <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="3" />
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">SlaveMap13</val>
+ </entry>
+ </item>
+ </val>
+ </entry>
+ <entry>
+ <key type="string" value="name" />
+ <val type="string">SlaveMap13</val>
+ </entry>
+ <entry>
+ <key type="string" value="struct" />
+ <val type="numeric" value="1" />
+ </entry>
+ </val>
+ </entry>
</attr>
-<attr name="DS302" type="dict" id="19720576" >
+<attr name="DS302" type="dict" id="45646224" >
</attr>
<attr name="ProfileName" type="string" value="DS-301" />
-<attr name="Type" type="string" value="slave" />
-<attr name="ID" type="numeric" value="0" />
+<attr name="Type" type="string">slave</attr>
+<attr name="ID" type="numeric" value="2" />
+<attr name="Description" type="string"></attr>
</PyObject>
--- a/include/pdo.h Fri Jun 29 19:51:39 2007 +0200
+++ b/include/pdo.h Mon Jul 02 18:22:58 2007 +0200
@@ -34,6 +34,7 @@
/* Status of the TPDO : */
#define PDO_INHIBITED 0x01
+#define PDO_RTR_SYNC_READY 0x01
/** The PDO structure */
struct struct_s_PDO_status {
@@ -72,7 +73,7 @@
* bus_id is hardware dependant
* Returns 0xFF if error, other in success.
*/
-UNS8 sendPDOrequest (CO_Data* d, UNS32 cobId);
+UNS8 sendPDOrequest( CO_Data* d, UNS16 RPDOIndex );
/** Compute a PDO frame reception
* bus_id is hardware dependant
--- a/objdictgen/node.py Fri Jun 29 19:51:39 2007 +0200
+++ b/objdictgen/node.py Mon Jul 02 18:22:58 2007 +0200
@@ -213,7 +213,7 @@
0x1600 : {"name" : "Receive PDO %d Mapping[(idx)]", "struct" : plurirec, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
[{"name" : "Number of Entries", "type" : 0x05, "access" : 'rw', "pdo" : False},
{"name" : "PDO %d Mapping for an application object %d[(idx,sub)]", "type" : 0x07, "access" : 'rw', "pdo" : False, "nbmax" : 0x40}]},
- 0x1800 : {"name" : "Transmit PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "values" :
+ 0x1800 : {"name" : "Transmit PDO %d Parameter[(idx)]", "struct" : pluriarray, "incr" : 1, "nbmax" : 0x200, "need" : False, "callback" : True, "values" :
[{"name" : "Highest SubIndex Supported", "type" : 0x05, "access" : 'ro', "pdo" : False},
{"name" : "COB ID used by PDO", "type" : 0x07, "access" : 'rw', "pdo" : False, "default" : "{True:self.ID+(base+1)*0x100+0x80,False:0}[base<4]"},
{"name" : "Transmission Type", "type" : 0x05, "access" : 'rw', "pdo" : False},
--- a/src/pdo.c Fri Jun 29 19:51:39 2007 +0200
+++ b/src/pdo.c Mon Jul 02 18:22:58 2007 +0200
@@ -54,7 +54,7 @@
UNS8 offset = 0x00;
const UNS8* pMappingCount = (UNS8*) TPDO_map->pSubindex[0].pObject;
- pdo->cob_id.w = *(UNS32*)TPDO_com->pSubindex[1].pObject;
+ pdo->cob_id.w = *(UNS32*)TPDO_com->pSubindex[1].pObject & 0x7FF;
pdo->rtr = NOT_A_REQUEST;
MSG_WAR(0x3009, " PDO CobId is : ", *(UNS32*)TPDO_com->pSubindex[1].pObject);
@@ -101,31 +101,31 @@
**
** @return
**/
-UNS8 sendPDOrequest( CO_Data* d, UNS32 cobId )
+UNS8 sendPDOrequest( CO_Data* d, UNS16 RPDOIndex )
{
UNS32 * pwCobId;
- UNS16 offset;
- UNS16 lastIndex;
- UNS8 err;
-
- MSG_WAR(0x3930, "sendPDOrequest ",0);
+ UNS16 offset = d->firstIndex->PDO_RCV;
+ UNS16 lastIndex = d->lastIndex->PDO_RCV;
+
/* Sending the request only if the cobid have been found on the PDO
receive */
/* part dictionary */
- offset = d->firstIndex->PDO_RCV;
- lastIndex = d->lastIndex->PDO_RCV;
- if (offset)
- while (offset <= lastIndex) {
+
+ MSG_WAR(0x3930, "sendPDOrequest RPDO Index : ",RPDOIndex);
+
+ if (offset && RPDOIndex >= 0x1400){
+ offset += RPDOIndex - 0x1400;
+ if (offset <= lastIndex) {
/* get the CobId*/
pwCobId = (UNS32*) d->objdict[offset].pSubindex[1].pObject;
- if ( *pwCobId == cobId ) {
- Message pdo = {*pwCobId, REQUEST, 0};
- return canSend(d->canHandle,&pdo);
- }
- offset++;
+ MSG_WAR(0x3930, "sendPDOrequest cobId is : ",*pwCobId);
+
+ Message pdo = {*pwCobId, REQUEST, 0};
+ return canSend(d->canHandle,&pdo);
}
- MSG_WAR(0x1931, "sendPDOrequest : COBID not found : ", cobId);
+ }
+ MSG_ERR(0x1931, "sendPDOrequest : RPDO Index not found : ", RPDOIndex);
return 0xFF;
}
@@ -283,12 +283,25 @@
break;
- case state4:/* check transmission type (after request?) */
+ case state4:/* check transmission type */
pTransmissionType = (UNS8*) d->objdict[offsetObjdict].pSubindex[2].pObject;
- if ( (*pTransmissionType == TRANS_RTR) ||
- (*pTransmissionType == TRANS_RTR_SYNC )) {
+ /* If PDO is to be sampled and send on RTR, do it*/
+ if ( (*pTransmissionType == TRANS_RTR)) {
status = state5;
break;
+ /* RTR_SYNC mean data is prepared at SYNC, and transmitted on RTR */
+ }else if ((*pTransmissionType == TRANS_RTR_SYNC )) {
+ if(d->PDO_status[numPdo].transmit_type_parameter & PDO_RTR_SYNC_READY){
+ /*Data ready, just send*/
+ canSend(d->canHandle,&d->PDO_status[numPdo].last_message);
+ return 0;
+ }else{
+ /* if SYNC did never occur, force emission with current data */
+ /* DS301 do not tell what to do in such a case...*/
+ MSG_ERR(0x1947, "Not ready RTR_SYNC TPDO send current data : ", m->cob_id.w);
+ status = state5;
+ }
+ break;
}else if(
(*pTransmissionType == TRANS_EVENT_PROFILE) ||
(*pTransmissionType == TRANS_EVENT_SPECIFIC) ) {
@@ -311,8 +324,8 @@
Message pdo;
if( buildPDO(d, numPdo, &pdo))
{
- MSG_ERR(0x1013, " Couldn't find mapped variable at index-subindex-size : ", (UNS16)(*pMappingParameter));
- //return 0xFF; /*No real reason to stop...*/
+ MSG_ERR(0x1948, " Couldn't build TPDO n°", numPdo);
+ return 0xFF;
}
canSend(d->canHandle,&pdo);
return 0;
@@ -401,8 +414,6 @@
void PDOEventTimerAlarm(CO_Data* d, UNS32 pdoNum)
{
- printf("EV PDOEventTimerAlarm : %d\n", pdoNum);
-
/* This is needed to avoid deletion of re-attribuated timer */
d->PDO_status[pdoNum].event_timer = TIMER_NONE;
/* force emission of PDO by artificially changing last emitted*/
@@ -412,8 +423,6 @@
void PDOInhibitTimerAlarm(CO_Data* d, UNS32 pdoNum)
{
- printf("EV PDOInhibitTimerAlarm : %d\n", pdoNum);
-
/* This is needed to avoid deletion of re-attribuated timer */
d->PDO_status[pdoNum].inhibit_timer = TIMER_NONE;
/* Remove inhibit flag */
@@ -441,44 +450,60 @@
/* study all PDO stored in the objects dictionary */
if(offsetObjdict){
- Message clean = Message_Initializer;
Message pdo = Message_Initializer;
while( offsetObjdict <= lastIndex) {
switch( status ) {
- case state3: /* get the PDO transmission type */
- if (d->objdict[offsetObjdict].bSubCount <= 2) {
- MSG_ERR(0x1004, "Subindex 2 not found at index ", 0x1800 + pdoNum);
- return 0xFF;
+ case state3:
+ if (/*d->objdict[offsetObjdict].bSubCount < 5 || not necessary with objdictedit (always 5)*/
+ /* check if TPDO is not valid */
+ *(UNS32*)d->objdict[offsetObjdict].pSubindex[0].pObject & 0x8000) {
+ MSG_WAR(0x3960, "Not a valid PDO ", 0x1800 + pdoNum);
+ /*Go next TPDO*/
+ status = state11;
+ break;
}
+ /* get the PDO transmission type */
pTransmissionType = (UNS8*) d->objdict[offsetObjdict].pSubindex[2].pObject;
- MSG_WAR(0x3005, "Reading PDO at index : ", 0x1800 + pdoNum);
-
- /* check if transmission type is after (this) SYNC */
- /* The message may not be transmited every SYNC but every n SYNC */
+ MSG_WAR(0x3962, "Reading PDO at index : ", 0x1800 + pdoNum);
+
+ /* check if transmission type is SYNCRONOUS */
+ /* The message is transmited every n SYNC with n=TransmissionType */
if( isSyncEvent &&
(*pTransmissionType >= TRANS_SYNC_MIN) &&
(*pTransmissionType <= TRANS_SYNC_MAX) &&
- (++d->PDO_status[pdoNum].transmit_type_parameter == *pTransmissionType) ) {
+ (++d->PDO_status[pdoNum].transmit_type_parameter == *pTransmissionType) ) {
+ /*Reset count of SYNC*/
d->PDO_status[pdoNum].transmit_type_parameter = 0;
- MSG_WAR(0x3007, " PDO is on SYNCHRO. Trans type : ", *pTransmissionType);
- pdo = clean;
+ MSG_WAR(0x3964, " PDO is on SYNCHRO. Trans type : ", *pTransmissionType);
+ pdo = (Message)Message_Initializer;
if(buildPDO(d, pdoNum, &pdo))
{
- MSG_ERR(0x3006, " Couldn't build TPDO number : ", pdoNum);
+ MSG_ERR(0x1906, " Couldn't build TPDO number : ", pdoNum);
status = state11;
break;
}
status = state5;
- }
+ /* If transmission RTR, with data sampled on SYNC */
+ }else if( isSyncEvent &&
+ (*pTransmissionType == TRANS_RTR_SYNC)) {
+ if(buildPDO(d, pdoNum, &d->PDO_status[pdoNum].last_message))
+ {
+ MSG_ERR(0x1966, " Couldn't build TPDO number : ", pdoNum);
+ d->PDO_status[pdoNum].transmit_type_parameter &= ~PDO_RTR_SYNC_READY;
+ }else{
+ d->PDO_status[pdoNum].transmit_type_parameter |= PDO_RTR_SYNC_READY;
+ }
+ status = state11;
+ break;
/* If transmission on Event and not inhibited, check for changes */
- else if((*pTransmissionType == TRANS_EVENT_PROFILE ||
+ }else if((*pTransmissionType == TRANS_EVENT_PROFILE ||
*pTransmissionType == TRANS_EVENT_SPECIFIC )&&
!(d->PDO_status[pdoNum].transmit_type_parameter & PDO_INHIBITED)) {
- MSG_WAR(0x3008, " PDO is on EVENT. Trans type : ", *pTransmissionType);
- pdo = pdo = clean;
+ MSG_WAR(0x3968, " PDO is on EVENT. Trans type : ", *pTransmissionType);
+ pdo = (Message)Message_Initializer;
if(buildPDO(d, pdoNum, &pdo))
{
- MSG_ERR(0x3007, " Couldn't build TPDO number : ", pdoNum);
+ MSG_ERR(0x3907, " Couldn't build TPDO number : ", pdoNum);
status = state11;
break;
}
@@ -490,8 +515,7 @@
/* No changes -> go to next pdo*/
status = state11;
}else{
- MSG_WAR(0x3008, "Changes TPDO number : ", pdoNum);
- printf("EV Changes TPDO number : %d\n", pdoNum);
+ MSG_WAR(0x306A, "Changes TPDO number : ", pdoNum);
/* Changes detected -> transmit message */
status = state5;
@@ -506,19 +530,15 @@
d->PDO_status[pdoNum].transmit_type_parameter |= PDO_INHIBITED;
}
}else{
- MSG_WAR(0x3009, " PDO is not on EVENT or synchro or not at this SYNC. Trans type : ", *pTransmissionType);
+ MSG_WAR(0x306C, " PDO is not on EVENT or synchro or not at this SYNC. Trans type : ", *pTransmissionType);
status = state11;
}
break;
case state5: /*Send the pdo*/
/*store_as_last_message*/
d->PDO_status[pdoNum].last_message = pdo;
- MSG_WAR(0x3901, "sendPDO cobId :", pdo.cob_id.w);
- MSG_WAR(0x3902, " Nb octets : ", pdo.len);
- {int i;
- for (i = 0 ; i < pdo.len ; i++) {
- MSG_WAR(0x3903," data : ", pdo.data[i]);
- }}
+ MSG_WAR(0x396D, "sendPDO cobId :", pdo.cob_id.w);
+ MSG_WAR(0x396E, " Nb octets : ", pdo.len);
canSend(d->canHandle,&pdo);
status = state11;
@@ -527,12 +547,12 @@
pdoNum++;
offsetObjdict++;
offsetObjdictMap++;
- MSG_WAR(0x3017, "next pdo index : ", pdoNum);
+ MSG_WAR(0x3970, "next pdo index : ", pdoNum);
status = state3;
break;
default:
- MSG_ERR(0x1019,"Unknown state has been reached : %d",status);
+ MSG_ERR(0x1972,"Unknown state has been reached : %d",status);
return 0xFF;
}/* end switch case */
@@ -541,31 +561,85 @@
return 0;
}
+/*!
+**
+**
+** @param d
+** @param OD_entry
+** @param bSubindex
+** @return always 0
+**/
+
+UNS32 TPDO_Communication_Parameter_Callback(CO_Data* d, const indextable * OD_entry, UNS8 bSubindex)
+{
+ /* If PDO are actives */
+ if(d->CurrentCommunicationState.csPDO) switch(bSubindex)
+ {
+ case 2: /* Changed transmition type */
+ case 3: /* Changed inhibit time */
+ case 5: /* Changed event time */
+ {
+ UNS8 pTransmissionType = *(UNS8*) OD_entry->pSubindex[2].pObject;
+ const indextable* TPDO_com = d->objdict + d->firstIndex->PDO_TRS;
+ UNS8 numPdo = OD_entry - TPDO_com; /* number of the actual processed pdo-nr. */
+
+ /* Zap all timers and inhibit flag */
+ d->PDO_status[numPdo].event_timer = DelAlarm(d->PDO_status[numPdo].event_timer);
+ d->PDO_status[numPdo].inhibit_timer = DelAlarm(d->PDO_status[numPdo].inhibit_timer);
+ d->PDO_status[numPdo].transmit_type_parameter = 0;
+ /* Call PDOEventTimerAlarm for this TPDO, this will trigger emission et reset timers */
+ PDOEventTimerAlarm(d, numPdo);
+ return 0;
+ }
+
+ default: /* other subindex are ignored*/
+ break;
+ }
+ return 0;
+}
+
void PDOInit(CO_Data* d)
{
-
- /* TODO: implement callbacks on 140xh
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx
- */
-
- _sendPDOevent(d, 0 );
+ /* For each TPDO mapping parameters */
+ UNS16 pdoIndex = 0x1800; /* OD index of TDPO */
+
+ UNS16 offsetObjdict = d->firstIndex->PDO_TRS;
+ UNS16 lastIndex = d->lastIndex->PDO_TRS;
+ if(offsetObjdict) while( offsetObjdict <= lastIndex) {
+ /* Assign callbacks to sensible TPDO mapping subindexes */
+ UNS32 errorCode;
+ ODCallback_t *CallbackList;
+ /* Find callback list */
+ scanIndexOD (d, pdoIndex, &errorCode, &CallbackList);
+ if(errorCode == OD_SUCCESSFUL && CallbackList)
+ {
+ /*Assign callbacks to corresponding subindex*/
+ /* Transmission type */
+ CallbackList[2] = &TPDO_Communication_Parameter_Callback;
+ /* Inhibit time */
+ CallbackList[3] = &TPDO_Communication_Parameter_Callback;
+ /* Event timer */
+ CallbackList[5] = &TPDO_Communication_Parameter_Callback;
+ }
+ pdoIndex++;
+ offsetObjdict++;
+ }
+
+ /* Trigger a non-sync event */
+ _sendPDOevent( d, 0 );
}
void PDOStop(CO_Data* d)
{
+ /* For each TPDO mapping parameters */
UNS8 pdoNum = 0x00; /* number of the actual processed pdo-nr. */
UNS16 offsetObjdict = d->firstIndex->PDO_TRS;
UNS16 lastIndex = d->lastIndex->PDO_TRS;
if(offsetObjdict) while( offsetObjdict <= lastIndex) {
+ /* Delete TPDO timers */
d->PDO_status[pdoNum].event_timer = DelAlarm(d->PDO_status[pdoNum].event_timer);
d->PDO_status[pdoNum].inhibit_timer = DelAlarm(d->PDO_status[pdoNum].inhibit_timer);
+ /* Reset transmit type parameter */
d->PDO_status[pdoNum].transmit_type_parameter = 0;
d->PDO_status[pdoNum].last_message.cob_id.w = 0;
pdoNum++;
--- a/src/states.c Fri Jun 29 19:51:39 2007 +0200
+++ b/src/states.c Mon Jul 02 18:22:58 2007 +0200
@@ -258,7 +258,7 @@
UNS16 lastIndex = d->lastIndex->PDO_RCV;
UNS32 cobID[] = {0x200, 0x300, 0x400, 0x500};
if( offset ) while( (offset <= lastIndex) && (i < 4)) {
- //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId)
+ if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId)
*(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId;
i ++;
offset ++;
@@ -272,7 +272,7 @@
UNS32 cobID[] = {0x180, 0x280, 0x380, 0x480};
i = 0;
if( offset ) while ((offset <= lastIndex) && (i < 4)) {
- //if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId)
+ if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject == cobID[i] + *d->bDeviceNodeId)
*(UNS32*)d->objdict[offset].pSubindex[1].pObject = cobID[i] + nodeId;
i ++;
offset ++;
--- a/src/sync.c Fri Jun 29 19:51:39 2007 +0200
+++ b/src/sync.c Mon Jul 02 18:22:58 2007 +0200
@@ -148,7 +148,7 @@
(*d->post_sync)();
/* only operational state allows PDO transmission */
- if( d->nodeState != Operational )
+ if(! d->CurrentCommunicationState.csPDO)
return 0;
res = _sendPDOevent(d, 1 /*isSyncEvent*/ );