amiro-os / amiroos.h @ 651cb6e6
History | View | Annotate | Download (2.89 KB)
1 |
/*
|
---|---|
2 |
AMiRo-OS is an operating system designed 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 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 AMIROOS_H
|
20 |
#define AMIROOS_H
|
21 |
|
22 |
/**
|
23 |
* @brief AMiRo-OS identification macro.
|
24 |
*/
|
25 |
#define _AMIRO_OS_
|
26 |
|
27 |
/**
|
28 |
* @name AMiRo-OS version and relase information.
|
29 |
* @{
|
30 |
*/
|
31 |
|
32 |
/**
|
33 |
* @brief The type of this version.
|
34 |
* @note Is one of "pre-alpha", "alpha", "beta", "release candidate", "release".
|
35 |
*/
|
36 |
#define AMIROOS_RELEASE_TYPE "pre-alpha" |
37 |
|
38 |
/**
|
39 |
* @brief The operating system major version.
|
40 |
* @note Changes of the major version imply incompatibilities.
|
41 |
*/
|
42 |
#define AMIROOS_VERSION_MAJOR 2 |
43 |
|
44 |
/**
|
45 |
* @brief The operating system minor version.
|
46 |
* @note A higher minor version implies new functionalty, but all old interfaces are still available.
|
47 |
*/
|
48 |
#define AMIROOS_VERSION_MINOR 1 |
49 |
|
50 |
/**
|
51 |
* @brief The operating system patch level.
|
52 |
*/
|
53 |
#define AMIROOS_VERSION_PATCH 0 |
54 |
|
55 |
/** @} */
|
56 |
|
57 |
/******************************************************************************/
|
58 |
/* SUBSYSTEMS */
|
59 |
/******************************************************************************/
|
60 |
|
61 |
/* Bootloader (AMiRo-BLT) */
|
62 |
#include <amiroblt.h> |
63 |
|
64 |
/* System Kerne (ChibiOS)l */
|
65 |
#include <hal.h> |
66 |
#include <ch.h> |
67 |
|
68 |
/* Low-Level Drivers (AMiRo-LLD) */
|
69 |
#include <amiro-lld.h> |
70 |
|
71 |
/******************************************************************************/
|
72 |
/* AMiRo-OS CORE */
|
73 |
/******************************************************************************/
|
74 |
|
75 |
/* configuration */
|
76 |
#include <aosconf.h> |
77 |
#if !defined(_AMIRO_OS_CFG_)
|
78 |
#error "invalid AMiRo-OS configuration file" |
79 |
#elif (AMIRO_OS_CFG_VERSION_MAJOR != AMIROOS_VERSION_MAJOR) || (AMIRO_OS_CFG_VERSION_MINOR < AMIROOS_VERSION_MINOR)
|
80 |
#error "incompatible AMiRo-OS configuration file" |
81 |
#endif
|
82 |
#include "core/inc/aos_confcheck.h" |
83 |
|
84 |
/* core headers */
|
85 |
#include "core/inc/aos_types.h" |
86 |
#include "core/inc/aos_debug.h" |
87 |
#include "core/inc/aos_time.h" |
88 |
#include "core/inc/aos_timer.h" |
89 |
#include "core/inc/aos_iostream.h" |
90 |
#include "core/inc/aos_shell.h" |
91 |
#include "core/inc/aos_system.h" |
92 |
#include "core/inc/aos_thread.h" |
93 |
#include "core/inc/aos_unittest.h" |
94 |
|
95 |
/* module specifications */
|
96 |
#include <module.h> |
97 |
|
98 |
#endif /* AMIROOS_H */ |