/*
* ico_sleep.h - contains internal defines for SLEEP
*
* Copyright (c) 2013-2023 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: ico_sleep.h 49614 2023-09-26 14:20:47Z boe $

*-------------------------------------------------------------------
*
*
*/

/**
* \file
* \brief dataty type header
*/

#ifndef ICO_SLEEP_H
#define ICO_SLEEP_H 1


#ifdef CO_EVENT_DYNAMIC_SLEEP
# ifdef CO_EVENT_PROFILE_SLEEP
#  define CO_EVENT_SLEEP_CNT	(CO_EVENT_DYNAMIC_SLEEP + CO_EVENT_PROFILE_SLEEP)
# else /* CO_EVENT_PROFILE_SLEEP */
#  define CO_EVENT_SLEEP_CNT	(CO_EVENT_DYNAMIC_SLEEP)
# endif /* CO_EVENT_PROFILE_SLEEP */
#else /* CO_EVENT_DYNAMIC_SLEEP */
# ifdef CO_EVENT_PROFILE_SLEEP
#  define CO_EVENT_SLEEP_CNT	(CO_EVENT_PROFILE_SLEEP)
# endif /* CO_EVENT_PROFILE_SLEEP */
#endif /* CO_EVENT_DYNAMIC_SLEEP */


/* datatypes */


/* function prototypes */

void	icoSleepReset(UNSIGNED8 master, UNSIGNED8 nodeId);
RET_T	icoSleepInit(UNSIGNED8 master);
void	icoSleepMsgHandler(CO_CONST CO_REC_DATA_T *pRec);
void	icoSleepVarInit(void);

void	icoSleepSetMasterSlave(CO_NMT_MASTER_STATE_T mState);

#endif /* ICO_SLEEP_H */
