--- a/examples/TestMasterSlave/TestSlave.c Mon May 22 09:46:29 2006 +0200
+++ b/examples/TestMasterSlave/TestSlave.c Tue May 23 01:15:22 2006 +0200
@@ -63,21 +63,21 @@
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
/* index 0x1000 : Device Type. */
- UNS32 TestSlave_obj1000 = 0x12D;
+ UNS32 TestSlave_obj1000 = 0x12D; // 301
subindex TestSlave_Index1000[] =
{
{ RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1000 }
};
/* index 0x1001 : Error Register. */
- UNS8 TestSlave_obj1001 = 0x0;
+ UNS8 TestSlave_obj1001 = 0x0; // 0
subindex TestSlave_Index1001[] =
{
{ RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
};
/* index 0x1005 : SYNC COB ID. */
- UNS32 TestSlave_obj1005 = 0x80;
+ UNS32 TestSlave_obj1005 = 0x80; // 128
ODCallback_t TestSlave_Index1005_callbacks[] =
{
NULL,
@@ -88,7 +88,7 @@
};
/* index 0x1006 : Communication / Cycle Period. */
- UNS32 TestSlave_obj1006 = 0x0;
+ UNS32 TestSlave_obj1006 = 0x0; // 0
ODCallback_t TestSlave_Index1006_callbacks[] =
{
NULL,
@@ -98,13 +98,59 @@
{ 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];
subindex TestSlave_Index1016[0];
/* index 0x1017 : Producer Heartbeat Time. */
- UNS16 TestSlave_obj1017 = 0x3E8;
+ UNS16 TestSlave_obj1017 = 0x3E8; // 1000
subindex TestSlave_Index1017[] =
{
{ RW, uint16, sizeof (UNS16), (void*)&TestSlave_obj1017 }
@@ -112,10 +158,10 @@
/* index 0x1018 : Identity. */
UNS8 TestSlave_highestSubIndex_obj1018 = 4; // number of subindex - 1
- UNS32 TestSlave_obj1018_Vendor_ID = 0x0;
- UNS32 TestSlave_obj1018_Product_Code = 0x0;
- UNS32 TestSlave_obj1018_Revision_Number = 0x0;
- UNS32 TestSlave_obj1018_Serial_Number = 0x0;
+ 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 },
@@ -127,8 +173,8 @@
/* 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;
- UNS32 TestSlave_obj1200_COB_ID_Server_to_Client_Transmit_SDO = 0x581;
+ 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 },
@@ -138,11 +184,11 @@
/* index 0x1800 : Transmit PDO 1 Parameter. */
UNS8 TestSlave_highestSubIndex_obj1800 = 5; // number of subindex - 1
- UNS32 TestSlave_obj1800_COB_ID_used_by_PDO = 0x182;
- UNS8 TestSlave_obj1800_Transmission_Type = 0x1;
- UNS16 TestSlave_obj1800_Inhibit_Time = 0x0;
- UNS16 TestSlave_obj1800_Compatibility_Entry = 0x0;
- UNS16 TestSlave_obj1800_Event_Timer = 0x0;
+ 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 },
@@ -155,11 +201,11 @@
/* index 0x1801 : Transmit PDO 2 Parameter. */
UNS8 TestSlave_highestSubIndex_obj1801 = 5; // number of subindex - 1
- UNS32 TestSlave_obj1801_COB_ID_used_by_PDO = 0x282;
- UNS8 TestSlave_obj1801_Transmission_Type = 0x1;
- UNS16 TestSlave_obj1801_Inhibit_Time = 0x0;
- UNS16 TestSlave_obj1801_Compatibility_Entry = 0x0;
- UNS16 TestSlave_obj1801_Event_Timer = 0x0;
+ 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 },
@@ -174,8 +220,8 @@
UNS8 TestSlave_highestSubIndex_obj1A00 = 2; // number of subindex - 1
UNS32 TestSlave_obj1A00[] =
{
- 536870920,
- 536936456
+ 0x20000008, // 536870920
+ 0x20010008 // 536936456
};
subindex TestSlave_Index1A00[] =
{
@@ -188,8 +234,8 @@
UNS8 TestSlave_highestSubIndex_obj1A01 = 2; // number of subindex - 1
UNS32 TestSlave_obj1A01[] =
{
- 537001992,
- 537067528
+ 0x20020008, // 537001992
+ 0x20030008 // 537067528
};
subindex TestSlave_Index1A01[] =
{
@@ -228,6 +274,8 @@
{ (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},
@@ -244,22 +292,25 @@
const indextable * TestSlave_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks)
{
int i;
+ *callbacks = NULL;
switch(wIndex){
- case 0x1000: i = 0; *callbacks = NULL; break;
- case 0x1001: i = 1; *callbacks = NULL; break;
- case 0x1005: i = 2; *callbacks = TestSlave_Index1005_callbacks; break;
- case 0x1006: i = 3; *callbacks = TestSlave_Index1006_callbacks; break;
- case 0x1017: i = 4; *callbacks = NULL; break;
- case 0x1018: i = 5; *callbacks = NULL; break;
- case 0x1200: i = 6; *callbacks = NULL; break;
- case 0x1800: i = 7; *callbacks = NULL; break;
- case 0x1801: i = 8; *callbacks = NULL; break;
- case 0x1A00: i = 9; *callbacks = NULL; break;
- case 0x1A01: i = 10; *callbacks = NULL; break;
- case 0x2000: i = 11; *callbacks = NULL; break;
- case 0x2001: i = 12; *callbacks = NULL; break;
- case 0x2002: i = 13; *callbacks = NULL; break;
- case 0x2003: i = 14; *callbacks = NULL; break;
+ 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;
@@ -274,21 +325,21 @@
UNS8 TestSlave_count_sync[2] = {0,};
quick_index TestSlave_firstIndex = {
- SDO_SVR : 6,
+ SDO_SVR : 8,
SDO_CLT : 0,
PDO_RCV : 0,
PDO_RCV_MAP : 0,
- PDO_TRS : 7,
- PDO_TRS_MAP : 9
+ PDO_TRS : 9,
+ PDO_TRS_MAP : 11
};
quick_index TestSlave_lastIndex = {
- SDO_SVR : 6,
+ SDO_SVR : 8,
SDO_CLT : 0,
PDO_RCV : 0,
PDO_RCV_MAP : 0,
- PDO_TRS : 8,
- PDO_TRS_MAP : 10
+ PDO_TRS : 10,
+ PDO_TRS_MAP : 12
};
UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]);