Index: firmware/App/Modes/FPModes/FPOperationModes.h =================================================================== diff -u -r6545787080956983fed6bd9c2717938c202917ab -r4360891b921388dcc35e7b0362c3e4e246714e36 --- firmware/App/Modes/FPModes/FPOperationModes.h (.../FPOperationModes.h) (revision 6545787080956983fed6bd9c2717938c202917ab) +++ firmware/App/Modes/FPModes/FPOperationModes.h (.../FPOperationModes.h) (revision 4360891b921388dcc35e7b0362c3e4e246714e36) @@ -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.h * -* @author (last) Sean -* @date (last) 15-Nov-2024 +* @author (last) Raghu Kallala +* @date (last) 06-Apr-2026 * -* @author (original) Sean -* @date (original) 15-Nov-2024 +* @author (original) Michael Garthwaite +* @date (original) 08-Sep-2025 * ***************************************************************************/ @@ -34,29 +34,49 @@ #define NO_FP_SUB_STATE 0xFF ///< value for when submode does not have specific substates and is not applicable. +#pragma pack(push, 1) /// Payload record structure for op mode broadcast message typedef struct { U32 opMode; ///< Current operating mode U32 subMode; ///< Current sub-mode of current operating mode } OP_MODE_PAYLOAD_T; +/// Payload structure for FP defeatured status request +typedef struct +{ + BOOL isFPDefeatured; ///< FP defeatured status +} FP_DEF_STATUS_PAYLOAD_T; + +/// Payload structure for FP boost pump status request +typedef struct +{ + BOOL isFPBoostPumpInstalled; ///< FP boost pump installation status +} FP_BOOST_PUMP_INSTALL_STATUS_PAYLOAD_T; +#pragma pack(pop) + // ********** public function prototypes ********** void initFPOperationModes( void ); // Initialize this unit -void execFPOperationModes( void ); +void execFPOperationModes( void ); // Execute the FP operation mode state machine (scheduled periodic call) void requestNewFPOperationMode( FP_OP_MODE_T newMode ); // Request a transition to a new operation mode FP_OP_MODE_T getCurrentFPOperationMode( void ); // Get the current operation mode FP_OP_MODE_T getPreviousFPOperationMode( void ); // Get the previous operation mode U32 getCurrentFPSubMode( void ); // Get the current sub-mode BOOL isFPDefeatured( void ); // is the Leahi device is defeatured ( TBD pulled from NV mem ) BOOL isBoostPumpInstalled( void ); // is this leahi device installed with a boost pump ( TBD pulled from NV mem ) +REQUEST_REJECT_REASON_CODE_T signalStopGenPermeate( void ); // signal to stop gen permeate request. +REQUEST_REJECT_REASON_CODE_T signalStartGenPermeate( void ); // signal to start gen permeate request. void setCurrentFPSubState( U32 subState ); // Set the current substate. void setCurrentFP4thLevelState( U32 state ); // Set the current 4th level state. BOOL testSetFPOperationMode( MESSAGE_T *message ); // Set operation mode override BOOL testSetFPOpModePublishIntervalOverride( MESSAGE_T *message ); // Set operation mode publish interval override +BOOL testSetGeneratePermeateSignal( MESSAGE_T *message ); // Set start stop generate permeate. +BOOL testGetFPDefeaturedStatus( MESSAGE_T *message ); // Send a response message with FP defeatured status payload +BOOL testGetFPBoostPumpInstallStatus( MESSAGE_T *message ); // Send a response message with FP boost pump installation status payload +BOOL testSetFPOperationSubMode( MESSAGE_T *message ); // Set operation sub mode override /**@}*/