examples/TestMasterSlave/TestSlave.c
changeset 284 24bf3d692993
parent 236 905677ed00f3
child 287 fa4df65d0683
equal deleted inserted replaced
283:e0b3096230e5 284:24bf3d692993
    64                     subindex TestSlave_Index1001[] = 
    64                     subindex TestSlave_Index1001[] = 
    65                      {
    65                      {
    66                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
    66                        { RO, uint8, sizeof (UNS8), (void*)&TestSlave_obj1001 }
    67                      };
    67                      };
    68 
    68 
       
    69 /* index 0x1003 :   Pre-defined Error Field. */
       
    70                     UNS8 TestSlave_highestSubIndex_obj1003 = 8; /* number of subindex - 1*/
       
    71                     UNS32 TestSlave_obj1003[] = 
       
    72                     {
       
    73                       0x0,	/* 0 */
       
    74                       0x0,	/* 0 */
       
    75                       0x0,	/* 0 */
       
    76                       0x0,	/* 0 */
       
    77                       0x0,	/* 0 */
       
    78                       0x0,	/* 0 */
       
    79                       0x0,	/* 0 */
       
    80                       0x0	/* 0 */
       
    81                     };
       
    82                     ODCallback_t TestSlave_Index1003_callbacks[] = 
       
    83                      {
       
    84                        NULL,
       
    85                        NULL,
       
    86                        NULL,
       
    87                        NULL,
       
    88                        NULL,
       
    89                        NULL,
       
    90                        NULL,
       
    91                        NULL,
       
    92                        NULL,
       
    93                      };
       
    94                     subindex TestSlave_Index1003[] = 
       
    95                      {
       
    96                        { RW, uint8, sizeof (UNS8), (void*)&TestSlave_highestSubIndex_obj1003 },
       
    97                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[0] },
       
    98                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[1] },
       
    99                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[2] },
       
   100                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[3] },
       
   101                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[4] },
       
   102                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[5] },
       
   103                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[6] },
       
   104                        { RO, uint32, sizeof (UNS32), (void*)&TestSlave_obj1003[7] }
       
   105                      };
       
   106 
    69 /* index 0x1005 :   SYNC COB ID. */
   107 /* index 0x1005 :   SYNC COB ID. */
    70                     UNS32 TestSlave_obj1005 = 0x80;	/* 128 */
   108                     UNS32 TestSlave_obj1005 = 0x80;	/* 128 */
    71                     ODCallback_t TestSlave_Index1005_callbacks[] = 
   109                     ODCallback_t TestSlave_Index1005_callbacks[] = 
    72                      {
   110                      {
    73                        NULL,
   111                        NULL,
   463 
   501 
   464 const indextable TestSlave_objdict[] = 
   502 const indextable TestSlave_objdict[] = 
   465 {
   503 {
   466   { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
   504   { (subindex*)TestSlave_Index1000,sizeof(TestSlave_Index1000)/sizeof(TestSlave_Index1000[0]), 0x1000},
   467   { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001},
   505   { (subindex*)TestSlave_Index1001,sizeof(TestSlave_Index1001)/sizeof(TestSlave_Index1001[0]), 0x1001},
       
   506   { (subindex*)TestSlave_Index1003,sizeof(TestSlave_Index1003)/sizeof(TestSlave_Index1003[0]), 0x1003},
   468   { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005},
   507   { (subindex*)TestSlave_Index1005,sizeof(TestSlave_Index1005)/sizeof(TestSlave_Index1005[0]), 0x1005},
   469   { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006},
   508   { (subindex*)TestSlave_Index1006,sizeof(TestSlave_Index1006)/sizeof(TestSlave_Index1006[0]), 0x1006},
   470   { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010},
   509   { (subindex*)TestSlave_Index1010,sizeof(TestSlave_Index1010)/sizeof(TestSlave_Index1010[0]), 0x1010},
   471   { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011},
   510   { (subindex*)TestSlave_Index1011,sizeof(TestSlave_Index1011)/sizeof(TestSlave_Index1011[0]), 0x1011},
   472   { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017},
   511   { (subindex*)TestSlave_Index1017,sizeof(TestSlave_Index1017)/sizeof(TestSlave_Index1017[0]), 0x1017},
   502 	int i;
   541 	int i;
   503 	*callbacks = NULL;
   542 	*callbacks = NULL;
   504 	switch(wIndex){
   543 	switch(wIndex){
   505 		case 0x1000: i = 0;break;
   544 		case 0x1000: i = 0;break;
   506 		case 0x1001: i = 1;break;
   545 		case 0x1001: i = 1;break;
   507 		case 0x1005: i = 2;*callbacks = TestSlave_Index1005_callbacks; break;
   546 		case 0x1003: i = 2;*callbacks = TestSlave_Index1003_callbacks; break;
   508 		case 0x1006: i = 3;*callbacks = TestSlave_Index1006_callbacks; break;
   547 		case 0x1005: i = 3;*callbacks = TestSlave_Index1005_callbacks; break;
   509 		case 0x1010: i = 4;*callbacks = TestSlave_Index1010_callbacks; break;
   548 		case 0x1006: i = 4;*callbacks = TestSlave_Index1006_callbacks; break;
   510 		case 0x1011: i = 5;*callbacks = TestSlave_Index1011_callbacks; break;
   549 		case 0x1010: i = 5;*callbacks = TestSlave_Index1010_callbacks; break;
   511 		case 0x1017: i = 6;*callbacks = TestSlave_Index1017_callbacks; break;
   550 		case 0x1011: i = 6;*callbacks = TestSlave_Index1011_callbacks; break;
   512 		case 0x1018: i = 7;break;
   551 		case 0x1017: i = 7;*callbacks = TestSlave_Index1017_callbacks; break;
   513 		case 0x1200: i = 8;break;
   552 		case 0x1018: i = 8;break;
   514 		case 0x1800: i = 9;*callbacks = TestSlave_Index1800_callbacks; break;
   553 		case 0x1200: i = 9;break;
   515 		case 0x1801: i = 10;*callbacks = TestSlave_Index1801_callbacks; break;
   554 		case 0x1800: i = 10;*callbacks = TestSlave_Index1800_callbacks; break;
   516 		case 0x1802: i = 11;*callbacks = TestSlave_Index1802_callbacks; break;
   555 		case 0x1801: i = 11;*callbacks = TestSlave_Index1801_callbacks; break;
   517 		case 0x1803: i = 12;*callbacks = TestSlave_Index1803_callbacks; break;
   556 		case 0x1802: i = 12;*callbacks = TestSlave_Index1802_callbacks; break;
   518 		case 0x1804: i = 13;*callbacks = TestSlave_Index1804_callbacks; break;
   557 		case 0x1803: i = 13;*callbacks = TestSlave_Index1803_callbacks; break;
   519 		case 0x1A00: i = 14;break;
   558 		case 0x1804: i = 14;*callbacks = TestSlave_Index1804_callbacks; break;
   520 		case 0x1A01: i = 15;break;
   559 		case 0x1A00: i = 15;break;
   521 		case 0x1A02: i = 16;break;
   560 		case 0x1A01: i = 16;break;
   522 		case 0x1A03: i = 17;break;
   561 		case 0x1A02: i = 17;break;
   523 		case 0x1A04: i = 18;break;
   562 		case 0x1A03: i = 18;break;
   524 		case 0x2000: i = 19;break;
   563 		case 0x1A04: i = 19;break;
   525 		case 0x2001: i = 20;break;
   564 		case 0x2000: i = 20;break;
   526 		case 0x2002: i = 21;break;
   565 		case 0x2001: i = 21;break;
   527 		case 0x2003: i = 22;break;
   566 		case 0x2002: i = 22;break;
   528 		case 0x2004: i = 23;break;
   567 		case 0x2003: i = 23;break;
   529 		case 0x2005: i = 24;break;
   568 		case 0x2004: i = 24;break;
   530 		case 0x2006: i = 25;break;
   569 		case 0x2005: i = 25;break;
   531 		case 0x2007: i = 26;break;
   570 		case 0x2006: i = 26;break;
   532 		case 0x2008: i = 27;break;
   571 		case 0x2007: i = 27;break;
   533 		case 0x2009: i = 28;break;
   572 		case 0x2008: i = 28;break;
   534 		case 0x200A: i = 29;break;
   573 		case 0x2009: i = 29;break;
   535 		case 0x200B: i = 30;break;
   574 		case 0x200A: i = 30;break;
   536 		case 0x200C: i = 31;break;
   575 		case 0x200B: i = 31;break;
       
   576 		case 0x200C: i = 32;break;
   537 		default:
   577 		default:
   538 			*errorCode = OD_NO_SUCH_OBJECT;
   578 			*errorCode = OD_NO_SUCH_OBJECT;
   539 			return NULL;
   579 			return NULL;
   540 	}
   580 	}
   541 	*errorCode = OD_SUCCESSFUL;
   581 	*errorCode = OD_SUCCESSFUL;
   548  * for compilations issues.
   588  * for compilations issues.
   549  */
   589  */
   550 s_PDO_status TestSlave_PDO_status[5] = {s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer};
   590 s_PDO_status TestSlave_PDO_status[5] = {s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer,s_PDO_staus_Initializer};
   551 
   591 
   552 quick_index TestSlave_firstIndex = {
   592 quick_index TestSlave_firstIndex = {
   553   8, /* SDO_SVR */
   593   9, /* SDO_SVR */
   554   0, /* SDO_CLT */
   594   0, /* SDO_CLT */
   555   0, /* PDO_RCV */
   595   0, /* PDO_RCV */
   556   0, /* PDO_RCV_MAP */
   596   0, /* PDO_RCV_MAP */
   557   9, /* PDO_TRS */
   597   10, /* PDO_TRS */
   558   14 /* PDO_TRS_MAP */
   598   15 /* PDO_TRS_MAP */
   559 };
   599 };
   560 
   600 
   561 quick_index TestSlave_lastIndex = {
   601 quick_index TestSlave_lastIndex = {
   562   8, /* SDO_SVR */
   602   9, /* SDO_SVR */
   563   0, /* SDO_CLT */
   603   0, /* SDO_CLT */
   564   0, /* PDO_RCV */
   604   0, /* PDO_RCV */
   565   0, /* PDO_RCV_MAP */
   605   0, /* PDO_RCV_MAP */
   566   13, /* PDO_TRS */
   606   14, /* PDO_TRS */
   567   18 /* PDO_TRS_MAP */
   607   19 /* PDO_TRS_MAP */
   568 };
   608 };
   569 
   609 
   570 UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]); 
   610 UNS16 TestSlave_ObjdictSize = sizeof(TestSlave_objdict)/sizeof(TestSlave_objdict[0]); 
   571 
   611 
   572 CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave);
   612 CO_Data TestSlave_Data = CANOPEN_NODE_DATA_INITIALIZER(TestSlave);