Index: AlarmMgmt.c =================================================================== diff -u -ra63f636c18858c8444d3e4908bb19755b4f2be27 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- AlarmMgmt.c (.../AlarmMgmt.c) (revision a63f636c18858c8444d3e4908bb19755b4f2be27) +++ AlarmMgmt.c (.../AlarmMgmt.c) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -167,7 +167,15 @@ data.alarmID = (U32)alarm; alarmIsDetected[ alarm ] = FALSE; +#ifdef _TD_ broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_TD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif +#ifdef _DD_ + broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif +#ifdef _RO_ + broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_RO_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif } } } @@ -197,7 +205,15 @@ data.alarmID = (U32) alarm; +#ifdef _TD_ broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_TD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif +#ifdef _DD_ + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif +#ifdef _RO_ + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_RO_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); +#endif alarmIsActive[ alarm ] = FALSE; clearAlarmCondition( alarm ); } Index: AlarmMgmt.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- AlarmMgmt.h (.../AlarmMgmt.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ AlarmMgmt.h (.../AlarmMgmt.h) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -18,7 +18,7 @@ #ifndef __ALARM_MGMT_H__ #define __ALARM_MGMT_H__ -#include "TDCommon.h" +#include "DDCommon.h" #include "AlarmDefs.h" #include "AlarmMgmtSWFaults.h" Index: Comm.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- Comm.h (.../Comm.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ Comm.h (.../Comm.h) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -18,7 +18,7 @@ #ifndef __COMM_H__ #define __COMM_H__ -#include "../TDCommon.h" +#include "DDCommon.h" /** * @defgroup CommInterrupts CommInterrupts Index: FPGA.c =================================================================== diff -u -ra63f636c18858c8444d3e4908bb19755b4f2be27 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- FPGA.c (.../FPGA.c) (revision a63f636c18858c8444d3e4908bb19755b4f2be27) +++ FPGA.c (.../FPGA.c) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -27,7 +27,7 @@ #include "FpgaTD.h" #endif #ifdef _DD_ -#include "FpgaDD.h" +#include "FPGADD.h" #endif #ifdef _RO_ #include "FpgaRO.h" @@ -189,6 +189,12 @@ fpgaSensorReadingsSize = senSize; fpgaActuatorSetPointsSize = actSize; + // initialize fpga comm buffers + memset( &fpgaWriteCmdBuffer, 0, FPGA_WRITE_CMD_BUFFER_LEN ); + memset( &fpgaReadCmdBuffer, 0, FPGA_READ_CMD_BUFFER_LEN ); + memset( &fpgaWriteResponseBuffer, 0, FPGA_WRITE_RSP_BUFFER_LEN ); + memset( &fpgaReadResponseBuffer, 0, FPGA_READ_RSP_BUFFER_LEN ); + // Enable interrupt notifications for FPGA serial port sciEnableNotification( scilinREG, SCI_OE_INT | SCI_FE_INT ); Index: FPGA.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- FPGA.h (.../FPGA.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ FPGA.h (.../FPGA.h) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -18,7 +18,16 @@ #ifndef __FPGA_H__ #define __FPGA_H__ +#ifdef _TD_ #include "TDCommon.h" +#endif +#ifdef _DD_ +#include "DDCommon.h" +#endif +#ifdef _RO_ +#include "ROCommon.h" +#endif + #include "Interrupts.h" 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 ); } Index: SystemComm.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- SystemComm.h (.../SystemComm.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ SystemComm.h (.../SystemComm.h) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -18,7 +18,16 @@ #ifndef __SYSTEM_COMM_H__ #define __SYSTEM_COMM_H__ +#ifdef _TD_ #include "TDCommon.h" +#endif +#ifdef _DD_ +#include "DDCommon.h" +#endif +#ifdef _RO_ +#include "ROCommon.h" +#endif + #include "CommBuffers.h" #include "MsgQueues.h" Index: WatchdogMgmt.h =================================================================== diff -u -r6d80d69a210f45c733e5307859351f2cd820a8e7 -r3402723ffaf9fb1256d51fd23f4273ad7c087836 --- WatchdogMgmt.h (.../WatchdogMgmt.h) (revision 6d80d69a210f45c733e5307859351f2cd820a8e7) +++ WatchdogMgmt.h (.../WatchdogMgmt.h) (revision 3402723ffaf9fb1256d51fd23f4273ad7c087836) @@ -17,9 +17,17 @@ #ifndef __WATCHDOG_MGMT_H__ #define __WATCHDOG_MGMT_H__ + +#ifdef _TD_ +#include "TDCommon.h" +#endif +#ifdef _DD_ +#include "DDCommon.h" +#endif +#ifdef _RO_ +#include "ROCommon.h" +#endif -#include "../TDCommon.h" - /** * @defgroup WatchdogMgmt WatchdogMgmt * @brief The watchdog management module provides functions for checking in