src/sdo.c
changeset 12 1d3b9ad366c8
parent 6 8038ced64796
child 31 a82b70738e5c
equal deleted inserted replaced
11:64ed038bdc74 12:1d3b9ad366c8
   134 //  UNS8  *data;
   134 //  UNS8  *data;
   135   UNS8  size = 0;
   135   UNS8  size = 0;
   136   UNS8  dataType;
   136   UNS8  dataType;
   137   UNS32 errorCode;
   137   UNS32 errorCode;
   138 
   138 
   139   MSG_WAR(0x3A05, "Reading at index : ", d->transfers[line].index);
   139   MSG_WAR(0x3A05, "objdict->line index : ", d->transfers[line].index);
   140   MSG_WAR(0x3A06, "Reading at subIndex : ", d->transfers[line].subIndex);
   140   MSG_WAR(0x3A06, "  subIndex : ", d->transfers[line].subIndex);
   141 
   141 
   142   errorCode = getODentry(d, 	d->transfers[line].index,
   142   errorCode = getODentry(d, 	d->transfers[line].index,
   143   				d->transfers[line].subIndex,
   143   				d->transfers[line].subIndex,
   144   				(void *)d->transfers[line].data,
   144   				(void *)d->transfers[line].data,
   145   				&size, &dataType, 0);
   145   				&size, &dataType, 0);
   147   if (errorCode != OD_SUCCESSFUL)
   147   if (errorCode != OD_SUCCESSFUL)
   148     return errorCode;
   148     return errorCode;
   149 
   149 
   150   d->transfers[line].count = size;
   150   d->transfers[line].count = size;
   151   d->transfers[line].offset = 0;
   151   d->transfers[line].offset = 0;
       
   152 #if 0
       
   153   // Me laisser ça, please ! (FD)
       
   154   {
       
   155     UNS8 i;
       
   156     for (i = 0 ; i < 10 ; i++) {
       
   157       MSG_WAR(i, "data= ", d->transfers[line].data[i]);
       
   158     }     
       
   159   }
       
   160 #endif
   152   return 0;
   161   return 0;
   153 }
   162 }
   154 
   163 
   155 /***************************************************************************/
   164 /***************************************************************************/
   156 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) {
   165 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) {
   762       MSG_WAR(0x3A90, "Reading at index : ", index);
   771       MSG_WAR(0x3A90, "Reading at index : ", index);
   763       MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex);
   772       MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex);
   764       // Search if a SDO transfert have been yet initiated
   773       // Search if a SDO transfert have been yet initiated
   765       err = getSDOlineOnUse( d, nodeId, whoami, &line );
   774       err = getSDOlineOnUse( d, nodeId, whoami, &line );
   766       if (! err) {
   775       if (! err) {
   767 	MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); 
   776 	    MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); 
   768         MSG_WAR(0x3A93, "nodeId = ", nodeId); 
   777         MSG_WAR(0x3A93, "nodeId = ", nodeId); 
   769 	failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR);
   778 	    failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR);
   770 	return 0xFF;
   779 	    return 0xFF;
   771       }
   780       }
   772       // No line on use. Great !
   781       // No line on use. Great !
   773       // Try to open a new line.
   782       // Try to open a new line.
   774       err = getSDOfreeLine( d, whoami, &line );
   783       err = getSDOfreeLine( d, whoami, &line );
   775       if (err) {
   784       if (err) {