Artemis Teensy Flight Software
The software on the Teensy in the Artemis cubesat.
configCosmosKernel.h
Go to the documentation of this file.
1
/********************************************************************
2
* Copyright (C) 2015 by Interstel Technologies, Inc.
3
* and Hawaii Space Flight Laboratory.
4
*
5
* This file is part of the COSMOS/core that is the central
6
* module for COSMOS. For more information on COSMOS go to
7
* <http://cosmos-project.com>
8
*
9
* The COSMOS/core software is licenced under the
10
* GNU Lesser General Public License (LGPL) version 3 licence.
11
*
12
* You should have received a copy of the
13
* GNU Lesser General Public License
14
* If not, go to <http://www.gnu.org/licenses/>
15
*
16
* COSMOS/core is free software: you can redistribute it and/or
17
* modify it under the terms of the GNU Lesser General Public License
18
* as published by the Free Software Foundation, either version 3 of
19
* the License, or (at your option) any later version.
20
*
21
* COSMOS/core is distributed in the hope that it will be useful, but
22
* WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
* Lesser General Public License for more details.
25
*
26
* Refer to the "licences" folder for further information on the
27
* condititons and terms to use this software.
28
********************************************************************/
29
30
#ifndef CONFIGCOSMOSKERNEL_H
31
#define CONFIGCOSMOSKERNEL_H
32
33
// NB: EJP 20170403 - added to suppress the ocean of format errors that will never be correct for all
34
// platforms. We will just have to get the formatting right on our own.
35
//pragma GCC diagnostic ignored "-Wformat="
36
39
40
// ------------------------------------------------------------------
41
// Building under Windows
42
#ifdef _WIN32
43
44
#define COSMOS_WIN_OS
45
47
#ifdef _MSC_BUILD
48
#define COSMOS_WIN_BUILD_MSVC
49
#endif
50
51
// TODO: Explain the reason why this is here
52
#define NTDDI_VERSION NTDDI_WIN7
53
54
#ifndef _WIN32_WINNT
55
#define _WIN32_WINNT _WIN32_WINNT_WIN7
56
#endif
57
#define _WIN32_WINNT _WIN32_WINNT_WIN7
58
#endif
// Building under Windows
59
60
// for MSVC
61
#define _CRT_SECURE_NO_DEPRECATE
62
63
// --------------------- FOR ALL PLATFORMS ------------------------------
64
#define _USE_MATH_DEFINES
65
#include <climits>
66
#include <csignal>
67
#include <cstdint>
68
#include <cinttypes>
69
#include <cstdio>
70
#include <cstddef>
71
#include <cstdlib>
72
#include <cerrno>
73
#include <cstring>
74
#include <cmath>
75
using
std::isfinite;
76
//using std::isinf;
77
//using std::isnan;
78
#include <fstream>
79
#include <iosfwd>
80
using
std::ifstream;
81
using
std::ofstream;
82
#include <iostream>
83
using
std::cout;
84
using
std::cerr;
85
using
std::endl;
86
#include <sstream>
87
using
std::stringstream;
88
#include <regex>
89
#include <iomanip>
90
using
std::fixed;
91
using
std::setprecision;
92
using
std::setw;
93
using
std::left;
94
using
std::right;
95
#ifdef COSMOS_WIN_BUILD_MSVC
96
#include <io.h>
// replaces in some ways unistd for windows
97
#else
98
#include <unistd.h>
99
#endif
100
#include <fcntl.h>
101
102
#include <limits>
103
#include <string>
104
using
std::string;
105
//using std::to_string;
106
#include <vector>
107
using
std::vector;
108
#include <stack>
109
using
std::stack;
110
#include <deque>
111
using
std::deque;
112
// #include <thread>
113
// using std::thread;
114
#include <queue>
115
using
std::queue;
116
#include <sstream>
117
using
std::istringstream;
118
using
std::pair;
119
#include <unordered_map>
120
using
std::unordered_map;
121
#include <list>
122
using
std::list;
123
#include <limits>
124
using
std::numeric_limits;
125
126
//#include "support/cosmos-errno.h"
127
#include "
support/cosmos-defs.h
"
128
129
namespace
Cosmos {
namespace
Support {} }
130
131
using namespace
Cosmos;
132
using namespace
Cosmos::Support;
133
138
#define COSMOS_SIZEOF(element) (reinterpret_cast<ptrdiff_t>(((element*)0)+1))
140
141
142
143
#endif
// CONFIGCOSMOSKERNEL_H
cosmos-defs.h
COSMOS definitions Definitions specific to the COSMOS environement.
lib
micro-cosmos
support
configCosmosKernel.h
Generated by
1.9.1