/************************************************************************** * * Copyright (c) 2019-2021 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 Fans.h * * @author (last) Dara Navaei * @date (last) 13-Aug-2021 * * @author (original) Dara Navaei * @date (original) 25-Nov-2020 * ***************************************************************************/ #ifndef _FANS_H_ #define _FANS_H_ #include "Common.h" /** * @defgroup Fans Fans * @brief Fans monitor/controller module. Controls and monitors the DG fans. * * @addtogroup Fans * @{ */ /// Fans names typedef enum DG_fans { FAN_INLET_1 = 0, ///< Fan inlet 1 FAN_INLET_2, ///< Fan inlet 2 FAN_INLET_3, ///< Fan inlet 3 FAN_OUTLET_1, ///< Fan outlet 1 FAN_OUTLET_2, ///< Fan outlet 2 FAN_OUTLET_3, ///< Fan outlet 3 NUM_OF_FANS_NAMES ///< Number of fans names } FAN_NAMES_T; /// Fans data publish typedef struct { F32 dutyCycle; ///< Fans duty cycle F32 targetFansRPM; ///< Fans target RPM F32 fanInlet1RPM; ///< Fan inlet 1 RPM F32 fanInlet2RPM; ///< Fan inlet 2 RPM F32 fanInlet3RPM; ///< Fan inlet 3 RPM F32 fanOutlet1RPM; ///< Fan outlet 1 RPM F32 fanOutlet2RPM; ///< Fan outlet 2 RPM F32 fanOutlet3RPM; ///< Fan outlet 3 RPM } FANS_DATA_T; void initFans( void ); SELF_TEST_STATUS_T execFansSelfTest( void ); void execFans( void ); F32 getMeasuredFanRPM( FAN_NAMES_T fan ); BOOL testSetFanPublishIntervalOverride( U32 value ); BOOL testResetFanPublishIntervalOverride( void ); /**@}*/ #endif