/************************************************************************** * * Copyright (c) 2024-2024 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 AirPump.h * * @author (last) Sean * @date (last) 17-Sep-2024 * * @author (original) Sean * @date (original) 17-Sep-2024 * ***************************************************************************/ #ifndef __AIR_PUMP_H__ #define __AIR_PUMP_H__ // ********** public definitions ********** #include "TDCommon.h" #include "GLXferPump.h" /** * @defgroup AirPump AirPump * @brief Air Pump controller unit. Provides higher level control of the air pump. * * @addtogroup AirPump * @{ */ // ********** public definitions ********** /// Payload record structure for air pump data broadcast message typedef struct { U32 airPumpStateStatus; ///< Air Pump state status } AIR_PUMP_PAYLOAD_T; /// Enumeration of air pump states. typedef enum AirPumpControllerStates { AIR_PUMP_STATE_INIT = 0, ///< Air Pump Initialize state AIR_PUMP_STATE_OFF, ///< Air Pump Off state AIR_PUMP_STATE_ON, ///< Air Pump On state NUM_OF_AIR_PUMP_STATES, ///< Number of air pump states } AIR_PUMP_STATE_T; // ********** public function prototypes ********** void initAirPump(void); void execAirPumpController(void); void setAirPumpState( AIR_PUMP_STATE_T state ); AIR_PUMP_STATE_T getAirPumpState( void ); BOOL testAirPumpDataPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif