Index: firmware/App/Controllers/FluidLeak.c =================================================================== diff -u -rcc4f8440e8ad7fa8f2ced2467d922be7422c344c -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision cc4f8440e8ad7fa8f2ced2467d922be7422c344c) +++ firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -132,9 +132,11 @@ // Publish fluid leak state on interval if ( ++fluidLeakStatePublicationTimerCounter >= getU32OverrideValue( &fluidLeakStatePublishInterval ) ) { - U32 state = (U32)getFluidLeakState(); + FLUID_LEAK_DATA_T data; - broadcastData( MSG_ID_HD_FLUID_LEAK_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&state, sizeof( U32 ) ); + data.fluidLeakState = (U32)getFluidLeakState(); + + broadcastData( MSG_ID_HD_FLUID_LEAK_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( FLUID_LEAK_DATA_T ) ); fluidLeakStatePublicationTimerCounter = 0; } } Index: firmware/App/Controllers/FluidLeak.h =================================================================== diff -u -r3d72b777cf1ceb673d118341c46e2d6d5b7b75f5 -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Controllers/FluidLeak.h (.../FluidLeak.h) (revision 3d72b777cf1ceb673d118341c46e2d6d5b7b75f5) +++ firmware/App/Controllers/FluidLeak.h (.../FluidLeak.h) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -39,7 +39,13 @@ FLUID_LEAK_STATE_WET = 0, ///< Fluid leak detector senses fluid FLUID_LEAK_STATE_DRY, ///< Fluid leak detector does not sense any fluid NUM_OF_FLUID_LEAK_STATES ///< Number of fluid leak detector states -} FLUID_LEAK_STATES_T; +} FLUID_LEAK_STATES_T; + +/// Fluid leak publish data structure +typedef struct +{ + U32 fluidLeakState; ///< Fluid leak state. +} FLUID_LEAK_DATA_T; // ********** public function prototypes ********** Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -re4f4d7c87dc50fe7a166f26a903547315671fd17 -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision e4f4d7c87dc50fe7a166f26a903547315671fd17) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -1861,6 +1861,7 @@ if ( ++syringePumpDataPublicationTimerCounter >= getU32OverrideValue( &syringePumpDataPublishInterval ) ) { SYRINGE_PUMP_DATA_PAYLOAD_T data; + SYRINGE_PUMP_VOLUME_DATA_T volData; data.syringePumpMeasForce = getSyringePumpForceV(); data.syringePumpMeasHome = getSyringePumpHomeDetectorV(); @@ -1877,8 +1878,10 @@ ( (U32)getSyringePumpADCandDACStatus() << SHIFT_8_BITS_FOR_BYTE_SHIFT ) | ( (U32)getSyringePumpADCReadCounter() ); + volData.syringePumpVolumeDelivered = getSyringePumpVolumeDelivered(); + broadcastData( MSG_ID_HD_SYRINGE_PUMP_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( SYRINGE_PUMP_DATA_PAYLOAD_T ) ); - broadcastData( MSG_ID_HD_HEPARIN_DATA_BROADCAST, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data.syringePumpVolumeDelivered, sizeof( F32 ) ); + broadcastData( MSG_ID_HD_HEPARIN_DATA_BROADCAST, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&volData, sizeof( SYRINGE_PUMP_VOLUME_DATA_T ) ); syringePumpDataPublicationTimerCounter = 0; } } Index: firmware/App/Controllers/SyringePump.h =================================================================== diff -u -re4f4d7c87dc50fe7a166f26a903547315671fd17 -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision e4f4d7c87dc50fe7a166f26a903547315671fd17) +++ firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -68,6 +68,12 @@ U32 syringePumpStatus; } SYRINGE_PUMP_DATA_PAYLOAD_T; +/// Heparin publish data structure +typedef struct +{ + F32 syringePumpVolumeDelivered; ///< Syringe pump volume delivered. +} SYRINGE_PUMP_VOLUME_DATA_T; + // ********** public function prototypes ********** void initSyringePump( void ); Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -r3db5538afb80bc12822304d698343e0325fa708e -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 3db5538afb80bc12822304d698343e0325fa708e) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -184,9 +184,11 @@ if ( ++postTreatmentPublishTimerCounter >= getU32OverrideValue( &postTreatmentModePublishInterval ) ) { - U32 state = (U32)currentPostTreatmentState; + POST_TREATMENT_STATE_DATA_T data; - broadcastData( MSG_ID_HD_POST_TREATMENT_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&state, sizeof( U32 ) ); + data.currentPostTreatmentState = (U32)currentPostTreatmentState; + + broadcastData( MSG_ID_HD_POST_TREATMENT_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( POST_TREATMENT_STATE_DATA_T ) ); postTreatmentPublishTimerCounter = 0; } Index: firmware/App/Modes/ModePostTreat.h =================================================================== diff -u -r24b2fe72608344e67ef37234085d15ad5e4fcc37 -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision 24b2fe72608344e67ef37234085d15ad5e4fcc37) +++ firmware/App/Modes/ModePostTreat.h (.../ModePostTreat.h) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -78,6 +78,12 @@ U32 waterSampleTestResult; ///< Pass or fail } TREATMENT_LOG_DATA_PAYLOAD_T; +/// Post treatment state data publish +typedef struct +{ + U32 currentPostTreatmentState; ///< Post treatment current state. +} POST_TREATMENT_STATE_DATA_T; + // ********** public function prototypes ********** void initPostTreatmentMode( void ); // Initialize this module Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r89e21ce50fba7e91573780b0f57b6378e3cad84a -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 89e21ce50fba7e91573780b0f57b6378e3cad84a) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -369,10 +369,12 @@ // Clear alarm condition and broadcast alarm condition clear if not already cleared if ( TRUE == alarmIsDetected[ alarm ] ) { - U32 a = (U32)alarm; + ALARM_NAME_DATA_T data; + data.alarmName = (U32)alarm; + alarmIsDetected[ alarm ] = FALSE; - broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&a, sizeof( U32 ) ); + broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&data, sizeof( ALARM_NAME_DATA_T ) ); } } } @@ -398,9 +400,11 @@ // Clear alarm and broadcast alarm clear if not already cleared if ( TRUE == alarmIsActive[ alarm ] ) { - U32 a = (U32)alarm; + ALARM_NAME_DATA_T data; + + data.alarmName = (U32) alarm; - broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&a, sizeof( U32 ) ); + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&data, sizeof( ALARM_NAME_DATA_T ) ); alarmIsActive[ alarm ] = FALSE; clearAlarmCondition( alarm ); @@ -1475,9 +1479,11 @@ { if ( TRUE == alarmIsActive[ a ] ) { - U32 al = (U32)a; + ALARM_NAME_DATA_T data; - broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&al, sizeof( U32 ) ); + data.alarmName = (U32)a; + + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_HD_ALARM, (U08*)&data, sizeof( ALARM_NAME_DATA_T ) ); alarmIsActive[ a ] = FALSE; alarmStartedAt[ a ].data = 0; // Clear FIFO if this alarm was in it Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r89e21ce50fba7e91573780b0f57b6378e3cad84a -r8457e008319c5f6b20085918dd1799a7bfe841ca --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 89e21ce50fba7e91573780b0f57b6378e3cad84a) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 8457e008319c5f6b20085918dd1799a7bfe841ca) @@ -152,8 +152,14 @@ U32 silenceExpiresIn; ///< Silencing of alarms expires in this many seconds U16 alarmsFlags; ///< Bit flags: 1 = true, 0 = false for each bit flag } ALARM_COMP_STATUS_PAYLOAD_T; -#pragma pack(pop) +#pragma pack(pop) +/// Alarm name data publish +typedef struct +{ + U32 alarmName; ///< Alarm name. +} ALARM_NAME_DATA_T; + // ********** public function prototypes ********** void initAlarmMgmt( void );