NorthStar-Endurance-TestBench/north-star_emotas-stack/colib_ml/inc/co_time.h

57 lines
1.2 KiB
C

/*
* co_time.h - contains defines for time services
*
* Copyright (c) 2012-2023 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: co_time.h 49615 2023-09-26 14:21:27Z boe $
*-------------------------------------------------------------------
*
* Changelog:
*
*
*/
/**
* \brief defines for time services
*
* \file co_time.h - contains defines for time services
*
*/
#ifndef CO_TIME_H
#define CO_TIME_H 1
#include <co_datatype.h>
/* constant */
#define CO_TIME_PRODUCER_BIT 0x40000000ul
#define CO_TIME_CONSUMER_BIT 0x80000000ul
/**
* TIME_OF_DAY structure
*/
typedef struct {
UNSIGNED32 msec; /**< milliseconds after midnight */
UNSIGNED16 days; /**< days after 1st january of 1984 */
} CO_TIME_T;
/** \brief function pointer to time function
*
* \param pTime - time of day structure
*
* \return void
*/
typedef void (* CO_EVENT_TIME_T)(CO_LINE_TYPE, CO_TIME_T *pTime);
/* function prototypes */
EXTERN_DECL RET_T coTimeWriteReq(CO_LINE_DECL, const CO_TIME_T *pTimeData);
EXTERN_DECL RET_T coTimeInit(CO_LINE_DECL, BOOL_T producer, BOOL_T consumer);
EXTERN_DECL RET_T coEventRegister_TIME(CO_EVENT_TIME_T pFunction);
#endif /* CO_TIME_H */