Statistics
| Branch: | Revision:

urtware / urtware.h @ 5198dfae

History | View | Annotate | Download (3.4 KB)

1 42470f0a Thomas Schöpping
/*
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

6 7d9678db skenneweg
Copyright (C) 2018..2020  Thomas Schöpping et al.
7 42470f0a Thomas Schöpping

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

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

18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef _URTWARE_H_
23
#define _URTWARE_H_
24
25
/**
26
 * @brief   µRtWare identification macro.
27
 */
28
#define _uRtWare_
29
30
/**
31
 * @name    µRtWare version and release information.
32
 * @{
33
 */
34
35
/**
36
 * @brief   Release type of this version.
37
 * @note    Possible values are "pre-alpha", "alpha", "beta", "release candidate", and "release".
38
 */
39
#define URTWARE_RELEASE_TYPE      "pre-alpha"
40
41
/**
42
 * @brief   The µRtWare major version.
43
 * @note    Changes of the major version imply incompatibilities.
44
 */
45
#define URTWARE_VERSION_MAJOR     0
46
47
/**
48
 * @brief   The µRtWare minor version.
49
 * @note    A higher minor version implies new functionalities, but all old interfaces are still available.
50
 */
51
#define URTWARE_VERSION_MINOR     1
52
53
/**
54
 * @brief   The µRtWare patch level.
55
 */
56
#define URTWARE_VERSION_PATCH     0
57
58
/**
59
 * @brief   The µRtWare operating system abstraction layer interface required major version.
60
 * @note    Any other major version is assumed to be incompatible.
61
 */
62
#define URT_OSAL_REQUIRED_MAJOR   0
63
64
/**
65
 * @brief   The µRtWare operating system abstraction layer interface required minor version.
66
 * @note    Higher minor version values are assumed to be compatible, too.
67
 */
68
#define URT_OSAL_REQUIRED_MINOR   1
69
70
/** @} */
71
72 7d9678db skenneweg
/******************************************************************************/
73
/* CONFIGURATION                                                              */
74
/******************************************************************************/
75
76 42470f0a Thomas Schöpping
#include <urtwareconf.h>
77
#if !defined(_URTWARE_CFG_)
78
#error "invalid µRtWare configuration file"
79
#endif
80
#if (URTWARE_CFG_VERSION_MAJOR != URTWARE_VERSION_MAJOR) || (URTWARE_CFG_VERSION_MINOR < URTWARE_VERSION_MINOR)
81
#error "incompatible µRtWare configuration file"
82
#endif
83
#include <urt_confcheck.h>
84
85
#include <urt_osal.h>
86
#if !defined(URT_OSAL_VERSION_MAJOR) || !defined(URT_OSAL_VERSION_MINOR)
87
#error "invalid µRt-OSAL implementation"
88
#endif
89
#if (URT_OSAL_VERSION_MAJOR != URT_OSAL_REQUIRED_MAJOR) || (URT_OSAL_VERSION_MINOR < URT_OSAL_REQUIRED_MINOR)
90
#error "incompatible µRt-OSAL implementation"
91
#endif
92
93 7d9678db skenneweg
/******************************************************************************/
94
/* AMiRo-OS.URTWARE INC                                                       */
95
/******************************************************************************/
96
97
#include "inc/urt_confcheck.h"
98
99
#include "inc/urt_core.h"
100
#include "inc/urt_message.h"
101
#include "inc/urt_node.h"
102
#include "inc/urt_publisher.h"
103
#include "inc/urt_service.h"
104
#include "inc/urt_subscriber.h"
105
#include "inc/urt_topic.h"
106
107
108 42470f0a Thomas Schöpping
#endif /* _URTWARE_H_ */