--- a/examples/TestMasterSlave/TestSlave.c Mon May 14 22:46:20 2007 +0200
+++ b/examples/TestMasterSlave/TestSlave.c Wed May 16 14:17:04 2007 +0200
@@ -10,6 +10,13 @@
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 */
+UNS8 SlaveMap5 = 0x0; /* Mapped at index 0x2004, subindex 0x00 */
+UNS8 SlaveMap6 = 0x0; /* Mapped at index 0x2005, subindex 0x00 */
+UNS8 SlaveMap7 = 0x0; /* Mapped at index 0x2006, subindex 0x00 */
+UNS8 SlaveMap8 = 0x0; /* Mapped at index 0x2007, subindex 0x00 */
+UNS8 SlaveMap9 = 0x0; /* Mapped at index 0x2008, subindex 0x00 */
+UNS32 SlaveMap10 = 0x0; /* Mapped at index 0x2009, subindex 0x00 */
+UNS16 SlaveMap11 = 0x0; /* Mapped at index 0x200A, subindex 0x00 */
/**************************************************************************/
/* Declaration of the value range types */
@@ -171,7 +178,7 @@
UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182; /* 386 */
UNS8 TestSlave_obj1800_Transmission_Type = 0x0; /* 0 */
UNS16 TestSlave_obj1800_Inhibit_Time = 0x0; /* 0 */
- UNS16 TestSlave_obj1800_Compatibility_Entry = 0x0; /* 0 */
+ UNS8 TestSlave_obj1800_Compatibility_Entry = 0x0; /* 0 */
UNS16 TestSlave_obj1800_Event_Timer = 0x0; /* 0 */
subindex TestSlave_Index1800[] =
{
@@ -179,16 +186,16 @@
{ 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, uint8, sizeof (UNS8), (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 */
+ UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x0; /* 0 */
UNS8 TestSlave_obj1801_Transmission_Type = 0x0; /* 0 */
UNS16 TestSlave_obj1801_Inhibit_Time = 0x0; /* 0 */
- UNS16 TestSlave_obj1801_Compatibility_Entry = 0x0; /* 0 */
+ UNS8 TestSlave_obj1801_Compatibility_Entry = 0x0; /* 0 */
UNS16 TestSlave_obj1801_Event_Timer = 0x0; /* 0 */
subindex TestSlave_Index1801[] =
{
@@ -196,60 +203,116 @@
{ 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, uint8, sizeof (UNS8), (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*/
+ UNS8 TestSlave_highestSubIndex_obj1A00 = 10; /* number of subindex - 1*/
UNS32 TestSlave_obj1A00[] =
{
- 0x20000008, /* 536870920 */
- 0x20010008 /* 536936456 */
+ 0x20000001, /* 536870913 */
+ 0x20010001, /* 536936449 */
+ 0x20020001, /* 537001985 */
+ 0x20030001, /* 537067521 */
+ 0x20040001, /* 537133057 */
+ 0x20050001, /* 537198593 */
+ 0x20060001, /* 537264129 */
+ 0x20070001, /* 537329665 */
+ 0x20080008, /* 537395208 */
+ 0x20090020 /* 537460768 */
};
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] }
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[1] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[2] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[3] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[4] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[5] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[6] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[7] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[8] },
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A00[9] }
};
/* index 0x1A01 : Transmit PDO 2 Mapping. */
- UNS8 TestSlave_highestSubIndex_obj1A01 = 2; /* number of subindex - 1*/
+ UNS8 TestSlave_highestSubIndex_obj1A01 = 1; /* number of subindex - 1*/
UNS32 TestSlave_obj1A01[] =
{
- 0x20020008, /* 537001992 */
- 0x20030008 /* 537067528 */
+ 0x200A0010 /* 537526288 */
};
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] }
+ { RW, uint32, sizeof (UNS32), (void*)&TestSlave_obj1A01[0] }
};
/* index 0x2000 : Mapped variable SlaveMap1 */
subindex TestSlave_Index2000[] =
{
- { RW, uint8, sizeof (UNS8), (void*)&SlaveMap1 }
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap1 }
};
/* index 0x2001 : Mapped variable SlaveMap2 */
subindex TestSlave_Index2001[] =
{
- { RW, uint8, sizeof (UNS8), (void*)&SlaveMap2 }
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap2 }
};
/* index 0x2002 : Mapped variable SlaveMap3 */
subindex TestSlave_Index2002[] =
{
- { RW, uint8, sizeof (UNS8), (void*)&SlaveMap3 }
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap3 }
};
/* index 0x2003 : Mapped variable SlaveMap4 */
subindex TestSlave_Index2003[] =
{
- { RW, uint8, sizeof (UNS8), (void*)&SlaveMap4 }
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap4 }
+ };
+
+/* index 0x2004 : Mapped variable SlaveMap5 */
+ subindex TestSlave_Index2004[] =
+ {
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap5 }
+ };
+
+/* index 0x2005 : Mapped variable SlaveMap6 */
+ subindex TestSlave_Index2005[] =
+ {
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap6 }
+ };
+
+/* index 0x2006 : Mapped variable SlaveMap7 */
+ subindex TestSlave_Index2006[] =
+ {
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap7 }
+ };
+
+/* index 0x2007 : Mapped variable SlaveMap8 */
+ subindex TestSlave_Index2007[] =
+ {
+ { RW, boolean, sizeof (UNS8), (void*)&SlaveMap8 }
+ };
+
+/* index 0x2008 : Mapped variable SlaveMap9 */
+ subindex TestSlave_Index2008[] =
+ {
+ { RW, uint8, sizeof (UNS8), (void*)&SlaveMap9 }
+ };
+
+/* index 0x2009 : Mapped variable SlaveMap10 */
+ subindex TestSlave_Index2009[] =
+ {
+ { RW, uint32, sizeof (UNS32), (void*)&SlaveMap10 }
+ };
+
+/* index 0x200A : Mapped variable SlaveMap11 */
+ subindex TestSlave_Index200A[] =
+ {
+ { RW, uint16, sizeof (UNS16), (void*)&SlaveMap11 }
};
const indextable TestSlave_objdict[] =
@@ -271,6 +334,13 @@
{ (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},
+ { (subindex*)TestSlave_Index2004,sizeof(TestSlave_Index2004)/sizeof(TestSlave_Index2004[0]), 0x2004},
+ { (subindex*)TestSlave_Index2005,sizeof(TestSlave_Index2005)/sizeof(TestSlave_Index2005[0]), 0x2005},
+ { (subindex*)TestSlave_Index2006,sizeof(TestSlave_Index2006)/sizeof(TestSlave_Index2006[0]), 0x2006},
+ { (subindex*)TestSlave_Index2007,sizeof(TestSlave_Index2007)/sizeof(TestSlave_Index2007[0]), 0x2007},
+ { (subindex*)TestSlave_Index2008,sizeof(TestSlave_Index2008)/sizeof(TestSlave_Index2008[0]), 0x2008},
+ { (subindex*)TestSlave_Index2009,sizeof(TestSlave_Index2009)/sizeof(TestSlave_Index2009[0]), 0x2009},
+ { (subindex*)TestSlave_Index200A,sizeof(TestSlave_Index200A)/sizeof(TestSlave_Index200A[0]), 0x200A},
};
const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
@@ -295,6 +365,13 @@
case 0x2001: i = 14;break;
case 0x2002: i = 15;break;
case 0x2003: i = 16;break;
+ case 0x2004: i = 17;break;
+ case 0x2005: i = 18;break;
+ case 0x2006: i = 19;break;
+ case 0x2007: i = 20;break;
+ case 0x2008: i = 21;break;
+ case 0x2009: i = 22;break;
+ case 0x200A: i = 23;break;
default:
*errorCode = OD_NO_SUCH_OBJECT;
return NULL;