Statistics
| Branch: | Tag: | Revision:

amiro-lld / amiro-lld.h @ 9e45662e

History | View | Annotate | Download (2.56 KB)

1
/*
2
AMiRo-LLD is a compilation of low-level hardware drivers for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2019  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 Lesser 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 Lesser General Public License for more details.
14

15
You should have received a copy of the GNU Lesser 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
 * @note    Possible values are "pre-alpha", "alpha", "beta", "release candidate", and "release".
35
 */
36
#define AMIRO_LLD_RELEASE_TYPE     "release"
37

    
38
/**
39
 * @brief   The AMiRo-LLD major version.
40
 * @note    Changes of the major version imply incompatibilities.
41
 */
42
#define AMIRO_LLD_VERSION_MAJOR    1
43

    
44
/**
45
 * @brief   The AMiRo-LLD 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 AMiRo-LLD patch level.
52
 */
53
#define AMIRO_LLD_VERSION_PATCH    0
54

    
55
/**
56
 * @brief   The periphery abstraction layer interface required major version.
57
 * @note    Any other major version is assumed to be incompatible.
58
 */
59
#define PERIPHAL_REQUIRED_MAJOR    1
60

    
61
/**
62
 * @brief   The periphery abstraction layer interface required minor version.
63
 * @note    Higher minor version values are assumed to be compatible, too.
64
 */
65
#define PERIPHAL_REQUIRED_MINOR    0
66

    
67
/** @} */
68

    
69
#include <alldconf.h>
70
#if !defined(_AMIRO_LLD_CFG_)
71
#error "invalid AMiRo-LLD configuration file"
72
#endif
73
#if (AMIRO_LLD_CFG_VERSION_MAJOR != AMIRO_LLD_VERSION_MAJOR) || (AMIRO_LLD_CFG_VERSION_MINOR < AMIRO_LLD_VERSION_MINOR)
74
#error "incompatible AMiRo-LLD configuration file"
75
#endif
76

    
77
#include <periphAL.h>
78
#if !defined(PERIPHAL_VERSION_MAJOR) || !defined(PERIPHAL_VERSION_MINOR)
79
#error "invalid periphAL implementation"
80
#endif
81
#if (PERIPHAL_VERSION_MAJOR != PERIPHAL_REQUIRED_MAJOR) || (PERIPHAL_VERSION_MINOR < PERIPHAL_REQUIRED_MINOR)
82
#error "incompatible periphAL implementation"
83
#endif
84

    
85
#endif /* _AMIROLLD_H_ */