Index: firmware/App/Modes/FPModes/FPOperationModes.c =================================================================== diff -u -rd7990b8e352be3c997124800b995fa5e6b63989f -r89c8709e3b27648926fbb20f25c9a67cbeb99adc --- firmware/App/Modes/FPModes/FPOperationModes.c (.../FPOperationModes.c) (revision d7990b8e352be3c997124800b995fa5e6b63989f) +++ firmware/App/Modes/FPModes/FPOperationModes.c (.../FPOperationModes.c) (revision 89c8709e3b27648926fbb20f25c9a67cbeb99adc) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2025-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 FPOperationModes.c * -* @author (last) Sean -* @date (last) 15-Nov-2024 +* @author (last) “rkallala” +* @date (last) 15-Jan-2026 * -* @author (original) Sean -* @date (original) 15-Nov-2024 +* @author (original) Michael Garthwaite +* @date (original) 08-Sep-2025 * ***************************************************************************/ @@ -131,7 +131,7 @@ // Is requested new mode valid and legal at this time? if ( ( newMode >= FP_MODE_NLEG ) && ( isTestingActivated() != TRUE ) ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED, newMode ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, FP_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED, newMode ) newMode = currentMode; } @@ -181,7 +181,7 @@ break; default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_STATE, currentMode ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, FP_FAULT_ID_OP_MODES_INVALID_MODE_STATE, currentMode ) currentMode = FP_MODE_FAUL; currentSubMode = 0; break; @@ -220,7 +220,7 @@ } else { // Invalid mode requested - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_REQUESTED, newMode ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, FP_FAULT_ID_OP_MODES_INVALID_MODE_REQUESTED, newMode ) } } @@ -346,9 +346,8 @@ currentSubMode = transitionToGenPermeateDefeaturedMode(); break; - default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, SW_FAULT_ID_OP_MODES_INVALID_MODE_TO_TRANSITION_TO, newMode ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_SOFTWARE_FAULT, FP_FAULT_ID_OP_MODES_ILLEGAL_MODE_TRANSITION_REQUESTED, newMode ) break; } } @@ -553,7 +552,7 @@ * @details \b Outputs: none * @param message message from Dialin which includes the signal to start or stop * generate permeate modes. - * @return TRUE if set successful, FALSE if not + * @return TRUE if override is successful, FALSE if not *************************************************************************/ BOOL testSetGeneratePermeateSignal( MESSAGE_T *message ) { @@ -578,4 +577,24 @@ return result; } +/*********************************************************************//** + * @brief + * The testGetFPDefeaturedStatus function return whether FP is defeatured or not. + * @details \b Inputs: none + * @details \b Outputs: none + * @details \b Message: \b Sent: MSG_ID_FP_DEF_STATUS_RESPONSE + * @param message request message from Dialin for FP defeatured status. + * @return TRUE if request is successful, FALSE if not + *************************************************************************/ +BOOL testGetFPDefeaturedStatus( MESSAGE_T *message ) +{ + BOOL result = FALSE; + FP_DEF_STATUS_PAYLOAD_T data; + + data.isFPDefeatured = isFPDefeatured(); + result = sendMessage( MSG_ID_FP_DEF_STATUS_RESPONSE, COMM_BUFFER_OUT_DD_CAN_PC, (U08*)&data, sizeof(FP_DEF_STATUS_PAYLOAD_T) ); + + return result; +} + /**@}*/