COSMOS core  1.0.2 (beta)
Comprehensive Open-architecture Solution for Mission Operations Systems
cosmos-defs.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 
34 
37 #ifndef _COSMOS_DEFS_H
38 #define _COSMOS_DEFS_H 1
39 
40 #include <map>
41 #include <vector>
42 #include <list>
43 #include <queue>
44 #include <thread>
45 #include <mutex>
46 #include <condition_variable>
47 
53 #define COSMOS_MAX_DATA 1024
54 #define COSMOS_MAX_NAME 40
56 
62 enum PIECE
63 {
79  PIECE_TYPE_NONE=UINT16_MAX
80 };
81 
83 
84 
88 enum NODE_TYPE : uint16_t
89 {
106  NODE_TYPE_NONE=UINT16_MAX
107 };
108 
111 enum NODE_FLAG : uint16_t
112 {
118  NODE_FLAG_ALL=UINT16_MAX
119 };
120 
122 
126 
136 // Bits 0-12
137 
139 #define EVENT_FLAG_WARNING 0x0e00
140 #define EVENT_SCALE_WARNING 0x0200
142 #define EVENT_FLAG_ALARM 0x0180
144 #define EVENT_SCALE_ALARM 0x0080
146 #define EVENT_FLAG_PRIORITY 0x0070
148 #define EVENT_SCALE_PRIORITY 0x0010
150 #define EVENT_FLAG_COLOR 0x000f
152 #define EVENT_SCALE_COLOR 0x0001
154 
155 // bits 13-16
156 
158 #define EVENT_FLAG_COUNTDOWN 0x1000
159 #define EVENT_FLAG_EXIT 0x2000
161 #define EVENT_FLAG_PAIR 0x4000
163 #define EVENT_FLAG_ACTUAL 0x8000
165 
166 // bits 17-19
167 
169 #define EVENT_FLAG_CONDITIONAL 0x10000
170 #define EVENT_FLAG_REPEAT 0x20000
172 #define EVENT_FLAG_TRUE 0x40000
174 #define EVENT_FLAG_SOLO 0x80000
176 
178 
182 
188 #define EVENT_TYPE_REQUEST 0x1001
189 
191 
192 
193 //Physical Events
194 #define EVENT_TYPE_PHYSICAL 0x1000
195 #define EVENT_TYPE_LATA 0x1101
196 #define EVENT_TYPE_LATD 0x1102
197 #define EVENT_TYPE_LATMAX 0x1110
198 #define EVENT_TYPE_LATMIN 0x1120
199 #define EVENT_TYPE_APOGEE 0x1201
200 #define EVENT_TYPE_PERIGEE 0x1202
201 #define EVENT_TYPE_UMBRA 0x1206
202 #define EVENT_TYPE_PENUMBRA 0x1208
203 
204 //Ground Station Events
205 #define EVENT_TYPE_GS 0x1400
206 #define EVENT_TYPE_GS5 0x1401
207 #define EVENT_TYPE_GS10 0x1402
208 #define EVENT_TYPE_GSMAX 0x1404
209 
210 //
211 #define EVENT_TYPE_TARG 0x1800
212 #define EVENT_TYPE_TARGMIN 0x1801
213 
214 //Command Events
215 #define EVENT_TYPE_COMMAND 0x2000
216 #define EVENT_TYPE_BUS 0x2100
217 #define EVENT_TYPE_EPS 0x2110
218 #define EVENT_TYPE_ADCS 0x2120
219 #define EVENT_TYPE_PAYLOAD 0x2400
220 #define EVENT_TYPE_SYSTEM 0x2800
221 
222 //Log Events
223 #define EVENT_TYPE_LOG 0x4000
224 
225 //Message Events
226 #define EVENT_TYPE_MESSAGE 0x8000
227 
228 
229 
231 
235 #define PANEL_TYPE_EPS 1
236 #define PANEL_TYPE_ADCS 2
237 #define PANEL_TYPE_OBCS 3
238 #define PANEL_TYPE_COMM 4
239 #define PANEL_TYPE_PLOAD 5
240 #define PANEL_TYPE_TCS 6
241 #define PANEL_TYPE_PROP 7
242 
247 #define PHYSICS_MODE_ACTUAL 0
248 #define PHYSICS_MODE_LVLH 1
249 #define PHYSICS_MODE_SURFACE 2
250 
253 #define COSMOSMCAST "225.1.1.1"
254 
255 #endif
Box: 8 vertices defining 2 parallel sides and a wall thickness, first set curled pointing out...
Definition: cosmos-defs.h:69
Definition: cosmos-defs.h:105
Definition: cosmos-defs.h:114
Definition: cosmos-defs.h:78
Definition: cosmos-defs.h:101
Sphere: 2 points and a wall thickness; center and point on surface.
Definition: cosmos-defs.h:73
Cylinder: 3 points and a wall thickness, first end, second end, point on radius of second end...
Definition: cosmos-defs.h:71
Definition: cosmos-defs.h:113
Definition: cosmos-defs.h:91
Definition: cosmos-defs.h:96
Definition: cosmos-defs.h:118
Definition: cosmos-defs.h:104
Definition: cosmos-defs.h:90
Internal Panel: n vertices and a thickness.
Definition: cosmos-defs.h:67
PIECE
Definition: cosmos-defs.h:62
Definition: cosmos-defs.h:117
Cone: same as Cylinder except first end is a point.
Definition: cosmos-defs.h:77
Definition: cosmos-defs.h:103
Definition: cosmos-defs.h:79
External Panel: n vertices and a thickness, subject to external forces.
Definition: cosmos-defs.h:65
Definition: cosmos-defs.h:106
Definition: cosmos-defs.h:94
Definition: cosmos-defs.h:95
Definition: cosmos-defs.h:92
Definition: cosmos-defs.h:100
NODE_TYPE
Definition: cosmos-defs.h:88
Definition: cosmos-defs.h:97
Definition: cosmos-defs.h:115
Definition: cosmos-defs.h:99
Definition: cosmos-defs.h:93
Definition: cosmos-defs.h:98
Definition: cosmos-defs.h:116
NODE_FLAG
Definition: cosmos-defs.h:111
Dimensionless:
Definition: cosmos-defs.h:75
Definition: cosmos-defs.h:102