TURAG-Feldbus
feldbus_config_check.h
1#ifndef FELDBUS_CONFIG_CHECK_AVR_H_
2#define FELDBUS_CONFIG_CHECK_AVR_H_
3
4
5#include <feldbus_config.h>
6
7#ifdef __cplusplus
8# include <cstdint>
9#else
10# include <stdint.h>
11#endif
12
13// hide some uninteresting stuff from documentation
14#if (!defined(__DOXYGEN__))
15
16
17
18#ifndef TURAG_FELDBUS_DEVICE_CONFIG_CRC_TYPE
19# error TURAG_FELDBUS_DEVICE_CONFIG_CRC_TYPE must be defined
20#else
21# if TURAG_FELDBUS_DEVICE_CONFIG_CRC_TYPE == TURAG_FELDBUS_CHECKSUM_CRC8_16_MIXED
22# define TURAG_FELDBUS_DEVICE_CRC_SIZE 2
23# else
24# define TURAG_FELDBUS_DEVICE_CRC_SIZE 1
25# endif
26#endif
27
28#ifndef TURAG_FELDBUS_DEVICE_CONFIG_BUFFER_SIZE
29# error TURAG_FELDBUS_DEVICE_CONFIG_BUFFER_SIZE must be defined
30#endif
31
32#ifndef TURAG_FELDBUS_DEVICE_CONFIG_DEBUG_ENABLED
33# error TURAG_FELDBUS_DEVICE_CONFIG_DEBUG_ENABLED must be defined
34#else
35# if TURAG_FELDBUS_DEVICE_CONFIG_DEBUG_ENABLED
36# warning TURAG_FELDBUS_DEVICE_CONFIG_DEBUG_ENABLED = 1
37# endif
38#endif
39
40#ifndef TURAG_FELDBUS_DEVICE_CONFIG_UPTIME_FREQUENCY
41# error TURAG_FELDBUS_DEVICE_CONFIG_UPTIME_FREQUENCY must be defined
42#else
43# if (TURAG_FELDBUS_DEVICE_CONFIG_UPTIME_FREQUENCY<0) || (TURAG_FELDBUS_DEVICE_CONFIG_UPTIME_FREQUENCY>65535)
44# error TURAG_FELDBUS_DEVICE_CONFIG_UPTIME_FREQUENCY must be within the range of 0-65535
45# endif
46#endif
47
48
49#if TURAG_FELDBUS_DEVICE_CONFIG_BUFFER_SIZE > 65535
50# error buffer sizes greater than 65535 are no longer supported.
51#elif TURAG_FELDBUS_DEVICE_CONFIG_BUFFER_SIZE > 255
52 typedef uint16_t FeldbusSize_t;
53# define TURAG_FELDBUS_NO_ANSWER 0xffff
54#else
55 typedef uint8_t FeldbusSize_t;
56# define TURAG_FELDBUS_NO_ANSWER 0xff
57#endif
58
59#define TURAG_FELDBUS_DEVICE_CONFIG_ADDRESS_LENGTH 1
60
61
62#endif // (!defined(__DOXYGEN__))
63
64
65#endif // FELDBUS_CONFIG_CHECK_AVR_H_
Beispiel für den Config-Header eines Feldbus Slave-Gerätes. Diese Datei kann in das Quellverzeichnis ...