#ifndef APP_CONTROLLERS_UVREACTORS_H_ #define APP_CONTROLLERS_UVREACTORS_H_ #include "Common.h" /** * @defgroup UV Reactors UV Reactors * @brief UV reactors driver module. * Controls the inlet and outlet UV reactors * * @addtogroup UV Reactors * @{ */ /// UV reactors names typedef enum uv_reactors_names { INLET_UV_REACTOR = 0, ///< Inlet UV reactor OUTLET_UV_REACTOR, ///< Outlet UV reactor NUM_OF_UV_REACTORS, ///< Number of UV reactors } UV_REACTORS_T; #pragma pack(push, 1) /// UV reactors data publish typedef struct { U32 inletUVReactorHealthStatus; ///< Inlet UV reactor health status U32 outletUVReactorHealthStatus; ///< Outlet UV reactor health status } UV_REACTORS_DATA_T; #pragma pack(pop) void initUVReactors( void ); SELF_TEST_STATUS_T execUVReactorsSelfTest( void ); void execUVReactos( void ); BOOL turnOnUVReactor( UV_REACTORS_T reactor ); BOOL turnOffUVReactor( UV_REACTORS_T reactor ); BOOL testSetReactorsDataPublishInterval( U32 value ); BOOL testResetReactorsDataPublishInterval( void ); BOOL testSetUVReactorsStateOverride( U32 reactor, PIN_SIGNAL_STATE_T signal ); BOOL testResetUVReactorsStateOverride( U32 reactor ); /**@}*/ #endif