#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 of Acuva Strike II-B21 V10K L60 M UV-LED reactors. * EN: 50581:2012. The reactors have and On/Off switch and a health pin. * * @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; /// UV reactors data publish typedef struct { U32 inletUVReactorHealthStatus; ///< Inlet UV reactor health status U32 outletUVReactorHealthStatus; ///< Outlet UV reactor health status U32 inletUVReactorState; ///< Inlet UV reactor state U32 outletUVReactorState; ///< Outlet UV reactor state } UV_REACTORS_DATA_T; void initUVReactors( void ); SELF_TEST_STATUS_T execUVReactorsSelfTest( void ); void execUVReactors( void ); BOOL getUVReactorHealth( UV_REACTORS_T reactor ); BOOL turnOnUVReactor( UV_REACTORS_T reactor ); BOOL turnOffUVReactor( UV_REACTORS_T reactor ); BOOL testSetReactorsDataPublishInterval( U32 value ); BOOL testResetReactorsDataPublishInterval( void ); BOOL testSetUVReactorHealthOverride( U32 reactor, BOOL health ); BOOL testResetUVReactorHealthOverride( U32 reactor ); /**@}*/ #endif