openc3-cosmos-demo 5.14.1 → 5.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0c957b46e562a6c1ba50f0157275b5158cdc57227dd911109ed1dc6a59aaaed
4
- data.tar.gz: 99386b625c5724b0b07b71a94539192b1853f3915c99231558b7730471ebb6cd
3
+ metadata.gz: 6070b50c74e459bc08770e1ad72726643c6e72178459c6862200515f24cc2efc
4
+ data.tar.gz: f573bdcc61cf3591bb00475b2b8f4caab280f04777a200eaf791a1f9187b5834
5
5
  SHA512:
6
- metadata.gz: '08d1a36e3d6be2d70486883ec9d7b6021883b0181b800a98f1ad8db92bba92e82b2c4513a88ebdb950f97f5a4e86af95583c8fcb2e310802608fbd6e335c3082'
7
- data.tar.gz: 31ca3b98445a6ea09a83ec8139f7a8d8c07b5fbc282e62f830387968a35ddf9f87f1509608a04655fcd7e11f1465a89d26ced292a11dc3006fb9c571dbbb9951
6
+ metadata.gz: 15c70d7c0ea9e4fe9dbef55f2dbda41f9980b313fd7890e86dd6ca5b58590c10a4ce3b32098fa5170d53989d831d2981446da00efb8f874a43be7f61d6a9f2ba
7
+ data.tar.gz: b7553baf8e501b2f68db34bc54bcf370a28c2ab44924d43e1c2dbe2e6d69526756d4974dc7fb6d08393580a00864567bcc2967bf5f627424cf3017d08e8e8639
@@ -40,7 +40,7 @@ COMMAND <%= target_name %> ASCIICMD BIG_ENDIAN "Enumerated ASCII command"
40
40
  STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser poses an eye safety hazard."
41
41
  STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING Laser will be fired!"
42
42
  STATE "NOOP" "NOOP" DISABLE_MESSAGES
43
- APPEND_PARAMETER BINARY 32 STRING 0xDEADBEEF "Binary string"
43
+ APPEND_PARAMETER BINARY 32 BLOCK 0xDEADBEEF "Binary string"
44
44
  APPEND_PARAMETER ASCII 80 STRING "0xDEADBEEF" "ASCII string"
45
45
  RELATED_ITEM <%= target_name %> HEALTH_STATUS ASCIICMD
46
46
 
@@ -85,3 +85,8 @@ COMMAND <%= target_name %> QUIET BIG_ENDIAN "Enable/disable no out of limits in
85
85
  COMMAND <%= target_name %> TIME_OFFSET BIG_ENDIAN "Subtract the packet time by the given seconds"
86
86
  <%= render "_ccsds_cmd.txt", locals: {id: 12} %>
87
87
  APPEND_PARAMETER SECONDS 32 UINT MIN MAX 0 "Seconds to subtract from packet time"
88
+
89
+ COMMAND <%= target_name %> HIDDEN BIG_ENDIAN "Hidden command to bump the hidden packet"
90
+ HIDDEN
91
+ <%= render "_ccsds_cmd.txt", locals: {id: 13} %>
92
+ APPEND_PARAMETER COUNT 32 UINT MIN MAX 0 "Count to set"
@@ -63,6 +63,14 @@ TELEMETRY <%= target_name %> HEALTH_STATUS BIG_ENDIAN "Health and status from th
63
63
  READ_CONVERSION processor_conversion.rb TEMP1STAT MEAN
64
64
  ITEM TEMP1STDDEV 0 0 DERIVED "Stddev of most recent 100 samples for TEMP1"
65
65
  READ_CONVERSION processor_conversion.rb TEMP1STAT STDDEV
66
+ ITEM TEMP1_MICRO 0 0 DERIVED
67
+ GENERIC_READ_CONVERSION_START FLOAT 32
68
+ packet.read('TEMP1') / 1_000_000
69
+ GENERIC_READ_CONVERSION_END
70
+ ITEM TEMP1_MEGA 0 0 DERIVED
71
+ GENERIC_READ_CONVERSION_START FLOAT 32
72
+ packet.read('TEMP1') * 1_000_000
73
+ GENERIC_READ_CONVERSION_END
66
74
  PROCESSOR TEMP1STAT statistics_processor.rb TEMP1 100
67
75
  PROCESSOR TEMP1WATER watermark_processor.rb TEMP1
68
76
 
@@ -147,3 +155,10 @@ TELEMETRY <%= target_name %> MECH BIG_ENDIAN "Mechanism status ©®"
147
155
  UNITS micro-Ampères µA
148
156
  ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
149
157
  READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
