Skip to content

Commit b5db589

Browse files
committed
Add canonical OrbPro FlatBuffer bindings
1 parent 8efe75e commit b5db589

52 files changed

Lines changed: 3728 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/protocol-installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Examples:
3737
- concrete multiaddrs
3838
- resolved listen ports
3939
- selected peer IDs
40-
- node-info URLs
40+
- deployment URLs
4141
- interface-keyed input bindings
4242
- scheduler bindings
4343
- hosted service bindings

schemas/orbpro/BaseTypes.fbs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace orbpro;
2+
3+
struct Vec3 {
4+
x:double;
5+
y:double;
6+
z:double;
7+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace orbpro.query;
2+
3+
enum CatalogQueryKind : ubyte {
4+
ROWS = 0,
5+
ENTITY_INDICES = 1,
6+
VISIBILITY_MASK = 2,
7+
CATALOG_ROW = 3
8+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
include "CatalogQueryBase.fbs";
2+
3+
namespace orbpro.query;
4+
5+
table CatalogQueryRequest {
6+
query_kind:CatalogQueryKind = ROWS;
7+
query:string;
8+
entity_index:uint = 0;
9+
max_count:uint = 0;
10+
entity_count:uint = 0;
11+
}
12+
13+
root_type CatalogQueryRequest;
14+
file_identifier "CQRQ";
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
include "CatalogQueryBase.fbs";
2+
include "EntityMetadata.fbs";
3+
4+
namespace orbpro.query;
5+
6+
table CatalogQueryResult {
7+
query_kind:CatalogQueryKind = ROWS;
8+
rows:[orbpro.entity.EntityMetadata];
9+
entity_indices:[uint];
10+
mask:[ubyte];
11+
visible_count:uint = 0;
12+
entity_index:uint = 0;
13+
row:orbpro.entity.EntityMetadata;
14+
}
15+
16+
root_type CatalogQueryResult;
17+
file_identifier "CQRS";

schemas/orbpro/EntityMetadata.fbs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
namespace orbpro.entity;
2+
3+
enum EntityKind : ubyte {
4+
ENTITY = 0,
5+
SPACE = 1,
6+
GROUND = 2,
7+
AIRCRAFT = 3,
8+
MISSILE = 4,
9+
SHIP = 5,
10+
VEHICLE = 6,
11+
SENSOR = 7,
12+
OTHER = 255
13+
}
14+
15+
table EntityMetadata {
16+
entity_id:string (required, key);
17+
name:string;
18+
entity_kind:EntityKind = ENTITY;
19+
subtype:string;
20+
parent_entity_id:string;
21+
primary_schema_file_id:string;
22+
primary_row_id:double = 0.0;
23+
wasm_handle:uint = 0;
24+
position_region_id:uint = 0;
25+
position_record_index:uint = 0;
26+
velocity_region_id:uint = 0;
27+
velocity_record_index:uint = 0;
28+
visibility_region_id:uint = 0;
29+
visibility_record_index:uint = 0;
30+
norad_cat_id:uint = 0;
31+
object_name:string;
32+
object_id:string;
33+
cat_object_name:string;
34+
cat_object_id:string;
35+
facility_type:string;
36+
search_text:string;
37+
owner:string;
38+
status_code:string;
39+
launch_date:string;
40+
launch_year:string;
41+
orbit_regime:string;
42+
period:double = 0.0;
43+
inclination:double = 0.0;
44+
apogee:double = 0.0;
45+
perigee:double = 0.0;
46+
mean_motion:double = 0.0;
47+
eccentricity:double = 0.0;
48+
bstar:double = 0.0;
49+
has_gp:bool = false;
50+
}
51+
52+
root_type EntityMetadata;
53+
file_identifier "ENTM";
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
namespace orbpro.entity;
2+
3+
table EntityStandardsLink {
4+
link_key:string (required, key);
5+
entity_id:string (required);
6+
entity_record_key:string (required);
7+
entity_schema_file_id:string (required);
8+
entity_row_id:double = 0.0;
9+
record_key:string (required);
10+
schema_name:string (required);
11+
record_schema_file_id:string (required);
12+
record_row_id:double = 0.0;
13+
cascade_delete:bool = true;
14+
updated_at_ms:double = 0.0;
15+
}
16+
17+
root_type EntityStandardsLink;
18+
file_identifier "ESTL";

schemas/orbpro/Plugin.fbs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace orbpro.plugin;
2+
3+
table RawDataPayload {
4+
type_id:string;
5+
data:[ubyte];
6+
}
7+
8+
root_type RawDataPayload;

schemas/orbpro/Propagator.fbs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
include "BaseTypes.fbs";
2+
3+
namespace orbpro.propagator;
4+
5+
enum ReferenceFrame : ubyte {
6+
TEME = 0,
7+
J2000 = 1,
8+
ICRF = 2,
9+
ECEF = 3,
10+
MCI = 4,
11+
MCMF = 5
12+
}
13+
14+
enum StateFlags : uint {
15+
NONE = 0,
16+
VALID = 1,
17+
IN_ECLIPSE = 2,
18+
DECAYED = 4,
19+
MANEUVERING = 8,
20+
EXTRAPOLATED = 16,
21+
HAS_COVARIANCE = 32
22+
}
23+
24+
enum PropagatorSourceKind : ubyte {
25+
UNKNOWN = 0,
26+
SGP4 = 1
27+
}
28+
29+
struct StateVector {
30+
epoch:double;
31+
position:orbpro.Vec3;
32+
velocity:orbpro.Vec3;
33+
reference_frame:ReferenceFrame;
34+
flags:uint;
35+
}
36+
37+
table PropagatorDescribeSourcesBatchRequest {
38+
catalogHandle:uint = 0;
39+
sourceHandles:[uint];
40+
}
41+
42+
table PropagatorSourceDescription {
43+
sourceHandle:uint = 0;
44+
sourceKind:PropagatorSourceKind = UNKNOWN;
45+
objectName:string;
46+
objectId:string;
47+
noradCatId:uint = 0;
48+
epochJd:double = 0.0;
49+
meanMotionRevPerDay:double = 0.0;
50+
eccentricity:double = 0.0;
51+
inclinationDeg:double = 0.0;
52+
raOfAscNodeDeg:double = 0.0;
53+
argOfPericenterDeg:double = 0.0;
54+
meanAnomalyDeg:double = 0.0;
55+
ephemerisType:int = 0;
56+
classificationType:string;
57+
elementSetNo:uint = 0;
58+
revAtEpoch:uint = 0;
59+
bstar:double = 0.0;
60+
meanMotionDotRevPerDay2:double = 0.0;
61+
meanMotionDdotRevPerDay3:double = 0.0;
62+
perigeeKm:double = 0.0;
63+
apogeeKm:double = 0.0;
64+
}
65+
66+
table PropagatorDescribeSourcesBatchResult {
67+
catalogHandle:uint = 0;
68+
sources:[PropagatorSourceDescription];
69+
}
70+
71+
root_type PropagatorDescribeSourcesBatchRequest;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace orbpro.entity;
2+
3+
table StandardsRecordIndex {
4+
record_key:string (required, key);
5+
schema_name:string (required);
6+
schema_file_id:string (required);
7+
row_id:double = 0.0;
8+
role:string;
9+
attached_via:string;
10+
payload_kind:string;
11+
updated_at_ms:double = 0.0;
12+
}
13+
14+
root_type StandardsRecordIndex;
15+
file_identifier "STRI";

0 commit comments

Comments
 (0)