Statistics
| Branch: | Tag: | Revision:

amiro-lld / amiro-lld.h @ d6728c5b

History | View | Annotate | Download (2.483 KB)

1 d6728c5b Thomas Schöpping
/*
2
AMiRo-LLD is a compilation of low-level hardware drivers for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2018  Thomas Schöpping et al.
4

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef _AMIROLLD_H_
20
#define _AMIROLLD_H_
21
22
/**
23
 * @brief   AMIRO-LLD identification macro.
24
 */
25
#define _AMIRO_LLD_
26
27
/**
28
 * @name   AMiRo-LLD version and relase information.
29
 * @{
30
 */
31
32
/**
33
 * @brief   Realease type of this version.
34
 *          IPossible values are "pre-alpha", "alpha", "beta", "release candidate", "release".
35
 */
36
#define AMIRO_LLD_RELEASE_TYPE     "release"
37
38
/**
39
 * @brief   The periphery abstraction layer interface major version.
40
 * @note    Changes of the major version imply incompatibilities.
41
 */
42
#define AMIRO_LLD_VERSION_MAJOR    1
43
44
/**
45
 * @brief   The periphery abstraction layer interface minor version.
46
 * @note    A higher minor version implies new functionalty, but all old interfaces are still available.
47
 */
48
#define AMIRO_LLD_VERSION_MINOR    0
49
50
/**
51
 * @brief   The periphery abstraction layer interface patch level.
52
 */
53
#define AMIRO_LLD_VERSION_PATCH    0
54
55
/**
56
 * @brief   The periphery abstraction layer interface required major version.
57
 */
58
#define PERIPHAL_REQUIRED_MAJOR    1
59
60
/**
61
 * @brief   The periphery abstraction layer interface required minor version.
62
 */
63
#define PERIPHAL_REQUIRED_MINOR    0
64
65
/** @} */
66
67
#include <alldconf.h>
68
69
#if !defined(_AMIRO_LLD_CFG_)
70
#error "invalid AMiRo-LLD configuration file"
71
#endif
72
#if (AMIRO_LLD_CFG_VERSION_MAJOR != AMIRO_LLD_VERSION_MAJOR) || (AMIRO_LLD_CFG_VERSION_MINOR < AMIRO_LLD_VERSION_MINOR)
73
#error "incompatible AMiRo-LLD configuration file"
74
#endif
75
76
#include <periphAL.h>
77
#if !defined(PERIPHAL_VERSION_MAJOR) || !defined(PERIPHAL_VERSION_MINOR)
78
#error "invalid periphAL implementation"
79
#endif
80
#if (PERIPHAL_VERSION_MAJOR != PERIPHAL_REQUIRED_MAJOR) || (PERIPHAL_VERSION_MINOR < PERIPHAL_REQUIRED_MINOR)
81
#error "incompatible periphAL implementation"
82
#endif
83
84
#endif /* _AMIROLLD_H_ */