/************************************************************************** * * Copyright (c) 2024-2026 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 Switches.h * * @author (last) N/A * @date (last) N/A * * @author (original) Steve Jarpe * @date (original) 22-May-2026 * ***************************************************************************/ #ifndef APP_SWITCHES_H_ #define APP_SWITCHES_H_ #include "DDCommon.h" /** * @defgroup Switches Switches * @brief Switches monitor unit. Provides functions for monitoring the status * of the DD switch positions. * * @addtogroup Switches * @{ */ // ********** public definitions ********** /// TD switches enumeration typedef enum switch_names { D101_SWCH = 0, ///< HDF cap closed connector on D102_SWCH, ///< HDF cap open connector off D103_SWCH, ///< HDF cap parked switch NUM_OF_SWITCHES ///< Number of switches } SWITCH_T; /// TD switches data publish structure typedef struct { U32 d101Sw1; ///< HDF cap closed connector on switch U32 d102Sw2; ///< HDF cap open connector off switch U32 d103CapParked; ///< HDF cap parked switch } SWITCHES_DATA_T; // ********** public function prototypes ********** void initSwitches( void ); void execSwitches( void ); OPN_CLS_STATE_T getSwitchState( SWITCH_T switchId ); BOOL testSwitchesDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testSwitchOverride( MESSAGE_T *message ); #endif /* APP_CONTROLLERS_SWITCHES_H_ */