/************************************************************************** * * Copyright (c) 2026-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 SelfTests.h * * @author (last) Varshini Nagabooshanam * @date (last) 01-Apr-2026 * * @author (original) Varshini Nagabooshanam * @date (original) 01-Apr-2026 * ***************************************************************************/ #ifndef __SELF_TESTS_H__ #define __SELF_TESTS_H__ #include "TDCommon.h" #include "TDDefs.h" /** * @defgroup SelfTests * @brief SelfTests module. This module handles self-tests execution for pre-treatment mode. * * @addtogroup SelfTests * @{ */ // ********** public definitions ********** /// Payload record structure for no cartridge self-test data broadcast message typedef struct { U32 timeout; ///< No cartridge self-test timeout (in seconds) U32 countdown; ///< No cartridge self-test timeout countdown (in seconds) } SELF_TEST_NO_CARTRIDGE_PAYLOAD_T; /// Payload record structure for dry self-test data broadcast message typedef struct { U32 timeout; ///< Dry self-test timeout (in seconds) U32 countdown; ///< Dry self-test timeout countdown (in seconds) } SELF_TEST_DRY_PAYLOAD_T; /// Payload record structure for no cartridge self-test data broadcast message typedef enum AuthRejectReasons { AUTH_REASON_NONE = 0, ///< No rejection reason AUTH_REASON_INVALID, ///< Invalid tube set AUTH_REASON_MODALITY_MISMATCH, ///< Modality mismatch NUM_OF_AUTH_REJECT_REASONS ///< Number of auth reject reasons } AUTH_REJECT_REASON_T; // ********** public function prototypes ********** void initSelfTests( void ); void execDrySelfTests( void ); void transitionToDrySelfTests( void ); /**@}*/ #endif