00001 /* -*- coding: iso-8859-1 -*- 00002 * Copyright (C) 2008 TTTech Computertechnik AG 00003 * **************************************************************************** 00004 * Name 00005 * tte_common.h 00006 * 00007 * Purpose 00008 * Data types, constants, and fucntions used in all parts of the design. 00009 * 00010 * Revision Dates 00011 * 06-Mai-2008 Creation 00012 * 02-Dec-2008 (KSE) [29628] Guard defines 00013 * 02-Dec-2008 (KSE) [29628] Changed include names 00014 * 15-Dec-2008 (AAD) [29628] Added error codes 00015 * ««revision-date»»··· 00016 *-- 00017 */ 00018 00019 #ifndef TTE_COMMON_H_ 00020 #define TTE_COMMON_H_ 00021 00022 #include "tte_environment.h" 00023 00025 #define MAC_ADDR_LEN (6u) 00026 00027 #define DST_MAC_OFFSET (0u) 00028 #define SRC_MAC_OFFSET (6u) 00029 #define ETH_TYPE_OFFSET (12u) 00030 #define ETH_TYPE_LEN (2u) 00031 #define ETH_DATA_OFFSET (14u) 00032 #define ETH_HEADER_LEN (14u) 00033 #define MIN_ETH_DATA_LEN (46u) 00034 #define MIN_ETH_FRAME_LEN (64u) 00035 #define MAX_ETH_DATA_LEN (1500u) 00036 #define MAX_ETH_FRAME_LEN (1520u) 00037 00038 /* 16 byte aligned minimum Ethernet frame size */ 00039 #define CRC_LEN (4u) 00040 00041 #define CLUSTER_ID_LEN (4u) 00042 #define MAC_MSGID_OFFSET (4u) 00043 #define MAC_MSGID_LEN (2u) 00044 00045 #define SYNC_MSGID (1u) 00046 00047 #define CTRL_CNT (1u) 00048 #define CHANNEL_CNT (1u) 00049 00050 #define DOUBLE_BUF_LEN (2u) 00051 #define DOUBLE_PRECISION (2u) 00052 00053 #define TTE_ETH_TYPE ((uint16_t)0x891D) 00054 00055 #define TTE_CTRL_ID (0u) 00056 00057 typedef enum { 00058 TTE_FRAME 00059 , SYNC_FRAME 00060 , START_SEGMENT_FRAME 00061 , STOP_SEGMENT_FRAME 00062 , DW_FRAME 00063 , BG_FRAME 00064 } tte_frame_types_t; 00065 00066 00067 #endif /* TTE_COMMON_H_ */