Statistics
| Branch: | Tag: | Revision:

amiro-os / amiroos.h @ 7b6ab4bf

History | View | Annotate | Download (2.889 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          "beta"
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         0
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 */