/************************************************************************** * * Copyright (c) 2024-2025 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 RinsePump.h * * @author (last) Vinayakam Mani * @date (last) 22-Oct-2025 * * @author (original) Vinayakam Mani * @date (original) 22-Oct-2025 * ***************************************************************************/ #ifndef __RINSE_PUMP_H__ #define __RINSE_PUMP_H__ // ********** public definitions ********** #include "DDCommon.h" /** * @defgroup RinsePump RinsePump * @brief Rinse Pump controller unit. Provides higher level control of the rinse pump. * * @addtogroup RinsePump * @{ */ // ********** public definitions ********** #pragma pack(push, 1) /// Payload record structure for air pump data broadcast message typedef struct { U32 d79State; ///< Rinse pump state status } RINSE_PUMP_PAYLOAD_T; #pragma pack(pop) /// Enumeration of air pump states. typedef enum RinsePumpControllerStates { RINSE_PUMP_STATE_INIT = 0, ///< Rinse Pump Initialize state RINSE_PUMP_STATE_OFF, ///< Rinse Pump Off state RINSE_PUMP_STATE_ON, ///< Rinse Pump On state NUM_OF_RINSE_PUMP_STATES, ///< Number of rinse pump states } RINSE_PUMP_STATE_T; // ********** public function prototypes ********** void initRinsePump(void); void execRinsePumpController(void); void setRinsePumpState( RINSE_PUMP_STATE_T state ); RINSE_PUMP_STATE_T getRinsePumpState( void ); BOOL testRinsePumpDataPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif