Statistics
| Branch: | Tag: | Revision:

amiro-lld / amiro-lld.h @ a627f4dd

History | View | Annotate | Download (2.573 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
#elif (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 "periphALtypes.h"
77
#include <periphAL.h>
78
#if !defined(PERIPHAL_VERSION_MAJOR) || !defined(PERIPHAL_VERSION_MINOR)
79
#error "invalid periphAL implementation"
80
#elif (PERIPHAL_VERSION_MAJOR != PERIPHAL_REQUIRED_MAJOR) || (PERIPHAL_VERSION_MINOR < PERIPHAL_REQUIRED_MINOR)
81
#error "incompatible periphAL implementation"
82
#endif
83

    
84
#endif /* AMIROLLD_H */