Statistics
| Branch: | Tag: | Revision:

amiro-os / amiroos.h @ 4684a9d9

History | View | Annotate | Download (2.894 KB)

1 e545e620 Thomas Schöpping
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3 84f0ce9e Thomas Schöpping
Copyright (C) 2016..2019  Thomas Schöpping et al.
4 e545e620 Thomas Schöpping

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 6ff06bbf Thomas Schöpping
#ifndef AMIROOS_H
20
#define AMIROOS_H
21 e545e620 Thomas Schöpping
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 c5818ac1 Thomas Schöpping
#define AMIROOS_RELEASE_TYPE          "pre-alpha"
37 e545e620 Thomas Schöpping
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 6a95db23 Thomas Schöpping
#define AMIROOS_VERSION_MINOR         0
49 e545e620 Thomas Schöpping
50
/**
51
 * @brief   The operating system patch level.
52
 */
53 6a95db23 Thomas Schöpping
#define AMIROOS_VERSION_PATCH         1
54 e545e620 Thomas Schöpping
55
/** @} */
56
57 3940ba8a Thomas Schöpping
/******************************************************************************/
58
/* SUBSYSTEMS                                                                 */
59
/******************************************************************************/
60
61
/* Bootloader (AMiRo-BLT) */
62
#include <amiroblt.h>
63
64
/* System Kerne (ChibiOS)l */
65 cb835a3e Thomas Schöpping
#include <hal.h>
66
#include <ch.h>
67 3940ba8a Thomas Schöpping
68
/* Low-Level Drivers (AMiRo-LLD) */
69 27286ba5 Thomas Schöpping
#include <amiro-lld.h>
70 e545e620 Thomas Schöpping
71 3940ba8a Thomas Schöpping
/******************************************************************************/
72
/* AMiRo-OS CORE                                                              */
73
/******************************************************************************/
74
75
/* configuration */
76
#include <aosconf.h>
77 e545e620 Thomas Schöpping
#if !defined(_AMIRO_OS_CFG_)
78
#error "invalid AMiRo-OS configuration file"
79 3940ba8a Thomas Schöpping
#elif (AMIRO_OS_CFG_VERSION_MAJOR != AMIROOS_VERSION_MAJOR) || (AMIRO_OS_CFG_VERSION_MINOR < AMIROOS_VERSION_MINOR)
80 e545e620 Thomas Schöpping
#error "incompatible AMiRo-OS configuration file"
81
#endif
82
#include "core/inc/aos_confcheck.h"
83 6b53f6bf Thomas Schöpping
84
/* core headers */
85 3940ba8a Thomas Schöpping
#include "core/inc/aos_types.h"
86 e545e620 Thomas Schöpping
#include "core/inc/aos_debug.h"
87 3940ba8a Thomas Schöpping
#include "core/inc/aos_time.h"
88
#include "core/inc/aos_timer.h"
89 27286ba5 Thomas Schöpping
#include "core/inc/aos_iostream.h"
90 e545e620 Thomas Schöpping
#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 3940ba8a Thomas Schöpping
/* module specifications */
96
#include <module.h>
97
98 6ff06bbf Thomas Schöpping
#endif /* AMIROOS_H */