/* * co_common.h - contains common defines * * Copyright (c) 2021-2024 emotas embedded communication GmbH * *------------------------------------------------------------------- * $Id: co_common.h 55038 2024-08-08 08:01:09Z boe $ *------------------------------------------------------------------- * * */ /** * \brief common defines * * \file co_common.h - contains common defines for all services * * This header inludes defines for all services of the CAN library. * It can be included instead of header files of each service. * */ #ifndef CO_COMMON_H #define CO_COMMON_H 1 #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include #include #include #include #include #ifdef CO_USER_EXTENSION_SUPPORTED # include #endif /* CO_USER_EXTENSION_SUPPORTED */ #define CORE_STACK_VERSION 0x010011ul #ifndef CO_HANDLE_WATCHDOG # define CO_HANDLE_WATCHDOG #endif /* CO_HANDLE_WATCHDOG */ /* protocol types */ typedef UNSIGNED16 MP_PROTOCOL_TYPE_T; #define MP_PROT_TYPE_UNKNOWN (MP_PROTOCOL_TYPE_T)0x0000 #define MP_PROT_TYPE_J1939 (MP_PROTOCOL_TYPE_T)0x0001 #define MP_PROT_TYPE_RAWCAN (MP_PROTOCOL_TYPE_T)0x0002 #define MP_PROT_TYPE_CANOPEN (MP_PROTOCOL_TYPE_T)0x0004 #define MP_PROT_TYPE_UDS (MP_PROTOCOL_TYPE_T)0x0008 /** * common line parameter definition * * defines number of line parameter for services */ #define CO_COMMON_INIT_STRUCT_VERSION 0x0001u typedef struct { UNSIGNED16 structVersion; UNSIGNED16 recBufferCnt[CO_MULTI_LINE_CNT]; UNSIGNED16 trBufferCnt[CO_MULTI_LINE_CNT]; UNSIGNED16 cobCnt[CO_MULTI_LINE_CNT]; MP_PROTOCOL_TYPE_T protocolType[CO_MULTI_LINE_CNT]; #ifdef ISOTP_SUPPORTED UNSIGNED16 isotpClientCnt[CO_MULTI_LINE_CNT]; UNSIGNED16 isotpServerCnt[CO_MULTI_LINE_CNT]; #endif /* ISOTP_SUPPORTED */ } CO_COMMON_INIT_VAL_T; /* function prototypes */ RET_T commonStackInit(const CO_COMMON_INIT_VAL_T *pCommonInitVals); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CO_COMMON_H */