Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r0901ce3d946bab5cae73edb102fc228a6533cb4b -reef41b7363d82763095a1317f1757f360f0d9ec1 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 0901ce3d946bab5cae73edb102fc228a6533cb4b) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision eef41b7363d82763095a1317f1757f360f0d9ec1) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file OperationModes.c * -* @author (last) Sean -* @date (last) 30-Jul-2024 +* @author (last) Varshini Nagabooshanam +* @date (last) 29-Jan-2026 * -* @author (original) Sean -* @date (original) 30-Jul-2024 +* @author (original) Sean Nash +* @date (original) 01-Aug-2024 * ***************************************************************************/ @@ -22,8 +22,7 @@ #include "ModeService.h" #include "ModeFault.h" #include "ModeStandby.h" -#include "ModeTxParams.h" -//#include "ModePreTreat.h" +#include "ModePreTreat.h" #include "ModeTreatment.h" //#include "ModePostTreat.h" //#include "NVDataMgmt.h" @@ -72,15 +71,14 @@ /// This matrix determines legal transitions from one mode to another static const TD_OP_MODE_T MODE_TRANSITION_TABLE[ NUM_OF_MODES - 1 ][ NUM_OF_MODES - 1 ] = { -// From to-> FAULT SERVICE INIT STANBY TRT.PARAMS PRE-TREAT TREATMENT POST_TREA -/* FAUL */{ MODE_FAUL, MODE_SERV, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, -/* SERV */{ MODE_NLEG, MODE_SERV, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, -/* INIT */{ MODE_FAUL, MODE_NLEG, MODE_INIT, MODE_STAN, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, -/* STAN */{ MODE_FAUL, MODE_SERV, MODE_INIT, MODE_STAN, MODE_TPAR, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, -/* TPAR */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_STAN, MODE_TPAR, MODE_PRET, MODE_NLEG, MODE_NLEG, }, -/* PRET */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_STAN, MODE_NLEG, MODE_PRET, MODE_TREA, MODE_POST, }, -/* TREA */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_TREA, MODE_POST, }, -/* POST */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_STAN, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_POST, }, }; +// From to-> FAULT SERVICE INIT STANBY PRE-TREAT TREATMENT POST_TREA +/* FAUL */{ MODE_FAUL, MODE_SERV, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, +/* SERV */{ MODE_NLEG, MODE_SERV, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, +/* INIT */{ MODE_FAUL, MODE_NLEG, MODE_INIT, MODE_STAN, MODE_NLEG, MODE_NLEG, MODE_NLEG, }, +/* STAN */{ MODE_FAUL, MODE_SERV, MODE_INIT, MODE_STAN, MODE_PRET, MODE_NLEG, MODE_NLEG, }, +/* PRET */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_STAN, MODE_PRET, MODE_TREA, MODE_POST, }, // From Standby to next mode is pretreatment +/* TREA */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_NLEG, MODE_TREA, MODE_POST, }, +/* POST */{ MODE_FAUL, MODE_NLEG, MODE_NLEG, MODE_STAN, MODE_NLEG, MODE_NLEG, MODE_POST, }, }; // ********** private function prototypes ********** @@ -124,8 +122,7 @@ initServiceMode(); initInitAndPOSTMode(); initStandbyMode(); - initTreatParamsMode(); -// initPreTreatmentMode(); + initPreTreatmentMode(); initTreatmentMode(); // initPostTreatmentMode(); } @@ -148,11 +145,13 @@ // Any new mode requests? newMode = arbitrateModeRequest(); // Will return current mode if no pending requests +#ifndef TEST_UI_ONLY // Verify mode transition is legal unless tester working with system TODO - restore check when all modes are implemented // if ( ( isTestingActivated() != TRUE ) && ( getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT ) != TRUE ) ) -// { -// newMode = MODE_TRANSITION_TABLE[ currentMode ][ newMode ]; -// } + { + newMode = MODE_TRANSITION_TABLE[ currentMode ][ newMode ]; + } +#endif // Is requested new mode valid and legal at this time? if ( newMode >= MODE_NLEG ) @@ -201,14 +200,10 @@ currentSubMode = execStandbyMode(); break; - case MODE_TPAR: - currentSubMode = execTreatParamsMode(); + case MODE_PRET: + currentSubMode = execPreTreatmentMode(); break; -// case MODE_PRET: -// currentSubMode = execPreTreatmentMode(); -// break; -// case MODE_TREA: currentSubMode = execTreatmentMode(); break; @@ -324,9 +319,6 @@ case MODE_STAN: signalAlarmActionToStandbyMode( action ); break; - case MODE_TPAR: - signalAlarmActionToTreatParamsMode( action ); - break; // case MODE_PRET: // signalAlarmActionToPreTreatmentMode( action ); // break; @@ -393,6 +385,8 @@ *************************************************************************/ static void transitionToNewOperationMode( TD_OP_MODE_T newMode ) { + SEND_EVENT_WITH_2_U32_DATA( TD_EVENT_OP_MODE_CHANGE, lastMode, newMode ) + // Setup for new operating mode switch ( newMode ) { @@ -408,12 +402,9 @@ case MODE_STAN: currentSubMode = transitionToStandbyMode(); break; - case MODE_TPAR: - currentSubMode = transitionToTreatParamsMode(); + case MODE_PRET: + currentSubMode = transitionToPreTreatmentMode(); break; -// case MODE_PRET: -// currentSubMode = transitionToPreTreatmentMode(); -// break; case MODE_TREA: currentSubMode = transitionToTreatmentMode(); break;