examples/DS401_Slave_Gui/ObjDict.c
changeset 295 25ff2fadff89
parent 246 d635cfc520ee
child 302 7ba4302a9999
equal deleted inserted replaced
294:d5493fe07e79 295:25ff2fadff89
    77 
    77 
    78 /**************************************************************************/
    78 /**************************************************************************/
    79 /* Declaration of the value range types                                   */
    79 /* Declaration of the value range types                                   */
    80 /**************************************************************************/
    80 /**************************************************************************/
    81 
    81 
       
    82 #define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */
    82 UNS32 ObjDict_valueRangeTest (UNS8 typeValue, void * value)
    83 UNS32 ObjDict_valueRangeTest (UNS8 typeValue, void * value)
    83 {
    84 {
    84   switch (typeValue) {
    85   switch (typeValue) {
       
    86     case valueRange_EMC:
       
    87       if (*(UNS8*)value > (UNS8)0) return OD_VALUE_TOO_HIGH;
       
    88       break;
    85   }
    89   }
    86   return 0;
    90   return 0;
    87 }
    91 }
    88 
    92 
    89 /**************************************************************************/
    93 /**************************************************************************/
   124 /* index 0x1002 :   Manufacturer Status Register. */
   128 /* index 0x1002 :   Manufacturer Status Register. */
   125                     UNS32 ObjDict_obj1002 = 0x0;	/* 0 */
   129                     UNS32 ObjDict_obj1002 = 0x0;	/* 0 */
   126                     subindex ObjDict_Index1002[] = 
   130                     subindex ObjDict_Index1002[] = 
   127                      {
   131                      {
   128                        { RO, uint32, sizeof (UNS32), (void*)&ObjDict_obj1002 }
   132                        { RO, uint32, sizeof (UNS32), (void*)&ObjDict_obj1002 }
       
   133                      };
       
   134 
       
   135 /* index 0x1003 :   Pre-defined Error Field */
       
   136                     UNS8 ObjDict_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/
       
   137                     UNS32 ObjDict_obj1003[] = 
       
   138                     {
       
   139                       0x0	/* 0 */
       
   140                     };
       
   141                     ODCallback_t ObjDict_Index1003_callbacks[] = 
       
   142                      {
       
   143                        NULL,
       
   144                        NULL,
       
   145                      };
       
   146                     subindex ObjDict_Index1003[] = 
       
   147                      {
       
   148                        { RW, valueRange_EMC, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1003 },
       
   149                        { RO, uint32, sizeof (UNS32), (void*)&ObjDict_obj1003[0] }
   129                      };
   150                      };
   130 
   151 
   131 /* index 0x1005 :   SYNC COB ID. */
   152 /* index 0x1005 :   SYNC COB ID. */
   132                     UNS32 ObjDict_obj1005 = 0x80;	/* 128 */
   153                     UNS32 ObjDict_obj1005 = 0x80;	/* 128 */
   133                     ODCallback_t ObjDict_Index1005_callbacks[] = 
   154                     ODCallback_t ObjDict_Index1005_callbacks[] = 
   336                     UNS32 ObjDict_obj1800_COB_ID_used_by_PDO = 0x1C0;	/* 448 */
   357                     UNS32 ObjDict_obj1800_COB_ID_used_by_PDO = 0x1C0;	/* 448 */
   337                     UNS8 ObjDict_obj1800_Transmission_Type = 0x1;	/* 1 */
   358                     UNS8 ObjDict_obj1800_Transmission_Type = 0x1;	/* 1 */
   338                     UNS16 ObjDict_obj1800_Inhibit_Time = 0x0;	/* 0 */
   359                     UNS16 ObjDict_obj1800_Inhibit_Time = 0x0;	/* 0 */
   339                     UNS8 ObjDict_obj1800_Compatibility_Entry = 0x0;	/* 0 */
   360                     UNS8 ObjDict_obj1800_Compatibility_Entry = 0x0;	/* 0 */
   340                     UNS16 ObjDict_obj1800_Event_Timer = 0x0;	/* 0 */
   361                     UNS16 ObjDict_obj1800_Event_Timer = 0x0;	/* 0 */
       
   362                     ODCallback_t ObjDict_Index1800_callbacks[] = 
       
   363                      {
       
   364                        NULL,
       
   365                        NULL,
       
   366                        NULL,
       
   367                        NULL,
       
   368                        NULL,
       
   369                        NULL,
       
   370                      };
   341                     subindex ObjDict_Index1800[] = 
   371                     subindex ObjDict_Index1800[] = 
   342                      {
   372                      {
   343                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1800 },
   373                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1800 },
   344                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1800_COB_ID_used_by_PDO },
   374                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1800_COB_ID_used_by_PDO },
   345                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1800_Transmission_Type },
   375                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1800_Transmission_Type },
   353                     UNS32 ObjDict_obj1801_COB_ID_used_by_PDO = 0x2C0;	/* 704 */
   383                     UNS32 ObjDict_obj1801_COB_ID_used_by_PDO = 0x2C0;	/* 704 */
   354                     UNS8 ObjDict_obj1801_Transmission_Type = 0x1;	/* 1 */
   384                     UNS8 ObjDict_obj1801_Transmission_Type = 0x1;	/* 1 */
   355                     UNS16 ObjDict_obj1801_Inhibit_Time = 0x0;	/* 0 */
   385                     UNS16 ObjDict_obj1801_Inhibit_Time = 0x0;	/* 0 */
   356                     UNS8 ObjDict_obj1801_Compatibility_Entry = 0x0;	/* 0 */
   386                     UNS8 ObjDict_obj1801_Compatibility_Entry = 0x0;	/* 0 */
   357                     UNS16 ObjDict_obj1801_Event_Timer = 0x0;	/* 0 */
   387                     UNS16 ObjDict_obj1801_Event_Timer = 0x0;	/* 0 */
       
   388                     ODCallback_t ObjDict_Index1801_callbacks[] = 
       
   389                      {
       
   390                        NULL,
       
   391                        NULL,
       
   392                        NULL,
       
   393                        NULL,
       
   394                        NULL,
       
   395                        NULL,
       
   396                      };
   358                     subindex ObjDict_Index1801[] = 
   397                     subindex ObjDict_Index1801[] = 
   359                      {
   398                      {
   360                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1801 },
   399                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1801 },
   361                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1801_COB_ID_used_by_PDO },
   400                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1801_COB_ID_used_by_PDO },
   362                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1801_Transmission_Type },
   401                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1801_Transmission_Type },
   370                     UNS32 ObjDict_obj1802_COB_ID_used_by_PDO = 0x3C0;	/* 960 */
   409                     UNS32 ObjDict_obj1802_COB_ID_used_by_PDO = 0x3C0;	/* 960 */
   371                     UNS8 ObjDict_obj1802_Transmission_Type = 0x1;	/* 1 */
   410                     UNS8 ObjDict_obj1802_Transmission_Type = 0x1;	/* 1 */
   372                     UNS16 ObjDict_obj1802_Inhibit_Time = 0x0;	/* 0 */
   411                     UNS16 ObjDict_obj1802_Inhibit_Time = 0x0;	/* 0 */
   373                     UNS8 ObjDict_obj1802_Compatibility_Entry = 0x0;	/* 0 */
   412                     UNS8 ObjDict_obj1802_Compatibility_Entry = 0x0;	/* 0 */
   374                     UNS16 ObjDict_obj1802_Event_Timer = 0x0;	/* 0 */
   413                     UNS16 ObjDict_obj1802_Event_Timer = 0x0;	/* 0 */
       
   414                     ODCallback_t ObjDict_Index1802_callbacks[] = 
       
   415                      {
       
   416                        NULL,
       
   417                        NULL,
       
   418                        NULL,
       
   419                        NULL,
       
   420                        NULL,
       
   421                        NULL,
       
   422                      };
   375                     subindex ObjDict_Index1802[] = 
   423                     subindex ObjDict_Index1802[] = 
   376                      {
   424                      {
   377                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1802 },
   425                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1802 },
   378                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1802_COB_ID_used_by_PDO },
   426                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1802_COB_ID_used_by_PDO },
   379                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1802_Transmission_Type },
   427                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1802_Transmission_Type },
   387                     UNS32 ObjDict_obj1803_COB_ID_used_by_PDO = 0x800004C0;	/* 2147484864 */
   435                     UNS32 ObjDict_obj1803_COB_ID_used_by_PDO = 0x800004C0;	/* 2147484864 */
   388                     UNS8 ObjDict_obj1803_Transmission_Type = 0x1;	/* 1 */
   436                     UNS8 ObjDict_obj1803_Transmission_Type = 0x1;	/* 1 */
   389                     UNS16 ObjDict_obj1803_Inhibit_Time = 0x0;	/* 0 */
   437                     UNS16 ObjDict_obj1803_Inhibit_Time = 0x0;	/* 0 */
   390                     UNS8 ObjDict_obj1803_Compatibility_Entry = 0x0;	/* 0 */
   438                     UNS8 ObjDict_obj1803_Compatibility_Entry = 0x0;	/* 0 */
   391                     UNS16 ObjDict_obj1803_Event_Timer = 0x0;	/* 0 */
   439                     UNS16 ObjDict_obj1803_Event_Timer = 0x0;	/* 0 */
       
   440                     ODCallback_t ObjDict_Index1803_callbacks[] = 
       
   441                      {
       
   442                        NULL,
       
   443                        NULL,
       
   444                        NULL,
       
   445                        NULL,
       
   446                        NULL,
       
   447                        NULL,
       
   448                      };
   392                     subindex ObjDict_Index1803[] = 
   449                     subindex ObjDict_Index1803[] = 
   393                      {
   450                      {
   394                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1803 },
   451                        { RO, uint8, sizeof (UNS8), (void*)&ObjDict_highestSubIndex_obj1803 },
   395                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1803_COB_ID_used_by_PDO },
   452                        { RW, uint32, sizeof (UNS32), (void*)&ObjDict_obj1803_COB_ID_used_by_PDO },
   396                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1803_Transmission_Type },
   453                        { RW, uint8, sizeof (UNS8), (void*)&ObjDict_obj1803_Transmission_Type },
   648 		case 0x1401: i = 17;break;
   705 		case 0x1401: i = 17;break;
   649 		case 0x1402: i = 18;break;
   706 		case 0x1402: i = 18;break;
   650 		case 0x1403: i = 19;break;
   707 		case 0x1403: i = 19;break;
   651 		case 0x1600: i = 20;break;
   708 		case 0x1600: i = 20;break;
   652 		case 0x1601: i = 21;break;
   709 		case 0x1601: i = 21;break;
   653 		case 0x1800: i = 22;break;
   710 		case 0x1800: i = 22;*callbacks = ObjDict_Index1800_callbacks; break;
   654 		case 0x1801: i = 23;break;
   711 		case 0x1801: i = 23;*callbacks = ObjDict_Index1801_callbacks; break;
   655 		case 0x1802: i = 24;break;
   712 		case 0x1802: i = 24;*callbacks = ObjDict_Index1802_callbacks; break;
   656 		case 0x1803: i = 25;break;
   713 		case 0x1803: i = 25;*callbacks = ObjDict_Index1803_callbacks; break;
   657 		case 0x1A00: i = 26;break;
   714 		case 0x1A00: i = 26;break;
   658 		case 0x1A01: i = 27;break;
   715 		case 0x1A01: i = 27;break;
   659 		case 0x1A02: i = 28;break;
   716 		case 0x1A02: i = 28;break;
   660 		case 0x1F50: i = 29;break;
   717 		case 0x1F50: i = 29;break;
   661 		case 0x6000: i = 30;break;
   718 		case 0x6000: i = 30;break;