Index: SystemComm.c =================================================================== diff -u -ra63f636c18858c8444d3e4908bb19755b4f2be27 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- SystemComm.c (.../SystemComm.c) (revision a63f636c18858c8444d3e4908bb19755b4f2be27) +++ SystemComm.c (.../SystemComm.c) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -55,6 +55,8 @@ #define PENDING_ACK_LIST_OVERRIDE_UI_CHANNEL 1 ///< Value for determining UI channel when Pending ACKs are overriden. #define PENDING_ACK_LIST_OVERRIDE_DG_CHANNEL 2 ///< Value for determining DG channel when Pending ACKs are overriden. +#define PENDING_ACK_LIST_OVERRIDE_TD_CHANNEL 3 ///< Value for determining TD channel when Pending ACKs are overriden. +#define PENDING_ACK_LIST_OVERRIDE_RO_CHANNEL 4 ///< Value for determining RO channel when Pending ACKs are overriden. #pragma pack(push, 1) @@ -678,9 +680,23 @@ if ( ( TRUE == pendingAckList[ i ].used ) && ( pendingAckList[ i ].seqNo == seqNo ) ) { result = TRUE; +#ifdef _TD_ // Remove message pending ACK from list if ( ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_UI_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_TD_2_UI ) ) && ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_DG_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_TD_2_DD ) ) ) +#endif +#ifdef _DD_ + //TODO : validate code changes + // Remove message pending ACK from list + if ( ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_TD_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_DD_2_TD ) ) && + ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_DG_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_DD_2_RO ) ) ) +#endif +#ifdef _RO_ + // TODO : clean up required + // Remove message pending ACK from list + if ( ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_UI_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_TD_2_UI ) ) && + ( ( getU32OverrideValue( &pendingACKOverride ) != PENDING_ACK_LIST_OVERRIDE_DG_CHANNEL ) || ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_TD_2_DD ) ) ) +#endif { pendingAckList[ i ].used = FALSE; } @@ -721,8 +737,16 @@ U16 msgID; memcpy( &msgID, (U08*)&pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16) ], sizeof( U16 ) ); - + //TODO : validate code changes +#ifdef _TD_ if ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_TD_2_DD ) +#endif +#ifdef _DD_ + if ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_DD_2_TD ) +#endif +#ifdef _RO_ + if ( pendingAckList[ i ].channel != COMM_BUFFER_OUT_CAN_RO_2_DD ) +#endif { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_TD_CAN_MESSAGE_NOT_ACKED_BY_UI, (U32)msgID ); }