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