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 MSG_WAR(0x306A, "Changes TPDO number : ", pdoNum); |
528 MSG_WAR(0x306A, "Changes TPDO number : ", pdoNum); |
529 /* Changes detected -> transmit message */ |
529 /* Changes detected -> transmit message */ |
|
530 UNS16 EventTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[5].pObject; |
|
531 UNS16 InhibitTimerDuration = *(UNS16*)d->objdict[offsetObjdict].pSubindex[3].pObject; |
|
532 |
530 status = state5; |
533 status = state5; |
531 |
534 |
532 /* Start both event_timer and inhibit_timer*/ |
535 /* Start both event_timer and inhibit_timer*/ |
533 DelAlarm(d->PDO_status[pdoNum].event_timer); |
536 if(EventTimerDuration){ |
534 d->PDO_status[pdoNum].event_timer = SetAlarm(d, pdoNum, &PDOEventTimerAlarm, MS_TO_TIMEVAL(*(UNS16*)d->objdict[offsetObjdict].pSubindex[5].pObject), 0); |
537 DelAlarm(d->PDO_status[pdoNum].event_timer); |
|
538 d->PDO_status[pdoNum].event_timer = SetAlarm(d, pdoNum, &PDOEventTimerAlarm, MS_TO_TIMEVAL(EventTimerDuration), 0); |
|
539 } |
535 |
540 |
536 DelAlarm(d->PDO_status[pdoNum].inhibit_timer); |
541 if(InhibitTimerDuration){ |
537 d->PDO_status[pdoNum].inhibit_timer = SetAlarm(d, pdoNum, &PDOInhibitTimerAlarm, US_TO_TIMEVAL(*(UNS16*)d->objdict[offsetObjdict].pSubindex[3].pObject * 100), 0); |
542 DelAlarm(d->PDO_status[pdoNum].inhibit_timer); |
|
543 d->PDO_status[pdoNum].inhibit_timer = SetAlarm(d, pdoNum, &PDOInhibitTimerAlarm, US_TO_TIMEVAL(InhibitTimerDuration * 100), 0); |
|
544 /* and inhibit TPDO */ |
|
545 d->PDO_status[pdoNum].transmit_type_parameter |= PDO_INHIBITED; |
|
546 } |
538 |
547 |
539 /* and inhibit TPDO */ |
|
540 d->PDO_status[pdoNum].transmit_type_parameter |= PDO_INHIBITED; |
|
541 } |
548 } |
542 }else{ |
549 }else{ |
543 MSG_WAR(0x306C, " PDO is not on EVENT or synchro or not at this SYNC. Trans type : ", *pTransmissionType); |
550 MSG_WAR(0x306C, " PDO is not on EVENT or synchro or not at this SYNC. Trans type : ", *pTransmissionType); |
544 status = state11; |
551 status = state11; |
545 } |
552 } |