158
+
159
+ TELEMETRY <%= target_name %> HIDDEN BIG_ENDIAN "Hidden packet"
160
+ HIDDEN
161
+ <%= render "_ccsds_tlm.txt", locals: {apid: 6} %>
162
+ APPEND_ITEM COUNT 32 UINT "Count for hidden command"
163
+ ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
164
+ READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
@@ -116,6 +116,11 @@ module OpenC3
116
116
  packet.CcsdsSeqFlags = 'NOGROUP'
117
117
  packet.CcsdsLength = packet.buffer.length - 7
118
118
 
119
+ packet = @tlm_packets['HIDDEN']
120
+ packet.enable_method_missing
121
+ packet.CcsdsSeqFlags = 'NOGROUP'
122
+ packet.CcsdsLength = packet.buffer.length - 7
123
+
119
124
  @solar_panel_positions = SOLAR_PANEL_DFLTS.dup
120
125
  @solar_panel_thread = nil
121
126
  @solar_panel_thread_cancel = false
@@ -144,6 +149,7 @@ module OpenC3
144
149
  set_rate('PARAMS', 100)
145
150
  set_rate('IMAGE', 100)
146
151
  set_rate('MECH', 10)
152
+ set_rate('HIDDEN', 500)
147
153
  end
148
154
 
149
155
  def tick_period_seconds
@@ -211,6 +217,8 @@ module OpenC3
211
217
  when 'SLRPNLRESET'
212
218
  OpenC3.kill_thread(self, @solar_panel_thread)
213
219
  @solar_panel_positions = SOLAR_PANEL_DFLTS.dup
220
+ when 'HIDDEN'
221
+ @tlm_packets['HIDDEN'].count = packet.read('count')
214
222
  end
215
223
  end
216
224
 
@@ -368,6 +376,11 @@ module OpenC3
368
376
  packet.slrpnl4 = @solar_panel_positions[3]
369
377
  packet.slrpnl5 = @solar_panel_positions[4]
370
378
  packet.current = 0.5
379
+
380
+ when 'HIDDEN'
381
+ packet.timesec = time.tv_sec - @time_offset
382
+ packet.timeus = time.tv_usec
383
+ packet.ccsdsseqcnt += 1
371
384
  end
372
385
  end
373
386
 
@@ -1,9 +1,5 @@
1
1
  LANGUAGE ruby
2
2
 
3
- # Requires for limits responses and custom conversion classes
4
- REQUIRE example_limits_response.rb
5
- REQUIRE sim_inst.rb
6
-
7
3
  # Ignored Parameters
8
4
  IGNORE_PARAMETER CCSDSVER
9
5
  IGNORE_PARAMETER CCSDSTYPE
@@ -38,7 +38,7 @@ COMMAND <%= target_name %> ASCIICMD BIG_ENDIAN "Enumerated ASCII command"
38
38
  STATE "ARM LASER" "ARM LASER" HAZARDOUS "Arming the laser poses an eye safety hazard."
39
39
  STATE "FIRE LASER" "FIRE LASER" HAZARDOUS "WARNING Laser will be fired!"
40
40
  STATE "NOOP" "NOOP" DISABLE_MESSAGES
41
- APPEND_PARAMETER BINARY 32 STRING 0xDEADBEEF "Binary string"
41
+ APPEND_PARAMETER BINARY 32 BLOCK 0xDEADBEEF "Binary string"
42
42
  APPEND_PARAMETER ASCII 80 STRING "0xDEADBEEF" "ASCII string"
43
43
  RELATED_ITEM <%= target_name %> HEALTH_STATUS ASCIICMD
44
44
 
@@ -1,7 +1,7 @@
1
1
  import os
2
2
 
3
3
  # TBL_FILENAME is set to the name of the table file to overwrite
4
- print(f"file:{os.environ['TBL_FILENAME']}")
4
+ print(f"file:{os.getenv('TBL_FILENAME')}")
5
5
  # Download the file
6
6
  # Implement custom commanding logic to download the table
7
7
  # You probably want to do something like:
@@ -15,4 +15,4 @@ buffer = ""
15
15
  # buffer += tlm("TGT DUMP_PKT DATA")
16
16
  # i += 1
17
17
  # end
18
- put_target_file(os.environ["TBL_FILENAME"], buffer)
18
+ put_target_file(os.getenv("TBL_FILENAME"), buffer)
@@ -2,9 +2,9 @@ import os
2
2
  from openc3.utilities.string import formatted
3
3
 
4
4
  # TBL_FILENAME is set to the name of the table file
5
- print(f"file:{os.environ['TBL_FILENAME']}")
5
+ print(f"file:{os.getenv('TBL_FILENAME')}")
6
6
  # Open the file
7
- file = get_target_file(os.environ["TBL_FILENAME"])
7
+ file = get_target_file(os.getenv("TBL_FILENAME"))
8
8
  buffer = file.read()
9
9
  # Implement custom commanding logic to upload the table
10
10
  # Note that buffer is a Ruby string of bytes