source: trunk/Cosy/incl/vmod.h@ 17916

Last change on this file since 17916 was 731, checked in by tbretz, 24 years ago
*** empty log message ***
File size: 6.2 KB
Line 
1/*-----------------------------------------------------------------------------
2vmod.h -- VMOD specific definitions (message specifiers, values)
3
4Copyright (c) 1994 JANZ Computer AG
5All Rights Reserved
6
7Created 96/08/01 by Stefan Althoefer
8Version 1.19 of 00/03/29
9
10-----------------------------------------------------------------------------*/
11
12#ifndef vmod_DEFINED
13#define vmod_DEFINED
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/* Specifiers of general messages */
20#define M_NOP 0x00 /* nil message, no operation */
21#define M_CONNECT 0x01 /* connect to host without interrupts */
22#define M_CONNECT_INTR 0x02 /* connect to host with interrupts */
23#define M_DISCONNECT 0x03 /* disconnect from host */
24#define M_IDVERS 0x04 /* get id and version */
25#define M_MSG_LOST 0x05 /* messages lost, host reads too slow */
26#define M_DEBUG 0x06 /* formatted debug output */
27#define M_SELECT 0x07 /* select functionality */
28#define M_NEWHOSTIF 0x08 /* switch to new stylish hostif */
29#define M_MEMORY 0x09 /* get info about memory */
30#define M_INQUIRY 0x0a /* get some info about module status */
31
32#define M_LOCK_LOADER 0x0b /* lock loader on next reset */
33#define M_FW_DOWNLOAD_req 0x0c /* host starts a firmware download */
34#define M_FW_DOWNLOAD_CONT_ind 0x0d /* target requests for more data */
35#define M_FW_DOWNLOAD_CONT_res 0x0e /* host responds with next data */
36#define M_FW_DOWNLOAD_con 0x0f /* target confirms the service */
37
38#define M_SET_AFIL 0x10 /* set acceptance filter mask */
39#define M_INIT_FDPMQUEUE 0x11 /* initialize fast dpmqueue */
40#define M_HW_CONF 0x12 /* configure hardware features */
41#define M_SET_PRIO_BND 0x13 /* set priority boundaries */
42#define M_HANDLE_HOST_GUARDING 0x14 /* spec dealing with host-guarding */
43
44#define M_FMSG_LOST 0x15 /* lost messages on fast queue */
45
46#define M_DEV_DEBUG 0x1f /* for debugging purposes */
47
48/* host guarding stuff concerning macros */
49#define GUARD_ACTIVE 0x01
50#define GUARD_INACTIVE 0x00
51#define ALIVE 0xaa
52#define DEAD 0x55
53
54/* module/host dependant CANopen configuration */
55#define M_CONF_CANOPEN_MUX 0x16 /* user <-> CANopen relevant config. */
56#define M_CONF_CANOPEN_MUX_DPM_ENDIAN 0x0 /* endianess of host */
57/* possible values: */
58#define COP_DPM_BIG_ENDIAN 0x00 /* mapping for Big Endian hosts */
59#define COP_DPM_LITTLE_ENDIAN 0x01 /* mapping for Little Endian hosts */
60/* mux for seeing the SYNC or not at host */
61#define M_CONF_CANOPEN_MUX_SEND_SYNC_TO_HOST 0x1 /* visibility of SYNC on host */
62
63#define M_ADD_FDPMQUEUE_PRIO 0x17 /* create one additional prioritized fast fromhost dpmqueue */
64
65/* BULK_BUFFER-stuff shouldn't it belong to mican.h (ICANOS) ??? */
66#define M_CONFIG_BULK_BUFFER 0x18 /* configbulk buffer for CAN-Layer-2-messages */
67#define MS_CONFIG_BULK_BUFFER_TIMEOUT_ONLY 0x0000 /* configure bulk buffers timeout to send */
68#define MS_CONFIG_BULK_BUFFER_TIMEOUT_SIZE 0x0001 /* configure bulk buffers timeout and size */
69
70#define M_CONFIG_SNIFF 0x1a /* config sniff buffer */
71#define MS_CONFIG_SNIFF_BUFFER_TIMEOUT_ONLY 0x0000 /* config sniff buff. timeout to send */
72#define MS_CONFIG_SNIFF_BUFFER_TIMEOUT_SIZE 0x0001 /* config sniff buff. timeout and size */
73#define MS_CONFIG_SNIFF_BUFFER_ECHO 0x0002 /* config sniff buff. echo from queues */
74#define MS_CONFIG_SNIFF_FILTER_STD 0x0003 /* set sniff acc. filt. (Std. CAN frames) */
75#define MS_CONFIG_SNIFF_FILTER_XTD 0x0004 /* set sniff acc. filt. (Xtd. CAN frames) */
76#define MS_SNIFF_INQUIRY 0x0005 /* inquiry module status (refer to M_INQUIRY) forces sending of INQUIRY message with SNIFF specifier */
77#define MS_SNIFF_IDVERS 0x0006 /* inquiry module version (refer to M_IDVERS) forces sending of IDVERS message with SNIFF specifier */
78#define MS_SNIFF_BUSLOAD_ALL 0x0007
79#define MS_SNIFF_CONFIG_BUSLOAD 0x0008
80#define MS_SNIFF_INQUIRY_CONTROLLER 0x0009 /* inquiry CAN controller status (refer to M_INQUIRY) forces sending of INQUIRY_CONTROLLER message with SNIFF specifier */
81
82
83
84/* message specifier/subspecifier for measurement of CAN bus load */
85#define M_BUSLOAD 0x19 /* configure resp. send/receive bus-load-measurement parameter/values */
86#define MS_CONFIG_BUSLOAD 0x0000 /* configure/de-/activate bus-load parameters (host -> module) */
87#define MS_REQUEST_BUSLOAD_ALL 0x0001 /* configure/de-/activate bus-load parameters (host -> module) */
88
89
90/* Customer 1 */
91#define M_CUST1 0xc0 /* Customer 1 */
92
93/* Subspecs for Customer 1 */
94#define MS_CUST1_INIT_req 0x0000 /* SysClk Init */
95#define MS_CUST1_START_TS_req 0x0001 /* OBSOLET! */
96
97/* Subspecs/defines for module inquiry M_INQUIRY */
98#define MS_INQUIRY_STATUS 0x0000 /* CAN Chip / module status */
99#define MS_INQUIRY_TIMING_MASKS_TERM 0x0001 /* CANbus bit rate, accept */
100 /* masks, termination state */
101#define MS_INQUIRY_HOST_IF 0x0002 /* new/old host interface */
102 /* on module */
103#define MS_INQUIRY_AFIL 0x0003 /* looks for acceptance mask */
104#define MS_INQUIRY_EXTD_STATUS 0x0004 /* CAN Chip / module status */
105 /* superior format. */
106
107#define MASK_COUNT 50 /* count of ID masks which will be sent */
108 /* on a MS_INQUIRY_AFIL response (CAVE AT */
109 /* the buffer size to loose no messages!) */
110#define INVALID_ID 9 /* signals out of id-range in INQUIRY_AFIL */
111
112#define INQUIRY_CTRL_82C200 0x01 /* 82C200 extended infos */
113#define INQUIRY_CTRL_SJA1000 0x02 /* SJA100 extended infos */
114
115/* Definitions for ICAN2/3 dependent termination states */
116#define TERM_INFO_AVAILABLE 0x80
117#define TERM_INFO_NOT_AVAILABLE 0x00
118#define TERM_ON 0x01
119#define TERM_OFF 0x00
120
121/* Maximum data length of messages */
122#define MSGLEN 252
123
124
125/* Definition of some special DPM locations. */
126#define TARGET_ALIVE 0xc
127#define TARGET_STATUS 0xe
128
129/*
130 * Some CANopen definitions for process picture
131 */
132/* length of necessary bytes for synchronization between host and VMOD-ICAN3 */
133#define NUM_DPM_SYNC_BYTES 2
134#define SYNC_BYTE_ICAN_OWNED 0
135#define SYNC_BYTE_HOST_OWNED 1
136
137#define MAX_DPM_PAGES 256 /* 0 .. 255 */
138#define MAX_DPM_BYTES 256 /* 0 .. 255 */
139
140#define DPM_DATA_INVALID 0
141#define DPM_DATA_VALID 1
142
143/* location of process picture */
144#define PP_START_IN_DPM 0x8000 /* PP starts at 32KByte in DPM */
145#define PP_MAX_BYTE_NUM 0x8000 /* PP has a length of 32KByte in DPM */
146
147
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif /* !vmod_DEFINED */
Note: See TracBrowser for help on using the repository browser.