openc3 5.2.0 → 5.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openc3 might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/bin/openc3cli +108 -105
- data/data/config/interface_modifiers.yaml +22 -4
- data/data/config/item_modifiers.yaml +4 -2
- data/data/config/microservice.yaml +18 -0
- data/data/config/table_manager.yaml +2 -2
- data/data/config/tool.yaml +1 -1
- data/ext/openc3/ext/config_parser/config_parser.c +17 -2
- data/lib/openc3/api/api.rb +1 -0
- data/lib/openc3/api/interface_api.rb +12 -0
- data/lib/openc3/api/metrics_api.rb +97 -0
- data/lib/openc3/api/router_api.rb +14 -2
- data/lib/openc3/api/target_api.rb +24 -3
- data/lib/openc3/api/tlm_api.rb +5 -4
- data/lib/openc3/config/config_parser.rb +29 -4
- data/lib/openc3/core_ext/time.rb +6 -1
- data/lib/openc3/interfaces/interface.rb +27 -26
- data/lib/openc3/interfaces/mqtt_interface.rb +240 -0
- data/lib/openc3/interfaces/protocols/override_protocol.rb +2 -61
- data/lib/openc3/interfaces/protocols/protocol.rb +6 -1
- data/lib/openc3/interfaces/simulated_target_interface.rb +1 -3
- data/lib/openc3/interfaces/tcpip_server_interface.rb +0 -11
- data/lib/openc3/interfaces.rb +2 -3
- data/lib/openc3/logs/buffered_packet_log_reader.rb +2 -2
- data/lib/openc3/microservices/cleanup_microservice.rb +17 -1
- data/lib/openc3/microservices/decom_microservice.rb +12 -9
- data/lib/openc3/microservices/interface_microservice.rb +93 -9
- data/lib/openc3/microservices/log_microservice.rb +11 -5
- data/lib/openc3/microservices/microservice.rb +10 -9
- data/lib/openc3/microservices/periodic_microservice.rb +7 -0
- data/lib/openc3/microservices/reaction_microservice.rb +0 -33
- data/lib/openc3/microservices/reducer_microservice.rb +14 -10
- data/lib/openc3/microservices/text_log_microservice.rb +12 -3
- data/lib/openc3/microservices/timeline_microservice.rb +0 -6
- data/lib/openc3/microservices/trigger_group_microservice.rb +0 -20
- data/lib/openc3/models/cvt_model.rb +103 -47
- data/lib/openc3/models/interface_model.rb +23 -0
- data/lib/openc3/models/metric_model.rb +53 -6
- data/lib/openc3/models/microservice_model.rb +15 -1
- data/lib/openc3/models/model.rb +1 -1
- data/lib/openc3/models/plugin_model.rb +6 -1
- data/lib/openc3/models/secret_model.rb +53 -0
- data/lib/openc3/models/target_model.rb +2 -2
- data/lib/openc3/models/tool_model.rb +17 -8
- data/lib/openc3/operators/microservice_operator.rb +25 -0
- data/lib/openc3/operators/operator.rb +5 -1
- data/lib/openc3/packets/packet.rb +21 -7
- data/lib/openc3/packets/packet_item.rb +3 -2
- data/lib/openc3/script/api_shared.rb +18 -2
- data/lib/openc3/script/script.rb +8 -0
- data/lib/openc3/script/script_runner.rb +1 -2
- data/lib/openc3/script/storage.rb +2 -1
- data/lib/openc3/script/suite.rb +15 -11
- data/lib/openc3/system/system.rb +6 -3
- data/lib/openc3/topics/interface_topic.rb +17 -1
- data/lib/openc3/topics/router_topic.rb +17 -1
- data/lib/openc3/utilities/aws_bucket.rb +20 -3
- data/lib/openc3/utilities/bucket.rb +1 -1
- data/lib/openc3/utilities/bucket_file_cache.rb +1 -1
- data/lib/openc3/utilities/bucket_utilities.rb +1 -1
- data/lib/openc3/utilities/local_mode.rb +1 -0
- data/lib/openc3/utilities/metric.rb +77 -101
- data/lib/openc3/utilities/redis_secrets.rb +46 -0
- data/lib/openc3/utilities/s3_autoload.rb +19 -9
- data/lib/openc3/utilities/secrets.rb +63 -0
- data/lib/openc3/utilities/target_file.rb +3 -1
- data/lib/openc3/version.rb +5 -5
- data/templates/plugin-template/LICENSE.txt +7 -0
- data/templates/plugin-template/README.md +4 -3
- data/templates/plugin-template/plugin.gemspec +4 -4
- metadata +22 -3
- data/data/config/_interfaces.yaml.err +0 -1017
@@ -1,1017 +0,0 @@
|
|
1
|
-
---
|
2
|
-
tcpip_client_interface.rb:
|
3
|
-
parameters:
|
4
|
-
- name: Host
|
5
|
-
required: true
|
6
|
-
description: Machine name to connect to. Can be either a named
|
7
|
-
machine (DNS entry) or IP address.
|
8
|
-
values: .+
|
9
|
-
- name: Write Port
|
10
|
-
required: true
|
11
|
-
description: Port which OpenC3 writes commands to
|
12
|
-
values: \d{2,5}
|
13
|
-
- name: Read Port
|
14
|
-
required: true
|
15
|
-
description: Port which OpenC3 reads telemetry from
|
16
|
-
values: \d{2,5}
|
17
|
-
- name: Write Timeout
|
18
|
-
required: true
|
19
|
-
description: Number of seconds to wait before aborting the write.
|
20
|
-
Pass 'nil' to block on write.
|
21
|
-
values: .+
|
22
|
-
- name: Read Timeout
|
23
|
-
required: true
|
24
|
-
description: Number of seconds to wait before aborting the read.
|
25
|
-
Pass 'nil' to block on read.
|
26
|
-
values: .+
|
27
|
-
- name: Protocol Type
|
28
|
-
required: true
|
29
|
-
description: Protocol to apply on the interface data
|
30
|
-
values:
|
31
|
-
- BURST:
|
32
|
-
description: The Burst Stream Protocol simply reads as much data as it can from
|
33
|
-
the stream before returning the data as a OpenC3 Packet. This Protocol relies
|
34
|
-
on regular bursts of data delimited by time and thus is not very robust. However
|
35
|
-
it can utilize a sync pattern which does allow it to re-sync from the stream if
|
36
|
-
necessary.
|
37
|
-
parameters:
|
38
|
-
- name: Discard Leading Bytes
|
39
|
-
required: false
|
40
|
-
description: The number of bytes to discard from the binary data after reading
|
41
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
42
|
-
if the sync pattern is being used. Default is 0 (don't discard bytes).
|
43
|
-
values: "\\d+"
|
44
|
-
- name: Sync Pattern
|
45
|
-
required: false
|
46
|
-
description: Hex string representing a byte pattern that will be searched for
|
47
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
48
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
49
|
-
values: ".+"
|
50
|
-
- name: Fill Sync Pattern
|
51
|
-
required: false
|
52
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
53
|
-
is false.
|
54
|
-
values:
|
55
|
-
- 'true'
|
56
|
-
- 'false'
|
57
|
-
FIXED:
|
58
|
-
description: The Fixed Stream Protocol reads a preset minimum amount of data from
|
59
|
-
the stream which is necessary to properly identify all the defined packets using
|
60
|
-
the interface. It then identifies the packet and proceeds to read as much data
|
61
|
-
from the stream as necessary to create the packet which it then returns. This
|
62
|
-
stream relies on all the packets on the interface being fixed in length. For example,
|
63
|
-
all the packets using the interface are a fixed size and contain a simple header
|
64
|
-
with a 32 bit sync pattern followed by a 16 bit ID. The Fixed Stream Protocol
|
65
|
-
would elegantly handle this case with a minimum read size of 6 bytes.
|
66
|
-
parameters:
|
67
|
-
- name: Minimum ID Size
|
68
|
-
required: true
|
69
|
-
description: The minimum amount of bytes needed to identify a packet. All the
|
70
|
-
packet definitions must declare their ID_ITEM(s) within this given amount of
|
71
|
-
bytes.
|
72
|
-
values: "\\d+"
|
73
|
-
- name: Discard Leading Bytes
|
74
|
-
required: false
|
75
|
-
description: The number of bytes to discard from the binary data after reading
|
76
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
77
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
78
|
-
values: "\\d+"
|
79
|
-
- name: Sync Pattern
|
80
|
-
required: false
|
81
|
-
description: Hex string representing a byte pattern that will be searched for
|
82
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
83
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
84
|
-
values: ".+"
|
85
|
-
- name: Telemetry Stream
|
86
|
-
required: false
|
87
|
-
description: Whether the stream is returning telemetry. Default is true.
|
88
|
-
values:
|
89
|
-
- 'true'
|
90
|
-
- 'false'
|
91
|
-
- name: Fill Sync Pattern
|
92
|
-
required: false
|
93
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
94
|
-
is false.
|
95
|
-
values:
|
96
|
-
- 'false'
|
97
|
-
- 'true'
|
98
|
-
LENGTH:
|
99
|
-
description: The Length Stream Protocol depends on a length field at a fixed location
|
100
|
-
in the defined packets using the interface. It then reads enough data to grab
|
101
|
-
the length field, decodes it, and reads the remaining length of the packet. For
|
102
|
-
example, all the packets using the interface contain a CCSDS header with a length
|
103
|
-
field. The Length Stream Protocol can be set up to handle the length field and
|
104
|
-
even the "length - 1" offset the CCSDS header uses.
|
105
|
-
parameters:
|
106
|
-
- name: Length Bit Offset
|
107
|
-
required: false
|
108
|
-
description: The bit offset of the length field. Every packet using this interface
|
109
|
-
must have the same structure such that the length field is the same size at
|
110
|
-
the same location. Be sure to account for the length of the Sync Pattern in
|
111
|
-
this value (if present). Default is 0.
|
112
|
-
values: "\\d+"
|
113
|
-
- name: Length Bit Size
|
114
|
-
required: false
|
115
|
-
description: The size in bits of the length field. Default is 16.
|
116
|
-
values: "\\d+"
|
117
|
-
- name: Length Value Offset
|
118
|
-
required: false
|
119
|
-
description: The offset to apply to the length field value. For example if the
|
120
|
-
length field indicates packet length minus one, this value should be one. Be
|
121
|
-
sure to account for the length of the Sync Pattern in this value (if present).
|
122
|
-
Default is 0.
|
123
|
-
values: "\\d+"
|
124
|
-
- name: Bytes per Count
|
125
|
-
required: false
|
126
|
-
description: The number of bytes per each length field 'count'. This is used if
|
127
|
-
the units of the length field is something other than bytes, for example if
|
128
|
-
the length field count is in words. Default is 1.
|
129
|
-
values: "\\d+"
|
130
|
-
- name: Length Endianness
|
131
|
-
required: false
|
132
|
-
description: The endianness of the length field.
|
133
|
-
values:
|
134
|
-
- BIG_ENDIAN
|
135
|
-
- LITTLE_ENDIAN
|
136
|
-
- name: Discard Leading Bytes
|
137
|
-
required: false
|
138
|
-
description: The number of bytes to discard from the binary data after reading
|
139
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
140
|
-
if the sync pattern is being used. Discarding is one of the very last steps
|
141
|
-
so any size and offsets above need to account for all the data before discarding.
|
142
|
-
Default is 0 (do not discard bytes).
|
143
|
-
values: "\\d+"
|
144
|
-
- name: Sync Pattern
|
145
|
-
required: false
|
146
|
-
description: Hex string representing a byte pattern that will be searched for
|
147
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
148
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
149
|
-
values: ".+"
|
150
|
-
- name: Max Length
|
151
|
-
required: false
|
152
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
153
|
-
maximum length)
|
154
|
-
values: ".+"
|
155
|
-
- name: Fill Length and Sync Pattern
|
156
|
-
required: false
|
157
|
-
description: Setting this flag to true causes the length field and sync pattern
|
158
|
-
(if present) to be filled automatically on outgoing packets. Default is false
|
159
|
-
values:
|
160
|
-
- 'false'
|
161
|
-
- 'true'
|
162
|
-
TERMINATED:
|
163
|
-
description: The Terminated Stream Protocol delineates packets using termination
|
164
|
-
characters found at the end of every packet. It continuously reads data from the
|
165
|
-
stream until the termination characters are found at which point it returns the
|
166
|
-
packet data. For example, all the packets using the interface are followed by
|
167
|
-
0xABCD. This data can either be a part of each packet that is kept or something
|
168
|
-
which is known only by the Terminated Stream Protocol and simply thrown away.
|
169
|
-
parameters:
|
170
|
-
- name: Write Termination Characters
|
171
|
-
required: true
|
172
|
-
description: The data to write to the stream after writing a command packet. Given
|
173
|
-
as a hex string such as 0xABCD.
|
174
|
-
values: ".+"
|
175
|
-
- name: Read Termination Characters
|
176
|
-
required: true
|
177
|
-
description: The characters at the end of the stream which delineate the end of
|
178
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
179
|
-
values: ".+"
|
180
|
-
- name: Strip Read Termination
|
181
|
-
required: false
|
182
|
-
description: Whether to remove the read termination characters from the stream
|
183
|
-
before returning the telemetry packet. Default is true.
|
184
|
-
values:
|
185
|
-
- 'true'
|
186
|
-
- 'false'
|
187
|
-
- name: Discard Leading Bytes
|
188
|
-
required: false
|
189
|
-
description: The number of bytes to discard from the binary data after reading
|
190
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
191
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes)
|
192
|
-
values: "\\d+"
|
193
|
-
- name: Sync Pattern
|
194
|
-
required: false
|
195
|
-
description: Hex string representing a byte pattern that will be searched for
|
196
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
197
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
198
|
-
values: ".+"
|
199
|
-
- name: Fill Sync Pattern
|
200
|
-
required: false
|
201
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
202
|
-
is false
|
203
|
-
values:
|
204
|
-
- 'false'
|
205
|
-
- 'true'
|
206
|
-
PREIDENTIFIED:
|
207
|
-
description: The Preidentified Stream Protocol is used internally by the OpenC3
|
208
|
-
Command and Telemetry Server only and delineates packets using a custom OpenC3
|
209
|
-
header. This stream Protocol is configured by default on port 7779 and is created
|
210
|
-
by the Command and Telemetry Server to allow tools to connect and receive the
|
211
|
-
entire packet stream. The Telemetry Grapher uses this port to receive all the
|
212
|
-
packets following through the Command and Telemetry Server in case any need to
|
213
|
-
be graphed.
|
214
|
-
parameters:
|
215
|
-
- name: Sync Pattern
|
216
|
-
required: false
|
217
|
-
description: Hex string representing a byte pattern that will be searched for
|
218
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
219
|
-
AFTER the sync pattern will be returned. The sync pattern itself is discarded.
|
220
|
-
Default is nil (no sync pattern)
|
221
|
-
values: ".+"
|
222
|
-
- name: Max Length
|
223
|
-
required: false
|
224
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
225
|
-
maximum length)
|
226
|
-
values: ".+"
|
227
|
-
TEMPLATE:
|
228
|
-
description: !binary |-
|
229
|
-
VGhlIFRlbXBsYXRlIFN0cmVhbSBQcm90b2NvbCB3b3JrcyBtdWNoIGxpa2UgdGhlIFRlcm1pbmF0ZWQgU3RyZWFtIFByb3RvY29sIGV4Y2VwdCBpdCBkZXNpZ25lZCBmb3IgdGV4dC1iYXNlZCBjb21tYW5kIGFuZCByZXNwb25zZSB0eXBlIGludGVyZmFjZXMgc3VjaCBhcyBTQ1BJIChTdGFuZGFyZCBDb21tYW5kcyBmb3IgUHJvZ3JhbW1hYmxlIEluc3RydW1lbnRzKS4gSXQgZGVsaW5lYXRlcyBwYWNrZXRzIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgdGVybWluYXRlZCBzdHJlYW0gcHJvdG9jb2wgZXhjZXB0IGVhY2ggcGFja2V0IGlzIHJlZmVycmVkIHRvIGFzIGEgbGluZSAoYmVjYXVzZSBlYWNoIHVzdWFsbHkgY29udGFpbnMgYSBsaW5lIG9mIHRleHQpLiBGb3Igb3V0Z29pbmcgcGFja2V0cyBhIENNRF9URU1QTEFURSBmaWVsZCBpcyBleHBlY3RlZCB0byBleGlzdCBpbiB0aGUgcGFja2V0LiBUaGlzIGZpZWxkIGNvbnRhaW5zIGEgdGVtcGxhdGUgc3RyaW5nIHdpdGggaXRlbXMgdG8gYmUgZmlsbGVkIGluIGRlbGluaWF0ZWQgd2l0aGluIEhUTUwgdGFnIHN0eWxlIGJyYWNrZXRzIOKAnCIuIFRoZSBUZW1wbGF0ZSBTdHJlYW0gUHJvdG9jb2wgd2lsbCByZWFkIHRoZSBuYW1lZCBpdGVtcyBmcm9tIHdpdGhpbiB0aGUgcGFja2V0IGZpbGwgaW4gdGhlIENNRF9URU1QTEFURS4gVGhpcyBmaWxsZWQgaW4gc3RyaW5nIGlzIHRoZW4gc2VudCBvdXQgcmF0aGVyIHRoYW4gdGhlIG9yaWdpbmFsbHkgcGFzc2VkIGluIHBhY2tldC4gQ29ycmVzcG9uZGluZ2x5LCBpZiBhIHJlc3BvbnNlIGlzIGV4cGVjdGVkIHRoZSBvdXRnb2luZyBwYWNrZXQgc2hvdWxkIGluY2x1ZGUgYSBSU1BfVEVNUExBVEUgYW5kIFJTUF9QQUNLRVQgZmllbGQuIFRoZSBSU1BfVEVNUExBVEUgaXMgdXNlZCB0byBleHRyYWN0IGRhdGEgZnJvbSB0aGUgcmVzcG9uc2Ugc3RyaW5nIGFuZCBidWlsZCBhIGNvcnJlc3BvbmRpbmcgUlNQX1BBQ0tFVC4gU2VlIHRoZSBURU1QTEFURSB0YXJnZXQgd2l0aGluIHRoZSBPcGVuQzMgRGVtbyBjb25maWd1cmF0aW9uIGZvciBhbiBleGFtcGxlIG9mIHVzYWdlLg==
|
230
|
-
parameters:
|
231
|
-
- name: Write Termination Characters
|
232
|
-
required: true
|
233
|
-
description: The data to write to the stream after writing a command packet. Given
|
234
|
-
as a hex string such as 0xABCD.
|
235
|
-
values: ".+"
|
236
|
-
- name: Read Termination Characters
|
237
|
-
required: true
|
238
|
-
description: The characters at the end of the stream which delineate the end of
|
239
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
240
|
-
values: ".+"
|
241
|
-
- name: Ignore Lines
|
242
|
-
required: false
|
243
|
-
description: Number of response lines to ignore (completely drop). Default is
|
244
|
-
0.
|
245
|
-
values: "\\d+"
|
246
|
-
- name: Initial Read Delay
|
247
|
-
required: false
|
248
|
-
description: An initial delay after connecting after which the stream will be
|
249
|
-
read till empty and data dropped. Useful for discarding connect headers and
|
250
|
-
initial prompts. Default is nil (no initial read).
|
251
|
-
values: ".+"
|
252
|
-
- name: Response Lines
|
253
|
-
required: false
|
254
|
-
description: The number of lines that make up expected responses. Default is 1.
|
255
|
-
values: "\\d+"
|
256
|
-
- name: Strip Read Termination
|
257
|
-
required: false
|
258
|
-
description: Whether to remove the read termination characters from the stream
|
259
|
-
before returning the telemetry packet. Default is true.
|
260
|
-
values:
|
261
|
-
- 'true'
|
262
|
-
- 'false'
|
263
|
-
- name: Discard Leading Bytes
|
264
|
-
required: false
|
265
|
-
description: The number of bytes to discard from the binary data after reading
|
266
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
267
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
268
|
-
values: "\\d+"
|
269
|
-
- name: Sync Pattern
|
270
|
-
required: false
|
271
|
-
description: Hex string representing a byte pattern that will be searched for
|
272
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
273
|
-
including the sync pattern will be returned. Default is nil (no sync pattern).
|
274
|
-
values: ".+"
|
275
|
-
- name: Fill Sync Pattern
|
276
|
-
required: false
|
277
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
278
|
-
is false.
|
279
|
-
values:
|
280
|
-
- 'false'
|
281
|
-
- 'true'
|
282
|
-
- name: Response Timeout
|
283
|
-
required: false
|
284
|
-
description: Number of seconds to wait before timing out when waiting for a response.
|
285
|
-
Default is 5 seconds.
|
286
|
-
values: ".+"
|
287
|
-
- name: Response Polling Period
|
288
|
-
required: false
|
289
|
-
description: Number of seconds to wait between polling for a response. Default
|
290
|
-
is 0.02 seconds.
|
291
|
-
values: ".+"
|
292
|
-
- name: Error Action
|
293
|
-
required: false
|
294
|
-
description: How to handle errors in the protocol like unexpected responses or
|
295
|
-
response timeouts. 'DISCONNECT' to disconnect after errors. The default is 'LOG'
|
296
|
-
to log an error and continue.
|
297
|
-
values:
|
298
|
-
- LOG
|
299
|
-
- DISCONNECT
|
300
|
-
tcpip_server_interface.rb:
|
301
|
-
parameters:
|
302
|
-
- name: Write Port
|
303
|
-
required: true
|
304
|
-
description: Port which OpenC3 writes commands to
|
305
|
-
values: \d{2,5}
|
306
|
-
- name: Read Port
|
307
|
-
required: true
|
308
|
-
description: Port which OpenC3 reads telemetry from
|
309
|
-
values: \d{2,5}
|
310
|
-
- name: Write Timeout
|
311
|
-
required: true
|
312
|
-
description: Number of seconds to wait before aborting the write.
|
313
|
-
Pass 'nil' to block on write.
|
314
|
-
values: .+
|
315
|
-
- name: Read Timeout
|
316
|
-
required: true
|
317
|
-
description: Number of seconds to wait before aborting the read.
|
318
|
-
Pass 'nil' to block on read.
|
319
|
-
values: .+
|
320
|
-
- name: Protocol Type
|
321
|
-
required: true
|
322
|
-
description: Protocol to apply on the interface data
|
323
|
-
values:
|
324
|
-
- BURST:
|
325
|
-
description: The Burst Stream Protocol simply reads as much data as it can from
|
326
|
-
the stream before returning the data as a OpenC3 Packet. This Protocol relies
|
327
|
-
on regular bursts of data delimited by time and thus is not very robust. However
|
328
|
-
it can utilize a sync pattern which does allow it to re-sync from the stream if
|
329
|
-
necessary.
|
330
|
-
parameters:
|
331
|
-
- name: Discard Leading Bytes
|
332
|
-
required: false
|
333
|
-
description: The number of bytes to discard from the binary data after reading
|
334
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
335
|
-
if the sync pattern is being used. Default is 0 (don't discard bytes).
|
336
|
-
values: "\\d+"
|
337
|
-
- name: Sync Pattern
|
338
|
-
required: false
|
339
|
-
description: Hex string representing a byte pattern that will be searched for
|
340
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
341
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
342
|
-
values: ".+"
|
343
|
-
- name: Fill Sync Pattern
|
344
|
-
required: false
|
345
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
346
|
-
is false.
|
347
|
-
values:
|
348
|
-
- 'true'
|
349
|
-
- 'false'
|
350
|
-
FIXED:
|
351
|
-
description: The Fixed Stream Protocol reads a preset minimum amount of data from
|
352
|
-
the stream which is necessary to properly identify all the defined packets using
|
353
|
-
the interface. It then identifies the packet and proceeds to read as much data
|
354
|
-
from the stream as necessary to create the packet which it then returns. This
|
355
|
-
stream relies on all the packets on the interface being fixed in length. For example,
|
356
|
-
all the packets using the interface are a fixed size and contain a simple header
|
357
|
-
with a 32 bit sync pattern followed by a 16 bit ID. The Fixed Stream Protocol
|
358
|
-
would elegantly handle this case with a minimum read size of 6 bytes.
|
359
|
-
parameters:
|
360
|
-
- name: Minimum ID Size
|
361
|
-
required: true
|
362
|
-
description: The minimum amount of bytes needed to identify a packet. All the
|
363
|
-
packet definitions must declare their ID_ITEM(s) within this given amount of
|
364
|
-
bytes.
|
365
|
-
values: "\\d+"
|
366
|
-
- name: Discard Leading Bytes
|
367
|
-
required: false
|
368
|
-
description: The number of bytes to discard from the binary data after reading
|
369
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
370
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
371
|
-
values: "\\d+"
|
372
|
-
- name: Sync Pattern
|
373
|
-
required: false
|
374
|
-
description: Hex string representing a byte pattern that will be searched for
|
375
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
376
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
377
|
-
values: ".+"
|
378
|
-
- name: Telemetry Stream
|
379
|
-
required: false
|
380
|
-
description: Whether the stream is returning telemetry. Default is true.
|
381
|
-
values:
|
382
|
-
- 'true'
|
383
|
-
- 'false'
|
384
|
-
- name: Fill Sync Pattern
|
385
|
-
required: false
|
386
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
387
|
-
is false.
|
388
|
-
values:
|
389
|
-
- 'false'
|
390
|
-
- 'true'
|
391
|
-
LENGTH:
|
392
|
-
description: The Length Stream Protocol depends on a length field at a fixed location
|
393
|
-
in the defined packets using the interface. It then reads enough data to grab
|
394
|
-
the length field, decodes it, and reads the remaining length of the packet. For
|
395
|
-
example, all the packets using the interface contain a CCSDS header with a length
|
396
|
-
field. The Length Stream Protocol can be set up to handle the length field and
|
397
|
-
even the "length - 1" offset the CCSDS header uses.
|
398
|
-
parameters:
|
399
|
-
- name: Length Bit Offset
|
400
|
-
required: false
|
401
|
-
description: The bit offset of the length field. Every packet using this interface
|
402
|
-
must have the same structure such that the length field is the same size at
|
403
|
-
the same location. Be sure to account for the length of the Sync Pattern in
|
404
|
-
this value (if present). Default is 0.
|
405
|
-
values: "\\d+"
|
406
|
-
- name: Length Bit Size
|
407
|
-
required: false
|
408
|
-
description: The size in bits of the length field. Default is 16.
|
409
|
-
values: "\\d+"
|
410
|
-
- name: Length Value Offset
|
411
|
-
required: false
|
412
|
-
description: The offset to apply to the length field value. For example if the
|
413
|
-
length field indicates packet length minus one, this value should be one. Be
|
414
|
-
sure to account for the length of the Sync Pattern in this value (if present).
|
415
|
-
Default is 0.
|
416
|
-
values: "\\d+"
|
417
|
-
- name: Bytes per Count
|
418
|
-
required: false
|
419
|
-
description: The number of bytes per each length field 'count'. This is used if
|
420
|
-
the units of the length field is something other than bytes, for example if
|
421
|
-
the length field count is in words. Default is 1.
|
422
|
-
values: "\\d+"
|
423
|
-
- name: Length Endianness
|
424
|
-
required: false
|
425
|
-
description: The endianness of the length field.
|
426
|
-
values:
|
427
|
-
- BIG_ENDIAN
|
428
|
-
- LITTLE_ENDIAN
|
429
|
-
- name: Discard Leading Bytes
|
430
|
-
required: false
|
431
|
-
description: The number of bytes to discard from the binary data after reading
|
432
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
433
|
-
if the sync pattern is being used. Discarding is one of the very last steps
|
434
|
-
so any size and offsets above need to account for all the data before discarding.
|
435
|
-
Default is 0 (do not discard bytes).
|
436
|
-
values: "\\d+"
|
437
|
-
- name: Sync Pattern
|
438
|
-
required: false
|
439
|
-
description: Hex string representing a byte pattern that will be searched for
|
440
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
441
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
442
|
-
values: ".+"
|
443
|
-
- name: Max Length
|
444
|
-
required: false
|
445
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
446
|
-
maximum length)
|
447
|
-
values: ".+"
|
448
|
-
- name: Fill Length and Sync Pattern
|
449
|
-
required: false
|
450
|
-
description: Setting this flag to true causes the length field and sync pattern
|
451
|
-
(if present) to be filled automatically on outgoing packets. Default is false
|
452
|
-
values:
|
453
|
-
- 'false'
|
454
|
-
- 'true'
|
455
|
-
TERMINATED:
|
456
|
-
description: The Terminated Stream Protocol delineates packets using termination
|
457
|
-
characters found at the end of every packet. It continuously reads data from the
|
458
|
-
stream until the termination characters are found at which point it returns the
|
459
|
-
packet data. For example, all the packets using the interface are followed by
|
460
|
-
0xABCD. This data can either be a part of each packet that is kept or something
|
461
|
-
which is known only by the Terminated Stream Protocol and simply thrown away.
|
462
|
-
parameters:
|
463
|
-
- name: Write Termination Characters
|
464
|
-
required: true
|
465
|
-
description: The data to write to the stream after writing a command packet. Given
|
466
|
-
as a hex string such as 0xABCD.
|
467
|
-
values: ".+"
|
468
|
-
- name: Read Termination Characters
|
469
|
-
required: true
|
470
|
-
description: The characters at the end of the stream which delineate the end of
|
471
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
472
|
-
values: ".+"
|
473
|
-
- name: Strip Read Termination
|
474
|
-
required: false
|
475
|
-
description: Whether to remove the read termination characters from the stream
|
476
|
-
before returning the telemetry packet. Default is true.
|
477
|
-
values:
|
478
|
-
- 'true'
|
479
|
-
- 'false'
|
480
|
-
- name: Discard Leading Bytes
|
481
|
-
required: false
|
482
|
-
description: The number of bytes to discard from the binary data after reading
|
483
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
484
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes)
|
485
|
-
values: "\\d+"
|
486
|
-
- name: Sync Pattern
|
487
|
-
required: false
|
488
|
-
description: Hex string representing a byte pattern that will be searched for
|
489
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
490
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
491
|
-
values: ".+"
|
492
|
-
- name: Fill Sync Pattern
|
493
|
-
required: false
|
494
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
495
|
-
is false
|
496
|
-
values:
|
497
|
-
- 'false'
|
498
|
-
- 'true'
|
499
|
-
PREIDENTIFIED:
|
500
|
-
description: The Preidentified Stream Protocol is used internally by the OpenC3
|
501
|
-
Command and Telemetry Server only and delineates packets using a custom OpenC3
|
502
|
-
header. This stream Protocol is configured by default on port 7779 and is created
|
503
|
-
by the Command and Telemetry Server to allow tools to connect and receive the
|
504
|
-
entire packet stream. The Telemetry Grapher uses this port to receive all the
|
505
|
-
packets following through the Command and Telemetry Server in case any need to
|
506
|
-
be graphed.
|
507
|
-
parameters:
|
508
|
-
- name: Sync Pattern
|
509
|
-
required: false
|
510
|
-
description: Hex string representing a byte pattern that will be searched for
|
511
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
512
|
-
AFTER the sync pattern will be returned. The sync pattern itself is discarded.
|
513
|
-
Default is nil (no sync pattern)
|
514
|
-
values: ".+"
|
515
|
-
- name: Max Length
|
516
|
-
required: false
|
517
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
518
|
-
maximum length)
|
519
|
-
values: ".+"
|
520
|
-
TEMPLATE:
|
521
|
-
description: !binary |-
|
522
|
-
VGhlIFRlbXBsYXRlIFN0cmVhbSBQcm90b2NvbCB3b3JrcyBtdWNoIGxpa2UgdGhlIFRlcm1pbmF0ZWQgU3RyZWFtIFByb3RvY29sIGV4Y2VwdCBpdCBkZXNpZ25lZCBmb3IgdGV4dC1iYXNlZCBjb21tYW5kIGFuZCByZXNwb25zZSB0eXBlIGludGVyZmFjZXMgc3VjaCBhcyBTQ1BJIChTdGFuZGFyZCBDb21tYW5kcyBmb3IgUHJvZ3JhbW1hYmxlIEluc3RydW1lbnRzKS4gSXQgZGVsaW5lYXRlcyBwYWNrZXRzIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgdGVybWluYXRlZCBzdHJlYW0gcHJvdG9jb2wgZXhjZXB0IGVhY2ggcGFja2V0IGlzIHJlZmVycmVkIHRvIGFzIGEgbGluZSAoYmVjYXVzZSBlYWNoIHVzdWFsbHkgY29udGFpbnMgYSBsaW5lIG9mIHRleHQpLiBGb3Igb3V0Z29pbmcgcGFja2V0cyBhIENNRF9URU1QTEFURSBmaWVsZCBpcyBleHBlY3RlZCB0byBleGlzdCBpbiB0aGUgcGFja2V0LiBUaGlzIGZpZWxkIGNvbnRhaW5zIGEgdGVtcGxhdGUgc3RyaW5nIHdpdGggaXRlbXMgdG8gYmUgZmlsbGVkIGluIGRlbGluaWF0ZWQgd2l0aGluIEhUTUwgdGFnIHN0eWxlIGJyYWNrZXRzIOKAnCIuIFRoZSBUZW1wbGF0ZSBTdHJlYW0gUHJvdG9jb2wgd2lsbCByZWFkIHRoZSBuYW1lZCBpdGVtcyBmcm9tIHdpdGhpbiB0aGUgcGFja2V0IGZpbGwgaW4gdGhlIENNRF9URU1QTEFURS4gVGhpcyBmaWxsZWQgaW4gc3RyaW5nIGlzIHRoZW4gc2VudCBvdXQgcmF0aGVyIHRoYW4gdGhlIG9yaWdpbmFsbHkgcGFzc2VkIGluIHBhY2tldC4gQ29ycmVzcG9uZGluZ2x5LCBpZiBhIHJlc3BvbnNlIGlzIGV4cGVjdGVkIHRoZSBvdXRnb2luZyBwYWNrZXQgc2hvdWxkIGluY2x1ZGUgYSBSU1BfVEVNUExBVEUgYW5kIFJTUF9QQUNLRVQgZmllbGQuIFRoZSBSU1BfVEVNUExBVEUgaXMgdXNlZCB0byBleHRyYWN0IGRhdGEgZnJvbSB0aGUgcmVzcG9uc2Ugc3RyaW5nIGFuZCBidWlsZCBhIGNvcnJlc3BvbmRpbmcgUlNQX1BBQ0tFVC4gU2VlIHRoZSBURU1QTEFURSB0YXJnZXQgd2l0aGluIHRoZSBPcGVuQzMgRGVtbyBjb25maWd1cmF0aW9uIGZvciBhbiBleGFtcGxlIG9mIHVzYWdlLg==
|
523
|
-
parameters:
|
524
|
-
- name: Write Termination Characters
|
525
|
-
required: true
|
526
|
-
description: The data to write to the stream after writing a command packet. Given
|
527
|
-
as a hex string such as 0xABCD.
|
528
|
-
values: ".+"
|
529
|
-
- name: Read Termination Characters
|
530
|
-
required: true
|
531
|
-
description: The characters at the end of the stream which delineate the end of
|
532
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
533
|
-
values: ".+"
|
534
|
-
- name: Ignore Lines
|
535
|
-
required: false
|
536
|
-
description: Number of response lines to ignore (completely drop). Default is
|
537
|
-
0.
|
538
|
-
values: "\\d+"
|
539
|
-
- name: Initial Read Delay
|
540
|
-
required: false
|
541
|
-
description: An initial delay after connecting after which the stream will be
|
542
|
-
read till empty and data dropped. Useful for discarding connect headers and
|
543
|
-
initial prompts. Default is nil (no initial read).
|
544
|
-
values: ".+"
|
545
|
-
- name: Response Lines
|
546
|
-
required: false
|
547
|
-
description: The number of lines that make up expected responses. Default is 1.
|
548
|
-
values: "\\d+"
|
549
|
-
- name: Strip Read Termination
|
550
|
-
required: false
|
551
|
-
description: Whether to remove the read termination characters from the stream
|
552
|
-
before returning the telemetry packet. Default is true.
|
553
|
-
values:
|
554
|
-
- 'true'
|
555
|
-
- 'false'
|
556
|
-
- name: Discard Leading Bytes
|
557
|
-
required: false
|
558
|
-
description: The number of bytes to discard from the binary data after reading
|
559
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
560
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
561
|
-
values: "\\d+"
|
562
|
-
- name: Sync Pattern
|
563
|
-
required: false
|
564
|
-
description: Hex string representing a byte pattern that will be searched for
|
565
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
566
|
-
including the sync pattern will be returned. Default is nil (no sync pattern).
|
567
|
-
values: ".+"
|
568
|
-
- name: Fill Sync Pattern
|
569
|
-
required: false
|
570
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
571
|
-
is false.
|
572
|
-
values:
|
573
|
-
- 'false'
|
574
|
-
- 'true'
|
575
|
-
- name: Response Timeout
|
576
|
-
required: false
|
577
|
-
description: Number of seconds to wait before timing out when waiting for a response.
|
578
|
-
Default is 5 seconds.
|
579
|
-
values: ".+"
|
580
|
-
- name: Response Polling Period
|
581
|
-
required: false
|
582
|
-
description: Number of seconds to wait between polling for a response. Default
|
583
|
-
is 0.02 seconds.
|
584
|
-
values: ".+"
|
585
|
-
- name: Error Action
|
586
|
-
required: false
|
587
|
-
description: How to handle errors in the protocol like unexpected responses or
|
588
|
-
response timeouts. 'DISCONNECT' to disconnect after errors. The default is 'LOG'
|
589
|
-
to log an error and continue.
|
590
|
-
values:
|
591
|
-
- LOG
|
592
|
-
- DISCONNECT
|
593
|
-
udp_interface.rb:
|
594
|
-
description: The UDP interface uses UDP packets to send and receive telemetry
|
595
|
-
from the target
|
596
|
-
parameters:
|
597
|
-
- name: Host
|
598
|
-
required: true
|
599
|
-
description: Machine name to connect to. Can be either a named
|
600
|
-
machine (DNS entry) or IP address.
|
601
|
-
values: .+
|
602
|
-
- name: Write Port
|
603
|
-
required: true
|
604
|
-
description: Port which OpenC3 writes commands to
|
605
|
-
values: \d{2,5}
|
606
|
-
- name: Read Port
|
607
|
-
required: true
|
608
|
-
description: Port which OpenC3 reads telemetry from
|
609
|
-
values: \d{2,5}
|
610
|
-
- name: Write Source Port
|
611
|
-
required: false
|
612
|
-
description: Port on the local machine to send commands from. Default is
|
613
|
-
'nil' (socket is not bound to an outgoing port).
|
614
|
-
values: \d{2,5}
|
615
|
-
- name: Inteface Address
|
616
|
-
required: false
|
617
|
-
description:
|
618
|
-
If the remote machine supports multicast the interface address
|
619
|
-
is used to configure the outgoing multicast address
|
620
|
-
values: .+
|
621
|
-
- name: Time To Live
|
622
|
-
required: false
|
623
|
-
description: The number of intermediate routers allowed before dropping the packet
|
624
|
-
values: .+
|
625
|
-
- name: Write Timeout
|
626
|
-
required: false
|
627
|
-
description:
|
628
|
-
Number of seconds to wait before aborting the write. Default is
|
629
|
-
'nil' (block on write).
|
630
|
-
values: .+
|
631
|
-
- name: Read Timeout
|
632
|
-
required: false
|
633
|
-
description:
|
634
|
-
Number of seconds to wait before aborting the read. Default is
|
635
|
-
'nil' (block on read).
|
636
|
-
values: .+
|
637
|
-
- name: Bind Address
|
638
|
-
required: false
|
639
|
-
description: Address to bind UDP ports to
|
640
|
-
values: .+
|
641
|
-
serial_interface.rb:
|
642
|
-
description: Connects to a target over a serial port. OpenC3 provides drivers
|
643
|
-
for both Windows and POSIX drivers for UNIX based systems.
|
644
|
-
parameters:
|
645
|
-
- name: Write Port
|
646
|
-
required: true
|
647
|
-
description:
|
648
|
-
Name of the serial port to write, e.g. 'COM1' or '/dev/ttyS0'.
|
649
|
-
Pass 'nil' to disable writing.
|
650
|
-
values: \d{2,5}
|
651
|
-
- name: Read Port
|
652
|
-
required: true
|
653
|
-
description: Name of the serial port to read, e.g. 'COM1' or '/dev/ttyS0'.
|
654
|
-
Pass 'nil' to disable reading.
|
655
|
-
values: \d{2,5}
|
656
|
-
- name: Baud Rate
|
657
|
-
required: true
|
658
|
-
description: Baud rate to read and write
|
659
|
-
values: .+
|
660
|
-
- name: Parity
|
661
|
-
required: true
|
662
|
-
description: Serial port parity
|
663
|
-
values: ["NONE", "EVENT", "ODD"]
|
664
|
-
- name: Stop Bits
|
665
|
-
required: true
|
666
|
-
description: Number of stop bits
|
667
|
-
values: .+
|
668
|
-
- name: Write Timeout
|
669
|
-
required: true
|
670
|
-
description: Number of seconds to wait before aborting the write.
|
671
|
-
Pass 'nil' to block on write.
|
672
|
-
values: .+
|
673
|
-
- name: Read Timeout
|
674
|
-
required: true
|
675
|
-
description: Number of seconds to wait before aborting the read.
|
676
|
-
Pass 'nil' to block on read.
|
677
|
-
values: .+
|
678
|
-
- name: Protocol Type
|
679
|
-
required: true
|
680
|
-
description: Protocol to apply on the interface data
|
681
|
-
values: BURST:
|
682
|
-
description: The Burst Stream Protocol simply reads as much data as it can from
|
683
|
-
the stream before returning the data as a OpenC3 Packet. This Protocol relies
|
684
|
-
on regular bursts of data delimited by time and thus is not very robust. However
|
685
|
-
it can utilize a sync pattern which does allow it to re-sync from the stream if
|
686
|
-
necessary.
|
687
|
-
parameters:
|
688
|
-
- name: Discard Leading Bytes
|
689
|
-
required: false
|
690
|
-
description: The number of bytes to discard from the binary data after reading
|
691
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
692
|
-
if the sync pattern is being used. Default is 0 (don't discard bytes).
|
693
|
-
values: "\\d+"
|
694
|
-
- name: Sync Pattern
|
695
|
-
required: false
|
696
|
-
description: Hex string representing a byte pattern that will be searched for
|
697
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
698
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
699
|
-
values: ".+"
|
700
|
-
- name: Fill Sync Pattern
|
701
|
-
required: false
|
702
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
703
|
-
is false.
|
704
|
-
values:
|
705
|
-
- 'true'
|
706
|
-
- 'false'
|
707
|
-
FIXED:
|
708
|
-
description: The Fixed Stream Protocol reads a preset minimum amount of data from
|
709
|
-
the stream which is necessary to properly identify all the defined packets using
|
710
|
-
the interface. It then identifies the packet and proceeds to read as much data
|
711
|
-
from the stream as necessary to create the packet which it then returns. This
|
712
|
-
stream relies on all the packets on the interface being fixed in length. For example,
|
713
|
-
all the packets using the interface are a fixed size and contain a simple header
|
714
|
-
with a 32 bit sync pattern followed by a 16 bit ID. The Fixed Stream Protocol
|
715
|
-
would elegantly handle this case with a minimum read size of 6 bytes.
|
716
|
-
parameters:
|
717
|
-
- name: Minimum ID Size
|
718
|
-
required: true
|
719
|
-
description: The minimum amount of bytes needed to identify a packet. All the
|
720
|
-
packet definitions must declare their ID_ITEM(s) within this given amount of
|
721
|
-
bytes.
|
722
|
-
values: "\\d+"
|
723
|
-
- name: Discard Leading Bytes
|
724
|
-
required: false
|
725
|
-
description: The number of bytes to discard from the binary data after reading
|
726
|
-
from the stream. Note that this applies to bytes starting with the sync pattern
|
727
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
728
|
-
values: "\\d+"
|
729
|
-
- name: Sync Pattern
|
730
|
-
required: false
|
731
|
-
description: Hex string representing a byte pattern that will be searched for
|
732
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
733
|
-
including the sync pattern will be returned. Default is 'nil' (no sync pattern).
|
734
|
-
values: ".+"
|
735
|
-
- name: Telemetry Stream
|
736
|
-
required: false
|
737
|
-
description: Whether the stream is returning telemetry. Default is true.
|
738
|
-
values:
|
739
|
-
- 'true'
|
740
|
-
- 'false'
|
741
|
-
- name: Fill Sync Pattern
|
742
|
-
required: false
|
743
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
744
|
-
is false.
|
745
|
-
values:
|
746
|
-
- 'false'
|
747
|
-
- 'true'
|
748
|
-
LENGTH:
|
749
|
-
description: The Length Stream Protocol depends on a length field at a fixed location
|
750
|
-
in the defined packets using the interface. It then reads enough data to grab
|
751
|
-
the length field, decodes it, and reads the remaining length of the packet. For
|
752
|
-
example, all the packets using the interface contain a CCSDS header with a length
|
753
|
-
field. The Length Stream Protocol can be set up to handle the length field and
|
754
|
-
even the "length - 1" offset the CCSDS header uses.
|
755
|
-
parameters:
|
756
|
-
- name: Length Bit Offset
|
757
|
-
required: false
|
758
|
-
description: The bit offset of the length field. Every packet using this interface
|
759
|
-
must have the same structure such that the length field is the same size at
|
760
|
-
the same location. Be sure to account for the length of the Sync Pattern in
|
761
|
-
this value (if present). Default is 0.
|
762
|
-
values: "\\d+"
|
763
|
-
- name: Length Bit Size
|
764
|
-
required: false
|
765
|
-
description: The size in bits of the length field. Default is 16.
|
766
|
-
values: "\\d+"
|
767
|
-
- name: Length Value Offset
|
768
|
-
required: false
|
769
|
-
description: The offset to apply to the length field value. For example if the
|
770
|
-
length field indicates packet length minus one, this value should be one. Be
|
771
|
-
sure to account for the length of the Sync Pattern in this value (if present).
|
772
|
-
Default is 0.
|
773
|
-
values: "\\d+"
|
774
|
-
- name: Bytes per Count
|
775
|
-
required: false
|
776
|
-
description: The number of bytes per each length field 'count'. This is used if
|
777
|
-
the units of the length field is something other than bytes, for example if
|
778
|
-
the length field count is in words. Default is 1.
|
779
|
-
values: "\\d+"
|
780
|
-
- name: Length Endianness
|
781
|
-
required: false
|
782
|
-
description: The endianness of the length field.
|
783
|
-
values:
|
784
|
-
- BIG_ENDIAN
|
785
|
-
- LITTLE_ENDIAN
|
786
|
-
- name: Discard Leading Bytes
|
787
|
-
required: false
|
788
|
-
description: The number of bytes to discard from the binary data after reading
|
789
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
790
|
-
if the sync pattern is being used. Discarding is one of the very last steps
|
791
|
-
so any size and offsets above need to account for all the data before discarding.
|
792
|
-
Default is 0 (do not discard bytes).
|
793
|
-
values: "\\d+"
|
794
|
-
- name: Sync Pattern
|
795
|
-
required: false
|
796
|
-
description: Hex string representing a byte pattern that will be searched for
|
797
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
798
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
799
|
-
values: ".+"
|
800
|
-
- name: Max Length
|
801
|
-
required: false
|
802
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
803
|
-
maximum length)
|
804
|
-
values: ".+"
|
805
|
-
- name: Fill Length and Sync Pattern
|
806
|
-
required: false
|
807
|
-
description: Setting this flag to true causes the length field and sync pattern
|
808
|
-
(if present) to be filled automatically on outgoing packets. Default is false
|
809
|
-
values:
|
810
|
-
- 'false'
|
811
|
-
- 'true'
|
812
|
-
TERMINATED:
|
813
|
-
description: The Terminated Stream Protocol delineates packets using termination
|
814
|
-
characters found at the end of every packet. It continuously reads data from the
|
815
|
-
stream until the termination characters are found at which point it returns the
|
816
|
-
packet data. For example, all the packets using the interface are followed by
|
817
|
-
0xABCD. This data can either be a part of each packet that is kept or something
|
818
|
-
which is known only by the Terminated Stream Protocol and simply thrown away.
|
819
|
-
parameters:
|
820
|
-
- name: Write Termination Characters
|
821
|
-
required: true
|
822
|
-
description: The data to write to the stream after writing a command packet. Given
|
823
|
-
as a hex string such as 0xABCD.
|
824
|
-
values: ".+"
|
825
|
-
- name: Read Termination Characters
|
826
|
-
required: true
|
827
|
-
description: The characters at the end of the stream which delineate the end of
|
828
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
829
|
-
values: ".+"
|
830
|
-
- name: Strip Read Termination
|
831
|
-
required: false
|
832
|
-
description: Whether to remove the read termination characters from the stream
|
833
|
-
before returning the telemetry packet. Default is true.
|
834
|
-
values:
|
835
|
-
- 'true'
|
836
|
-
- 'false'
|
837
|
-
- name: Discard Leading Bytes
|
838
|
-
required: false
|
839
|
-
description: The number of bytes to discard from the binary data after reading
|
840
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
841
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes)
|
842
|
-
values: "\\d+"
|
843
|
-
- name: Sync Pattern
|
844
|
-
required: false
|
845
|
-
description: Hex string representing a byte pattern that will be searched for
|
846
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
847
|
-
including the sync pattern will be returned. Default is nil (no sync pattern)
|
848
|
-
values: ".+"
|
849
|
-
- name: Fill Sync Pattern
|
850
|
-
required: false
|
851
|
-
description: Whether or not to fill in the sync pattern on outgoing packets Default
|
852
|
-
is false
|
853
|
-
values:
|
854
|
-
- 'false'
|
855
|
-
- 'true'
|
856
|
-
PREIDENTIFIED:
|
857
|
-
description: The Preidentified Stream Protocol is used internally by the OpenC3
|
858
|
-
Command and Telemetry Server only and delineates packets using a custom OpenC3
|
859
|
-
header. This stream Protocol is configured by default on port 7779 and is created
|
860
|
-
by the Command and Telemetry Server to allow tools to connect and receive the
|
861
|
-
entire packet stream. The Telemetry Grapher uses this port to receive all the
|
862
|
-
packets following through the Command and Telemetry Server in case any need to
|
863
|
-
be graphed.
|
864
|
-
parameters:
|
865
|
-
- name: Sync Pattern
|
866
|
-
required: false
|
867
|
-
description: Hex string representing a byte pattern that will be searched for
|
868
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
869
|
-
AFTER the sync pattern will be returned. The sync pattern itself is discarded.
|
870
|
-
Default is nil (no sync pattern)
|
871
|
-
values: ".+"
|
872
|
-
- name: Max Length
|
873
|
-
required: false
|
874
|
-
description: The maximum allowed value in the length field. Default is nil (no
|
875
|
-
maximum length)
|
876
|
-
values: ".+"
|
877
|
-
TEMPLATE:
|
878
|
-
description: !binary |-
|
879
|
-
VGhlIFRlbXBsYXRlIFN0cmVhbSBQcm90b2NvbCB3b3JrcyBtdWNoIGxpa2UgdGhlIFRlcm1pbmF0ZWQgU3RyZWFtIFByb3RvY29sIGV4Y2VwdCBpdCBkZXNpZ25lZCBmb3IgdGV4dC1iYXNlZCBjb21tYW5kIGFuZCByZXNwb25zZSB0eXBlIGludGVyZmFjZXMgc3VjaCBhcyBTQ1BJIChTdGFuZGFyZCBDb21tYW5kcyBmb3IgUHJvZ3JhbW1hYmxlIEluc3RydW1lbnRzKS4gSXQgZGVsaW5lYXRlcyBwYWNrZXRzIGluIHRoZSBzYW1lIHdheSBhcyB0aGUgdGVybWluYXRlZCBzdHJlYW0gcHJvdG9jb2wgZXhjZXB0IGVhY2ggcGFja2V0IGlzIHJlZmVycmVkIHRvIGFzIGEgbGluZSAoYmVjYXVzZSBlYWNoIHVzdWFsbHkgY29udGFpbnMgYSBsaW5lIG9mIHRleHQpLiBGb3Igb3V0Z29pbmcgcGFja2V0cyBhIENNRF9URU1QTEFURSBmaWVsZCBpcyBleHBlY3RlZCB0byBleGlzdCBpbiB0aGUgcGFja2V0LiBUaGlzIGZpZWxkIGNvbnRhaW5zIGEgdGVtcGxhdGUgc3RyaW5nIHdpdGggaXRlbXMgdG8gYmUgZmlsbGVkIGluIGRlbGluaWF0ZWQgd2l0aGluIEhUTUwgdGFnIHN0eWxlIGJyYWNrZXRzIOKAnCIuIFRoZSBUZW1wbGF0ZSBTdHJlYW0gUHJvdG9jb2wgd2lsbCByZWFkIHRoZSBuYW1lZCBpdGVtcyBmcm9tIHdpdGhpbiB0aGUgcGFja2V0IGZpbGwgaW4gdGhlIENNRF9URU1QTEFURS4gVGhpcyBmaWxsZWQgaW4gc3RyaW5nIGlzIHRoZW4gc2VudCBvdXQgcmF0aGVyIHRoYW4gdGhlIG9yaWdpbmFsbHkgcGFzc2VkIGluIHBhY2tldC4gQ29ycmVzcG9uZGluZ2x5LCBpZiBhIHJlc3BvbnNlIGlzIGV4cGVjdGVkIHRoZSBvdXRnb2luZyBwYWNrZXQgc2hvdWxkIGluY2x1ZGUgYSBSU1BfVEVNUExBVEUgYW5kIFJTUF9QQUNLRVQgZmllbGQuIFRoZSBSU1BfVEVNUExBVEUgaXMgdXNlZCB0byBleHRyYWN0IGRhdGEgZnJvbSB0aGUgcmVzcG9uc2Ugc3RyaW5nIGFuZCBidWlsZCBhIGNvcnJlc3BvbmRpbmcgUlNQX1BBQ0tFVC4gU2VlIHRoZSBURU1QTEFURSB0YXJnZXQgd2l0aGluIHRoZSBPcGVuQzMgRGVtbyBjb25maWd1cmF0aW9uIGZvciBhbiBleGFtcGxlIG9mIHVzYWdlLg==
|
880
|
-
parameters:
|
881
|
-
- name: Write Termination Characters
|
882
|
-
required: true
|
883
|
-
description: The data to write to the stream after writing a command packet. Given
|
884
|
-
as a hex string such as 0xABCD.
|
885
|
-
values: ".+"
|
886
|
-
- name: Read Termination Characters
|
887
|
-
required: true
|
888
|
-
description: The characters at the end of the stream which delineate the end of
|
889
|
-
a telemetry packet. Given as a hex string such as 0xABCD.
|
890
|
-
values: ".+"
|
891
|
-
- name: Ignore Lines
|
892
|
-
required: false
|
893
|
-
description: Number of response lines to ignore (completely drop). Default is
|
894
|
-
0.
|
895
|
-
values: "\\d+"
|
896
|
-
- name: Initial Read Delay
|
897
|
-
required: false
|
898
|
-
description: An initial delay after connecting after which the stream will be
|
899
|
-
read till empty and data dropped. Useful for discarding connect headers and
|
900
|
-
initial prompts. Default is nil (no initial read).
|
901
|
-
values: ".+"
|
902
|
-
- name: Response Lines
|
903
|
-
required: false
|
904
|
-
description: The number of lines that make up expected responses. Default is 1.
|
905
|
-
values: "\\d+"
|
906
|
-
- name: Strip Read Termination
|
907
|
-
required: false
|
908
|
-
description: Whether to remove the read termination characters from the stream
|
909
|
-
before returning the telemetry packet. Default is true.
|
910
|
-
values:
|
911
|
-
- 'true'
|
912
|
-
- 'false'
|
913
|
-
- name: Discard Leading Bytes
|
914
|
-
required: false
|
915
|
-
description: The number of bytes to discard from the binary data after reading
|
916
|
-
from the stream. Note that this applies to bytes including the sync pattern
|
917
|
-
if the sync pattern is being used. Default is 0 (do not discard bytes).
|
918
|
-
values: "\\d+"
|
919
|
-
- name: Sync Pattern
|
920
|
-
required: false
|
921
|
-
description: Hex string representing a byte pattern that will be searched for
|
922
|
-
in the raw stream. This pattern represents a packet delimiter and all data found
|
923
|
-
including the sync pattern will be returned. Default is nil (no sync pattern).
|
924
|
-
values: ".+"
|
925
|
-
- name: Fill Sync Pattern
|
926
|
-
required: false
|
927
|
-
description: Whether or not to fill in the sync pattern on outgoing packets. Default
|
928
|
-
is false.
|
929
|
-
values:
|
930
|
-
- 'false'
|
931
|
-
- 'true'
|
932
|
-
- name: Response Timeout
|
933
|
-
required: false
|
934
|
-
description: Number of seconds to wait before timing out when waiting for a response.
|
935
|
-
Default is 5 seconds.
|
936
|
-
values: ".+"
|
937
|
-
- name: Response Polling Period
|
938
|
-
required: false
|
939
|
-
description: Number of seconds to wait between polling for a response. Default
|
940
|
-
is 0.02 seconds.
|
941
|
-
values: ".+"
|
942
|
-
- name: Error Action
|
943
|
-
required: false
|
944
|
-
description: How to handle errors in the protocol like unexpected responses or
|
945
|
-
response timeouts. 'DISCONNECT' to disconnect after errors. The default is 'LOG'
|
946
|
-
to log an error and continue.
|
947
|
-
values:
|
948
|
-
- LOG
|
949
|
-
- DISCONNECT
|
950
|
-
cmd_tlm_server_interface.rb:
|
951
|
-
description: Provides a connection to the OpenC3 Command and Telemetry Server.
|
952
|
-
This allows scripts and other OpenC3 tools to send commands to the CmdTlmServer
|
953
|
-
to enable and disable logging. It also allows scripts and other tools to
|
954
|
-
receive a OpenC3 version information packet and a limits change packet which
|
955
|
-
is sent when any telemetry items change limits states. The CmdTlmServer
|
956
|
-
interface can be used by any OpenC3 configuration.
|
957
|
-
linc_interface.rb:
|
958
|
-
description: The LINC interface uses a single TCPIP socket to talk to a Ball
|
959
|
-
Aerospace LINC Labview target.
|
960
|
-
parameters:
|
961
|
-
- name: Host
|
962
|
-
required: true
|
963
|
-
description: Machine name to connect to. Can be either a named
|
964
|
-
machine (DNS entry) or IP address.
|
965
|
-
values: .+
|
966
|
-
- name: Port
|
967
|
-
required: true
|
968
|
-
description: Port to write commands to and read telemetry from
|
969
|
-
values: \d{2,5}
|
970
|
-
- name: Handshake Enabled
|
971
|
-
required: false
|
972
|
-
description: Enable command handshaking where commands block until the
|
973
|
-
corresponding handshake message is received. Default is true.
|
974
|
-
values: ["true", "false"]
|
975
|
-
- name: Response Timeout
|
976
|
-
required: false
|
977
|
-
description: Number of seconds to wait for a handshaking response.
|
978
|
-
Default is 5 seconds
|
979
|
-
values: \d+
|
980
|
-
- name: Read Timeout
|
981
|
-
required: true
|
982
|
-
description: Number of seconds to wait before aborting the read.
|
983
|
-
Pass 'nil' to block on read. Default is nil.
|
984
|
-
values: .+
|
985
|
-
- name: Write Timeout
|
986
|
-
required: true
|
987
|
-
description: Number of seconds to wait before aborting the write.
|
988
|
-
Pass 'nil' to block on write. Default is 5 seconds.
|
989
|
-
values: .+
|
990
|
-
- name: Length Bit Offset
|
991
|
-
required: false
|
992
|
-
description: The bit offset of the length field. Every packet using this
|
993
|
-
interface must have the same structure such that the length field is the
|
994
|
-
same size at the same location. Default is 0.
|
995
|
-
values: \d+
|
996
|
-
- name: Length Bit Size
|
997
|
-
required: false
|
998
|
-
description: The size in bits of the length field. Default is 16 bits.
|
999
|
-
values: \d+
|
1000
|
-
- name: Length Value Offset
|
1001
|
-
required: false
|
1002
|
-
description: The offset to apply to the length field value. For example if
|
1003
|
-
the length field indicates packet length minus one, this value should be one.
|
1004
|
-
Default is 4.
|
1005
|
-
values: \d+
|
1006
|
-
- name: GUID Fieldname
|
1007
|
-
required: false
|
1008
|
-
description: Fieldname of the GUID field. Default is 'HDR_GUID'.
|
1009
|
-
values: .+
|
1010
|
-
- name: Length Endianness
|
1011
|
-
required: false
|
1012
|
-
description: The endianness of the length field. Default is BIG_ENDIAN.
|
1013
|
-
values: ["BIG_ENDIAN", "LITTLE_ENDIAN"]
|
1014
|
-
- name: Length Fieldname
|
1015
|
-
required: false
|
1016
|
-
description: Fieldname of the length field. Defaults is 'HDR_LENGTH'.
|
1017
|
-
values: .+
|