Index: firmware/.settings/org.eclipse.core.resources.prefs =================================================================== diff -u -rb74d08ff24839ebbea51582772ed2b9588558ea0 -r3fbf8872808789fde9bd0d7304c0a193ddc53fc7 --- firmware/.settings/org.eclipse.core.resources.prefs (.../org.eclipse.core.resources.prefs) (revision b74d08ff24839ebbea51582772ed2b9588558ea0) +++ firmware/.settings/org.eclipse.core.resources.prefs (.../org.eclipse.core.resources.prefs) (revision 3fbf8872808789fde9bd0d7304c0a193ddc53fc7) @@ -30,6 +30,8 @@ encoding//Release/App/Modes/subdir_vars.mk=UTF-8 encoding//Release/App/Monitors/subdir_rules.mk=UTF-8 encoding//Release/App/Monitors/subdir_vars.mk=UTF-8 +encoding//Release/App/Services/StateServices/subdir_rules.mk=UTF-8 +encoding//Release/App/Services/StateServices/subdir_vars.mk=UTF-8 encoding//Release/App/Services/subdir_rules.mk=UTF-8 encoding//Release/App/Services/subdir_vars.mk=UTF-8 encoding//Release/App/Tasks/subdir_rules.mk=UTF-8 Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -rb459546476339d45e8b39b3991dac20effeab415 -r3fbf8872808789fde9bd0d7304c0a193ddc53fc7 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision b459546476339d45e8b39b3991dac20effeab415) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 3fbf8872808789fde9bd0d7304c0a193ddc53fc7) @@ -7,8 +7,8 @@ * * @file AirPump.c * -* @author (last) Sameer Kalliadan Poyil -* @date (last) 02-Mar-2026 +* @author (last) Varshini Nagabooshanam +* @date (last) 21-May-2026 * * @author (original) Sean Nash * @date (original) 19-Sep-2024 Index: firmware/App/Monitors/Pressures.c =================================================================== diff -u -r2b2e6b9f81b69e782c5ca99ef52771a85ead332e -r3fbf8872808789fde9bd0d7304c0a193ddc53fc7 --- firmware/App/Monitors/Pressures.c (.../Pressures.c) (revision 2b2e6b9f81b69e782c5ca99ef52771a85ead332e) +++ firmware/App/Monitors/Pressures.c (.../Pressures.c) (revision 3fbf8872808789fde9bd0d7304c0a193ddc53fc7) @@ -7,8 +7,8 @@ * * @file Pressures.c * -* @author (last) Raghu Kallala -* @date (last) 13-Apr-2026 +* @author (last) Dara Navaei +* @date (last) 16-May-2026 * * @author (original) Sean Nash * @date (original) 24-Sep-2024 @@ -608,7 +608,7 @@ #ifndef TEST_NO_PRESSURE_CHECKS checkArterialPressureInRange(); checkVenousPressureInRange(); - checkTMPPressureInRange(); + checkTmpPressureInRange(); #endif return result; Index: firmware/App/Services/Messaging.c =================================================================== diff -u -rc6acef37b0f60f610748df3670d788ccad11e3c9 -r3fbf8872808789fde9bd0d7304c0a193ddc53fc7 --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision c6acef37b0f60f610748df3670d788ccad11e3c9) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision 3fbf8872808789fde9bd0d7304c0a193ddc53fc7) @@ -7,8 +7,8 @@ * * @file Messaging.c * -* @author (last) Praneeth Bunne -* @date (last) 21-May-2026 +* @author (last) Dara Navaei +* @date (last) 27-May-2026 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 @@ -120,6 +120,7 @@ { MSG_ID_UI_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_REQUEST, &bloodPrimeHandleBloodFlowChangeRequest }, { MSG_ID_UI_ADJUST_DISPOSABLES_CONFIRM_REQUEST, &handleAutoLoadRequest }, { MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST, &handleAutoEjectRequest }, + { MSG_ID_FFU_SIGNAL_TD_UPDATE_AVAILABLE, &handleUpdateAvailable }, { MSG_ID_TD_SOFTWARE_RESET_REQUEST, &testTDSoftwareResetRequest }, { MSG_ID_TD_BUBBLE_OVERRIDE_REQUEST, &testBubbleDetectOverride }, { MSG_ID_TD_BUBBLE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testBubblesDataPublishIntervalOverride }, @@ -616,6 +617,18 @@ /*********************************************************************//** * @brief + * The resetMicroControllerUnit function resets the MCU. + * @details \b Inputs: none + * @details \b Outputs: none + * @return none + *************************************************************************/ +void resetMicroControllerUnit( void ) +{ + setSystemREG1_SYSECR( (0x2) << 14 ); // Reset processor +} + +/*********************************************************************//** + * @brief * The sendTestAckResponseMsg function constructs a simple response message * for a handled test message and queues it for transmit on the TD=>PC CAN * channel. @@ -684,6 +697,32 @@ /*********************************************************************//** * @brief + * The handleUpdateAvailable function handles a request from the + * Firmware FPGA Updater (FFU) to reset the TD firmware processor. + * @note If reset is successful, this function will not return. + * @details \b Inputs: none + * @details \b Outputs: TD processor soft reset if request is valid + * @param message Pointer to the reset request message + * @return FALSE if reset command rejected + *************************************************************************/ +BOOL handleUpdateAvailable( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + // Verify payload length + if ( 0 == message->hdr.payloadLen ) + { // S/w reset of processor + result = TRUE; // Reset will prevent this from getting transmitted though + requestNewOperationMode( MODE_UPDT ); + } + + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_TD_2_UI, result ); + + return result; +} + +/*********************************************************************//** + * @brief * The testTDSoftwareResetRequest function handles a request to reset the * TD firmware processor. * @note If reset is successful, this function will not return. @@ -700,7 +739,7 @@ if ( 0 == message->hdr.payloadLen ) { // S/w reset of processor result = TRUE; // Reset will prevent this from getting transmitted though - setSystemREG1_SYSECR( (0x2) << 14 ); // Reset processor + resetMicroControllerUnit(); } sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); Index: firmware/App/TDCommon.h =================================================================== diff -u -rc3ce6a83a7ac1cb562662c4760b74839b748e84a -r3fbf8872808789fde9bd0d7304c0a193ddc53fc7 --- firmware/App/TDCommon.h (.../TDCommon.h) (revision c3ce6a83a7ac1cb562662c4760b74839b748e84a) +++ firmware/App/TDCommon.h (.../TDCommon.h) (revision 3fbf8872808789fde9bd0d7304c0a193ddc53fc7) @@ -7,8 +7,8 @@ * * @file TDCommon.h * -* @author (last) Raghu Kallala -* @date (last) 29-Apr-2026 +* @author (last) Dara Navaei +* @date (last) 27-May-2026 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 @@ -37,9 +37,9 @@ // #define TEST_DEBUGGER 1 // Testing with debugger - prevents FPGA comm alarms caused by breakpoints // #define TEST_PROCESS_TASKS_WO_UI 1 // Allow task processing even when UI not connected // #define TEST_UI_ONLY 1 // Alpha test with TD and UI only - no DD - #define TEST_DISABLE_UI_ALARMS 1 // Disable UI alarms +// #define TEST_DISABLE_UI_ALARMS 1 // Disable UI alarms // #define TEST_USE_OFF_AS_STOP_BUTTON 1 // Alpha test re-purposing off button as a stop button - #define TEST_NO_PRESSURE_CHECKS 1 // Alpha test with no pressure sensor checks +// #define TEST_NO_PRESSURE_CHECKS 1 // Alpha test with no pressure sensor checks // #define TEST_NO_STOP_CONSUME_CHECK 1 // Alpha test with no check for stop button timeout // #define ASN_DEMO 1