src/pdo.c
changeset 298 dba062c5c3c1
parent 297 639e5ec5a120
child 315 1d3bf87b8658
equal deleted inserted replaced
297:639e5ec5a120 298:dba062c5c3c1
   458    while( offsetObjdict <= lastIndex) {  
   458    while( offsetObjdict <= lastIndex) {  
   459     switch( status ) {
   459     switch( status ) {
   460     case state3:
   460     case state3:
   461       if (/*d->objdict[offsetObjdict].bSubCount < 5 || not necessary with objdictedit (always 5)*/
   461       if (/*d->objdict[offsetObjdict].bSubCount < 5 || not necessary with objdictedit (always 5)*/
   462           /* check if TPDO is not valid */ 
   462           /* check if TPDO is not valid */ 
   463           *(UNS32*)d->objdict[offsetObjdict].pSubindex[0].pObject & 0x8000) {
   463           *(UNS32*)d->objdict[offsetObjdict].pSubindex[1].pObject & 0x80000000) {
   464 	  MSG_WAR(0x3960, "Not a valid PDO ", 0x1800 + pdoNum);
   464 	  MSG_WAR(0x3960, "Not a valid PDO ", 0x1800 + pdoNum);
   465 	  /*Go next TPDO*/
   465 	  /*Go next TPDO*/
   466 	  status = state11;
   466 	  status = state11;
   467 	  break;
   467 	  break;
   468 	}
   468 	}
   523 	   d->PDO_status[pdoNum].last_message.len == pdo.len &&
   523 	   d->PDO_status[pdoNum].last_message.len == pdo.len &&
   524 	   *(UNS64*)(&d->PDO_status[pdoNum].last_message.data[0]) == *(UNS64*)(&pdo.data[0])){
   524 	   *(UNS64*)(&d->PDO_status[pdoNum].last_message.data[0]) == *(UNS64*)(&pdo.data[0])){
   525 	   	/* No changes -> go to next pdo*/
   525 	   	/* No changes -> go to next pdo*/
   526 		status = state11;
   526 		status = state11;
   527 	}else{
   527 	}else{
       
   528 		
       
   529 		UNS16 EventTimerDuration;
       
   530         UNS16 InhibitTimerDuration;
       
   531 		
   528 		MSG_WAR(0x306A, "Changes TPDO number : ", pdoNum);
   532 		MSG_WAR(0x306A, "Changes TPDO number : ", pdoNum);
   529 		/* Changes detected -> transmit message */
   533 		/* Changes detected -> transmit message */
   530         UNS16 EventTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[5].pObject;
   534         EventTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[5].pObject;
   531         UNS16 InhibitTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[3].pObject;
   535         InhibitTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[3].pObject;
   532         
   536         
   533 		status = state5;
   537 		status = state5;
   534 		
   538 		
   535 		/* Start both event_timer and inhibit_timer*/
   539 		/* Start both event_timer and inhibit_timer*/
   536         if(EventTimerDuration){
   540         if(EventTimerDuration){