-
Notifications
You must be signed in to change notification settings - Fork 4
/
api_define.h
146 lines (109 loc) · 3.89 KB
/
api_define.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
Licensed under the EUPL V.1.1, Lizenziert unter EUPL V.1.1
*/
#ifndef API_DEFINE__H
#define API_DEFINE__H
/*the define.h header file contents all define variable*/
#define CODE_VERSION "4.6.3"
#ifndef HADCON_VERSION
#define HADCON_VERSION 2
#endif
#if HADCON_VERSION == 1
#define IDENTIFICATION "HadCon"
#else
#if HADCON_VERSION == 2
#define IDENTIFICATION "HadCon2"
#else
#define IDENTIFICATION "unknown HadCon"
#endif
#endif
/*string ending sign: '0':48 "\0"==0? => yes, string ending=="\0"? => yes */
#define STRING_END 0
/* threshold for CommunicationError, below this value the global variable message
* is used instead of the constant alternative text */
#define F_CPU 10000000UL
#define MAX_LENGTH_KEYWORD 5
/* maximum length of their respective parameters of the strings via UART */
/* Formula for calculating UBBR0:
* UBBR0= ((F_CPU/(16*baud))<<U2X0)-1
*/
#define UART_DELIMITER " "
/*currently selected baud rate for the serial communication: baud rate = 115200 */
#define BAUD 10
/*size of array for the variable */
#define BUFFER_SIZE 140
/*maximum value for 11 bit identifier for CAN standard 2.0A*/
#define MAX_ELEVEN_BIT 2047
/*maximum input in the ring buffer*/
#define MAX_INPUT 30
/*start Pointer to receive CAN Data via CAN-Bus*/
#define MAX_BYTE_CAN_DATA 8
/*maximum arguments of received CAN Data*/
#define MAX_CAN_DATA 11
/*maximum length of received CAN Data*/
#define MAX_LENGTH_CAN_DATA 41
/*maximum length of command with CAN standard 2.0A*/
#define MAX_LENGTH_COMMAND (BUFFER_SIZE - 1)
/*maximum length of various error*/
#define MAX_LENGTH_ERROR 50
/*maximum number of parameters in string received via UART */
#define MAX_PARAMETER 14
/* maximum length of their respective parameters of the strings via UART */
#define MAX_LENGTH_PARAMETER 25
/*size of subscribe ID and Mask*/
#define MAX_LENGTH_SUBSCRIBE 15
/*undefined Mailbox */
#define NOMOB 0xFF
/*timeout for serial and CAN communication*/
#define TIMEOUT_UART 5000 /*Timeout for UART-communication*/
#define CAN_TIMEOUT_US 5000 /*Timeout for CAN-communication*/
/*Timeout error*/
#define TIME_S__ERROR "timeout for serial communication"
/*currently selected default baud rate for the CAN communication: baud rate = 250kps
*and other selected baud rate for the CAN communication: baud rate = 100 ... 1000kps*/
#define ONETHOUSAND_KBPS 1000000UL
#define FIVEHUNDERT_KBPS 500000UL
#define TWOHUNDERTFIFTY_KBPS 250000UL
#define TWOHUNDERT_KBPS 200000UL
#define ONEHUNDERTTWENTYFIVE_KBPS 125000UL
#define ONEHUNDERT_KBPS 100000UL
/* confirmation of sending on the bus */
#define CAN_READY "command will be carried out"
/*define specific for gas_temp*/
#define THIGH 900
#define TLOW 100
/*#warning HADCON devices are around, which exceed those 20 devices, formerly to be 60*/
#define OWI_MAX_NUM_DEVICES 20
#define TRUE 1
#define FALSE 0
#define RESULT_OK 0
#define RESULT_FAILURE 1
#define OWI_FAMILY_DS2450_ADC 0x20
#define OWI_FAMILY_DS18B20_TEMP 0x28
#define OWI_FAMILY_DS18S20_TEMP 0x10
#define OWI_FAMILY_DS2405_SIMPLE_SWITCH 0x05
#define OWI_FAMILY_DS2413_DUAL_SWITCH 0x3A
#define OWI_FAMILY_DS2408_OCTAL_SWITCH 0x29
/*OWI_MAX_NUM_PIN_BUS indicates the number of active pins for 1-wire bus on the HadCon board */
#if ( HADCON_VERSION == 1)
#define OWI_MAX_NUM_PIN_BUS 8
#elif ( HADCON_VERSION == 2)
#define OWI_MAX_NUM_PIN_BUS 6
#else
#define OWI_MAX_NUM_PIN_BUS 0
#endif
#define BV(x) (1<<x)
#define BIT(x) (1<<x)
/* disabling JTAG allowed */
#define ALLOW_DISABLE_JTAG
#define OWI_ADC_DS2450_MAX_RESOLUTION 16
#define max(a,b) \
({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a > _b ? _a : _b; })
#define min(a,b) \
({ __typeof__ (a) _a = (a); \
__typeof__ (b) _b = (b); \
_a < _b ? _a : _b; })
#define RESET_TIME_TO_WAIT_S 3
#endif