openc3-cosmos-geosim 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2371245c77c5d14cea46bef0cec30cf44e8bca7c96fdbac3ba537271b68c5e1c
4
- data.tar.gz: 2e8a62f6f445b33a0dc1948073a4bc5ad129290fc3d5050cc99fd534d90f56fe
3
+ metadata.gz: e89fcaba782b9edd416bc892ff37e10a16b64df1d41041f785bcf0efafce8432
4
+ data.tar.gz: a1d5527330f925bfcd6cc502c063f3381358c1da4ebdc32b27b3c5228e0eaf3f
5
5
  SHA512:
6
- metadata.gz: 0b25d7317d5f7adb8626a48f3519ab79b49c2be558b99c1a769e69878e7555d39d71b102e936942eef795581906d27ee94d8f686ffea4f56df8204175972c508
7
- data.tar.gz: a2c2bcd0dec628aa0a15af73c0ef67f8ee40060dda3d56a2a9c2914a7ebc78595ebf95689962b00ac16d487f3979c3f55084e25a90fae76aed4d6e555a903ee6
6
+ metadata.gz: e1c5107657c7fcee85409953bbb1b52832d7b6054f505bbebed4f64d0f8312bd541bd33611989f8285f5664f95876c97d963394590e2bc25b2a3e1a250755c33
7
+ data.tar.gz: 0aef2be7641dad9901081cdd2cdd43670ff8998fc43651af7e4f07669ee0661a7745028f2df4e3b72956cfcf2c8457d59c6aa6b90e02ed7f98b2c65835a58f28
@@ -25,7 +25,7 @@ module OpenC3
25
25
  class GeosatTarget
26
26
  class GeosatServerInterface < TcpipServerInterface
27
27
  def initialize(port)
28
- super(port.to_i, port.to_i, 5.0, nil, 'LENGTH', 64, 16, 11, 1, 'BIG_ENDIAN', 4, "0x1ACDFC1D", nil, true)
28
+ super(port.to_i, port.to_i, 5.0, nil, 'LENGTH', 64, 16, 11, 1, 'BIG_ENDIAN', 4, "0x1ACFFC1D", nil, true)
29
29
  end
30
30
  end
31
31
 
@@ -1,165 +1,56 @@
1
- COMMAND GEOSAT COLLECT BIG_ENDIAN "Starts a collect on the GEOSAT target"
2
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
3
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
4
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
5
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
6
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
7
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
8
- OVERFLOW TRUNCATE
9
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
10
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 1 "Packet id"
11
- PARAMETER TYPE 64 16 UINT MIN MAX 0 "Collect type"
12
- REQUIRED
13
- STATE NORMAL 0
14
- STATE SPECIAL 1 HAZARDOUS
15
- PARAMETER DURATION 80 32 FLOAT 0.0 10.0 1.0 "Collect duration"
16
- PARAMETER OPCODE 112 8 UINT 0x0 0xFF 0xAB "Collect opcode"
17
- FORMAT_STRING "0x%0X"
18
- PARAMETER TEMP 120 32 FLOAT 0.0 25.0 0.0 "Collect temperature"
19
- UNITS Celsius C
20
-
21
- COMMAND GEOSAT ABORT BIG_ENDIAN "Aborts a collect on the GEOSAT instrument"
1
+ COMMAND GEOSAT NOOP BIG_ENDIAN "NOOP"
22
2
  PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
23
3
  PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
24
4
  PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
25
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
5
+ ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 1 "CCSDS primary header application id"
26
6
  PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
27
7
  PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
28
8
  OVERFLOW TRUNCATE
29
9
  PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
30
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 2 "Packet id"
10
+ APPEND_PARAMETER IGNORE 8 UINT MIN MAX 0 "Ignored item"
31
11
 
32
- COMMAND GEOSAT CLEAR BIG_ENDIAN "Clears counters on the GEOSAT instrument"
33
- HAZARDOUS "Clearing counters may lose valuable information."
12
+ COMMAND GEOSAT COLLECT BIG_ENDIAN "Starts a collect on the GEOSAT target"
34
13
  PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
35
14
  PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
36
15
  PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
37
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
16
+ ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 2 "CCSDS primary header application id"
38
17
  PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
39
18
  PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
40
19
  OVERFLOW TRUNCATE
41
20
  PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
42
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 3 "Packet id"
21
+ APPEND_PARAMETER TYPE 16 UINT MIN MAX 0 "Collect type"
22
+ REQUIRED
23
+ STATE NORMAL 0
24
+ STATE SPECIAL 1 HAZARDOUS
25
+ APPEND_PARAMETER DURATION 32 FLOAT 0.0 10.0 1.0 "Collect duration"
26
+ APPEND_PARAMETER OPCODE 8 UINT 0x0 0xFF 0xAB "Collect opcode"
27
+ FORMAT_STRING "0x%0X"
28
+ APPEND_PARAMETER TEMP 32 FLOAT 0.0 25.0 0.0 "Collect temperature"
29
+ UNITS Celsius C
43
30
 
44
31
  COMMAND GEOSAT SET_MODE BIG_ENDIAN "Change spacecraft mode"
45
32
  PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
46
33
  PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
47
34
  PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
48
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
35
+ ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 5 "CCSDS primary header application id"
49
36
  PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
50
37
  PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
51
38
  OVERFLOW TRUNCATE
52
39
  PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
53
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 4 "Packet id"
54
40
  APPEND_PARAMETER MODE 8 UINT 0 2 0 "Desired Mode"
55
41
  REQUIRED
56
42
  STATE SAFE 0
57
43
  STATE CHECKOUT 1
58
44
  STATE OPERATE 2
59
45
 
60
- COMMAND GEOSAT SLRPNLDEPLOY BIG_ENDIAN "Deploy solar array panel"
61
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
62
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
63
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
64
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
65
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
66
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
67
- OVERFLOW TRUNCATE
68
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
69
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 5 "Packet id"
70
- APPEND_PARAMETER NUM 8 UINT 1 2 1 "Solar Array Number"
71
-
72
- COMMAND GEOSAT SLRPNLSTOW BIG_ENDIAN "Stow solar array panel"
73
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
74
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
75
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
76
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
77
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
78
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
79
- OVERFLOW TRUNCATE
80
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
81
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 6 "Packet id"
82
- APPEND_PARAMETER NUM 8 UINT 1 2 1 "Solar Array Number"
83
-
84
- COMMAND GEOSAT SLRPNLANG BIG_ENDIAN "Set Solar Array Panel Angle"
85
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
86
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
87
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
88
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
89
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
90
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
91
- OVERFLOW TRUNCATE
92
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
93
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 7 "Packet id"
94
- APPEND_PARAMETER NUM 8 UINT 1 2 1 "Solar Array Number"
95
- APPEND_PARAMETER ANG 32 FLOAT 0 360 0 "Solar Array Angle"
96
- UNITS DEGREES DEG
97
-
98
- COMMAND GEOSAT TABLE_LOAD BIG_ENDIAN "Load table"
99
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
100
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
101
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
102
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
103
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
104
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
105
- OVERFLOW TRUNCATE
106
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
107
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 8 "Packet id"
108
- APPEND_PARAMETER DATA 80 BLOCK "" "Table data"
109
-
110
- COMMAND GEOSAT HTR_CTRL BIG_ENDIAN "Heater Control ON/OFF"
111
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
112
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
113
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
114
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
115
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
116
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
117
- OVERFLOW TRUNCATE
118
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
119
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 9 "Packet id"
120
- APPEND_PARAMETER NUM 8 UINT 1 2 1 "Heater Number"
121
- APPEND_PARAMETER STATE 8 UINT 0 1 0 "Desired State"
122
- STATE OFF 0 HAZARDOUS
123
- STATE ON 1
124
-
125
- COMMAND GEOSAT HTR_STATE BIG_ENDIAN "Heater State ON/OFF"
126
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
127
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
128
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
129
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
130
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
131
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
132
- OVERFLOW TRUNCATE
133
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
134
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 10 "Packet id"
135
- APPEND_PARAMETER NUM 8 UINT 1 2 1 "Heater Number"
136
- APPEND_PARAMETER STATE 8 UINT 0 1 0 "Desired State"
137
- STATE OFF 0
138
- STATE ON 1
139
-
140
46
  COMMAND GEOSAT HTR_SETPT BIG_ENDIAN "Heater Setpoint"
141
47
  PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
142
48
  PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
143
49
  PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
144
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
50
+ ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 12 "CCSDS primary header application id"
145
51
  PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
146
52
  PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
147
53
  OVERFLOW TRUNCATE
148
54
  PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
149
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 11 "Packet id"
150
55
  APPEND_PARAMETER NUM 8 UINT 1 2 1 "Heater Number"
151
56
  APPEND_PARAMETER SETPT 32 FLOAT -100 100 0 "Setpoint"
152
-
153
- COMMAND GEOSAT ADCS_CTRL BIG_ENDIAN "ADCS Control of Solar Panel Angle ON/OFF"
154
- PARAMETER CCSDSVER 0 3 UINT 0 0 0 "CCSDS primary header version number"
155
- PARAMETER CCSDSTYPE 3 1 UINT 1 1 1 "CCSDS primary header packet type"
156
- PARAMETER CCSDSSHF 4 1 UINT 0 0 0 "CCSDS primary header secondary header flag"
157
- ID_PARAMETER CCSDSAPID 5 11 UINT 0 2047 999 "CCSDS primary header application id"
158
- PARAMETER CCSDSSEQFLAGS 16 2 UINT 3 3 3 "CCSDS primary header sequence flags"
159
- PARAMETER CCSDSSEQCNT 18 14 UINT 0 16383 0 "CCSDS primary header sequence count"
160
- OVERFLOW TRUNCATE
161
- PARAMETER CCSDSLENGTH 32 16 UINT MIN MAX 12 "CCSDS primary header packet length"
162
- ID_PARAMETER PKTID 48 16 UINT MIN MAX 12 "Packet id"
163
- APPEND_PARAMETER STATE 8 UINT 0 1 0 "Desired State"
164
- STATE OFF 0 HAZARDOUS
165
- STATE ON 1
@@ -17,7 +17,6 @@ TELEMETRY GEOSAT HEALTH_STATUS BIG_ENDIAN "Health and status from the GEOSAT tar
17
17
  APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
18
18
  APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
19
19
  APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
20
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
21
20
  APPEND_ITEM CMD_ACPT_CNT 32 UINT "Command accept counter"
22
21
  APPEND_ITEM CMD_RJCT_CNT 32 UINT "Command reject counter"
23
22
  APPEND_ITEM MODE 8 UINT "Spacecraft mode"
@@ -49,7 +48,6 @@ TELEMETRY GEOSAT THERMAL BIG_ENDIAN "Thermal data"
49
48
  APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
50
49
  APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
51
50
  APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
52
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
53
51
  APPEND_ITEM TEMP1 32 FLOAT "Temperature #1"
54
52
  UNITS CELSIUS C
55
53
  FORMAT_STRING "%0.2f"
@@ -81,69 +79,6 @@ TELEMETRY GEOSAT THERMAL BIG_ENDIAN "Thermal data"
81
79
  ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
82
80
  READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
83
81
 
84
- TELEMETRY GEOSAT ADCS BIG_ENDIAN "Position and attitude data"
85
- APPEND_ITEM CCSDSVER 3 UINT "CCSDS packet version number (See CCSDS 133.0-B-1)"
86
- APPEND_ITEM CCSDSTYPE 1 UINT "CCSDS packet type (command or telemetry)"
87
- STATE TLM 0
88
- STATE CMD 1
89
- APPEND_ITEM CCSDSSHF 1 UINT "CCSDS secondary header flag"
90
- STATE FALSE 0
91
- STATE TRUE 1
92
- APPEND_ID_ITEM CCSDSAPID 11 UINT 3 "CCSDS application process id"
93
- APPEND_ITEM CCSDSSEQFLAGS 2 UINT "CCSDS sequence flags"
94
- STATE FIRST 1
95
- STATE CONT 0
96
- STATE LAST 2
97
- STATE NOGROUP 3
98
- APPEND_ITEM CCSDSSEQCNT 14 UINT "CCSDS packet sequence count"
99
- OVERFLOW TRUNCATE
100
- APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
101
- APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
102
- APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
103
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
104
- ITEM POSX 128 32 FLOAT "Position X"
105
- UNITS METERS M
106
- ITEM POSY 160 32 FLOAT "Position Y"
107
- UNITS METERS M
108
- ITEM POSZ 192 32 FLOAT "Position Z"
109
- UNITS METERS M
110
- ITEM VELX 224 32 FLOAT "Velocity X"
111
- UNITS METERS_PER_SECOND MPS
112
- ITEM VELY 256 32 FLOAT "Velocity Y"
113
- UNITS METERS_PER_SECOND MPS
114
- ITEM VELZ 288 32 FLOAT "Velocity Z"
115
- UNITS METERS_PER_SECOND MPS
116
- ITEM Q1 320 32 FLOAT "Quaternion param 1"
117
- FORMAT_STRING "%0.6f"
118
- ITEM Q2 352 32 FLOAT "Quaternion param 2"
119
- FORMAT_STRING "%0.6f"
120
- ITEM Q3 384 32 FLOAT "Quaternion param 3"
121
- FORMAT_STRING "%0.6f"
122
- ITEM Q4 416 32 FLOAT "Quaternion param 4"
123
- FORMAT_STRING "%0.6f"
124
- ITEM BIASX 448 32 FLOAT "Body X rate bias"
125
- FORMAT_STRING "%0.6f"
126
- ITEM BIASY 480 32 FLOAT "Body Y rate bias"
127
- FORMAT_STRING "%0.6f"
128
- ITEM BIASZ 512 32 FLOAT "Body Z rate bias"
129
- FORMAT_STRING "%0.6f"
130
- APPEND_ITEM STAR1ID 16 UINT "Star 1 id"
131
- APPEND_ITEM STAR2ID 16 UINT "Star 2 id"
132
- APPEND_ITEM STAR3ID 16 UINT "Star 3 id"
133
- APPEND_ITEM STAR4ID 16 UINT "Star 4 id"
134
- APPEND_ITEM STAR5ID 16 UINT "Star 5 id"
135
- ITEM POSPROGRESS 624 32 FLOAT "Position file progress"
136
- FORMAT_STRING "%0.2f"
137
- ITEM ATTPROGRESS 656 32 FLOAT "Attitude file progress"
138
- FORMAT_STRING "%0.2f"
139
- APPEND_ITEM SR_ANG_TO_SUN 32 FLOAT "Ideal Solar Array Angle to Point at Sun"
140
- FORMAT_STRING "%0.2f"
141
- APPEND_ITEM ADCS_CTRL 8 UINT "ADCS Control ON/OFF"
142
- STATE OFF 0 YELLOW
143
- STATE ON 1 GREEN
144
- ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
145
- READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
146
-
147
82
  TELEMETRY GEOSAT EVENT BIG_ENDIAN "Event packet"
148
83
  APPEND_ITEM CCSDSVER 3 UINT "CCSDS packet version number (See CCSDS 133.0-B-1)"
149
84
  APPEND_ITEM CCSDSTYPE 1 UINT "CCSDS packet type (command or telemetry)"
@@ -163,111 +98,6 @@ TELEMETRY GEOSAT EVENT BIG_ENDIAN "Event packet"
163
98
  APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
164
99
  APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
165
100
  APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
166
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
167
101
  APPEND_ITEM MESSAGE 0 STRING "Event Message"
168
102
  ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
169
103
  READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
170
-
171
- TELEMETRY GEOSAT IMAGE BIG_ENDIAN "Packet with image data"
172
- APPEND_ITEM CCSDSVER 3 UINT "CCSDS packet version number (See CCSDS 133.0-B-1)"
173
- APPEND_ITEM CCSDSTYPE 1 UINT "CCSDS packet type (command or telemetry)"
174
- STATE TLM 0
175
- STATE CMD 1
176
- APPEND_ITEM CCSDSSHF 1 UINT "CCSDS secondary header flag"
177
- STATE FALSE 0
178
- STATE TRUE 1
179
- APPEND_ID_ITEM CCSDSAPID 11 UINT 5 "CCSDS application process id"
180
- APPEND_ITEM CCSDSSEQFLAGS 2 UINT "CCSDS sequence flags"
181
- STATE FIRST 1
182
- STATE CONT 0
183
- STATE LAST 2
184
- STATE NOGROUP 3
185
- APPEND_ITEM CCSDSSEQCNT 14 UINT "CCSDS packet sequence count"
186
- OVERFLOW TRUNCATE
187
- APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
188
- APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
189
- APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
190
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
191
- ITEM BYTES 128 32 UINT "First bytes"
192
- FORMAT_STRING '0x%08x'
193
- ITEM IMAGE 128 0 BLOCK "Image Data"
194
- OVERLAP # Notify OpenC3 that this is intentionally overlapping the BYTES field
195
- ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
196
- READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
197
-
198
- TELEMETRY GEOSAT MECH BIG_ENDIAN "Mechanism status"
199
- APPEND_ITEM CCSDSVER 3 UINT "CCSDS packet version number (See CCSDS 133.0-B-1)"
200
- APPEND_ITEM CCSDSTYPE 1 UINT "CCSDS packet type (command or telemetry)"
201
- STATE TLM 0
202
- STATE CMD 1
203
- APPEND_ITEM CCSDSSHF 1 UINT "CCSDS secondary header flag"
204
- STATE FALSE 0
205
- STATE TRUE 1
206
- APPEND_ID_ITEM CCSDSAPID 11 UINT 6 "CCSDS application process id"
207
- APPEND_ITEM CCSDSSEQFLAGS 2 UINT "CCSDS sequence flags"
208
- STATE FIRST 1
209
- STATE CONT 0
210
- STATE LAST 2
211
- STATE NOGROUP 3
212
- APPEND_ITEM CCSDSSEQCNT 14 UINT "CCSDS packet sequence count"
213
- OVERFLOW TRUNCATE
214
- APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
215
- APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
216
- APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
217
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
218
- APPEND_ITEM SLRPNL1_ANG 32 FLOAT "Solar panel 1 angle"
219
- UNITS DEGREES DEG
220
- APPEND_ITEM SLRPNL2_ANG 32 FLOAT "Solar panel 2 angle"
221
- UNITS DEGREES DEG
222
- APPEND_ITEM SLRPNL1_STATE 8 UINT "Solar panel 1 state DEPLOYED/STOWED"
223
- STATE STOWED 0 YELLOW
224
- STATE DEPLOYED 1 GREEN
225
- APPEND_ITEM SLRPNL2_STATE 8 UINT "Solar panel 2 state DEPLOYED/STOWED"
226
- STATE STOWED 0 YELLOW
227
- STATE DEPLOYED 1 GREEN
228
- APPEND_ITEM SLRPNL1_PWR 32 FLOAT "Solar panel 1 power"
229
- LIMITS DEFAULT 1 ENABLED 50 100 505 510
230
- UNITS WATTS W
231
- APPEND_ITEM SLRPNL2_PWR 32 FLOAT "Solar panel 2 power"
232
- LIMITS DEFAULT 1 ENABLED 50 100 505 510
233
- UNITS WATTS W
234
- APPEND_ITEM BATTERY 32 FLOAT "Battery Percentage"
235
- UNITS PERCENT %
236
- LIMITS DEFAULT 1 ENABLED 10 50 105 110
237
- FORMAT_STRING "%0.2f"
238
- ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
239
- READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
240
-
241
- TELEMETRY GEOSAT IMAGER BIG_ENDIAN "Imager Status"
242
- APPEND_ITEM CCSDSVER 3 UINT "CCSDS packet version number (See CCSDS 133.0-B-1)"
243
- APPEND_ITEM CCSDSTYPE 1 UINT "CCSDS packet type (command or telemetry)"
244
- STATE TLM 0
245
- STATE CMD 1
246
- APPEND_ITEM CCSDSSHF 1 UINT "CCSDS secondary header flag"
247
- STATE FALSE 0
248
- STATE TRUE 1
249
- APPEND_ID_ITEM CCSDSAPID 11 UINT 7 "CCSDS application process id"
250
- APPEND_ITEM CCSDSSEQFLAGS 2 UINT "CCSDS sequence flags"
251
- STATE FIRST 1
252
- STATE CONT 0
253
- STATE LAST 2
254
- STATE NOGROUP 3
255
- APPEND_ITEM CCSDSSEQCNT 14 UINT "CCSDS packet sequence count"
256
- OVERFLOW TRUNCATE
257
- APPEND_ITEM CCSDSLENGTH 16 UINT "CCSDS packet data length"
258
- APPEND_ITEM TIMESEC 32 UINT "Seconds since epoch (January 1st, 1970, midnight)"
259
- APPEND_ITEM TIMEUS 32 UINT "Microseconds of second"
260
- APPEND_ID_ITEM PKTID 16 UINT 1 "Packet id (The combination of CCSDS_APID and PACKET_ID identify the packet)"
261
- APPEND_ITEM COLLECTS 16 UINT "Number of collects"
262
- APPEND_ITEM DURATION 32 FLOAT "Most recent collect duration"
263
- APPEND_ITEM COLLECT_TYPE 16 UINT "Most recent collect type"
264
- STATE NORMAL 0
265
- STATE SPECIAL 1
266
- STATE ERROR ANY
267
- APPEND_ITEM IMAGER_STATE 8 UINT "Imager State ON/OFF"
268
- STATE OFF 0
269
- STATE ON 1
270
- APPEND_ITEM IMAGER_PWR 32 FLOAT "Image Power"
271
- UNITS WATTS W
272
- ITEM PACKET_TIME 0 0 DERIVED "Ruby time based on TIMESEC and TIMEUS"
273
- READ_CONVERSION unix_time_conversion.rb TIMESEC TIMEUS
@@ -27,46 +27,7 @@ module OpenC3
27
27
  class SimSat < SimulatedTarget
28
28
  def initialize(target_name)
29
29
  super(target_name)
30
-
31
30
  @target = System.targets[target_name]
32
- position_filename = File.join(@target.dir, 'data', 'position.bin')
33
- attitude_filename = File.join(@target.dir, 'data', 'attitude.bin')
34
- @position_file = File.open(position_filename, 'rb')
35
- @attitude_file = File.open(attitude_filename, 'rb')
36
- @position_file_size = File.size(position_filename)
37
- @attitude_file_size = File.size(attitude_filename)
38
- @position_file_bytes_read = 0
39
- @attitude_file_bytes_read = 0
40
-
41
- @pos_packet = Structure.new(:BIG_ENDIAN)
42
- @pos_packet.append_item('DAY', 16, :UINT)
43
- @pos_packet.append_item('MSOD', 32, :UINT)
44
- @pos_packet.append_item('USOMS', 16, :UINT)
45
- @pos_packet.append_item('POSX', 32, :FLOAT)
46
- @pos_packet.append_item('POSY', 32, :FLOAT)
47
- @pos_packet.append_item('POSZ', 32, :FLOAT)
48
- @pos_packet.append_item('SPARE1', 16, :UINT)
49
- @pos_packet.append_item('SPARE2', 32, :UINT)
50
- @pos_packet.append_item('SPARE3', 16, :UINT)
51
- @pos_packet.append_item('VELX', 32, :FLOAT)
52
- @pos_packet.append_item('VELY', 32, :FLOAT)
53
- @pos_packet.append_item('VELZ', 32, :FLOAT)
54
- @pos_packet.append_item('SPARE4', 32, :UINT)
55
- @pos_packet.enable_method_missing
56
-
57
- @att_packet = Structure.new(:BIG_ENDIAN)
58
- @att_packet.append_item('DAY', 16, :UINT)
59
- @att_packet.append_item('MSOD', 32, :UINT)
60
- @att_packet.append_item('USOMS', 16, :UINT)
61
- @att_packet.append_item('Q1', 32, :FLOAT)
62
- @att_packet.append_item('Q2', 32, :FLOAT)
63
- @att_packet.append_item('Q3', 32, :FLOAT)
64
- @att_packet.append_item('Q4', 32, :FLOAT)
65
- @att_packet.append_item('BIASX', 32, :FLOAT)
66
- @att_packet.append_item('BIASY', 32, :FLOAT)
67
- @att_packet.append_item('BIASZ', 32, :FLOAT)
68
- @att_packet.append_item('SPARE', 32, :FLOAT)
69
- @att_packet.enable_method_missing
70
31
 
71
32
  # Initialize fixed parts of packets
72
33
  packet = @tlm_packets['HEALTH_STATUS']
@@ -84,45 +45,9 @@ module OpenC3
84
45
  packet.CcsdsSeqFlags = 'NOGROUP'
85
46
  packet.CcsdsLength = packet.buffer.length - 7
86
47
 
87
- packet = @tlm_packets['ADCS']
88
- packet.enable_method_missing
89
- packet.CcsdsSeqFlags = 'NOGROUP'
90
- packet.CcsdsLength = packet.buffer.length - 7
91
-
92
- packet = @tlm_packets['IMAGE']
93
- packet.enable_method_missing
94
- packet.CcsdsSeqFlags = 'NOGROUP'
95
- packet.image = ("\x05" * 10000) + "The Secret is Astral Body"
96
- packet.CcsdsLength = packet.buffer.length - 7
97
-
98
- packet = @tlm_packets['MECH']
99
- packet.enable_method_missing
100
- packet.CcsdsSeqFlags = 'NOGROUP'
101
- packet.CcsdsLength = packet.buffer.length - 7
102
-
103
- packet = @tlm_packets['IMAGER']
104
- packet.enable_method_missing
105
- packet.CcsdsSeqFlags = 'NOGROUP'
106
- packet.CcsdsLength = packet.buffer.length - 7
107
-
108
48
  @get_count = 0
109
49
  @queue = Queue.new
110
50
 
111
- # ADCS
112
- @trackStars = Array.new
113
- @trackStars[0] = 1237
114
- @trackStars[1] = 1329
115
- @trackStars[2] = 1333
116
- @trackStars[3] = 1139
117
- @trackStars[4] = 1161
118
- @trackStars[5] = 682
119
- @trackStars[6] = 717
120
- @trackStars[7] = 814
121
- @trackStars[8] = 583
122
- @trackStars[9] = 622
123
- @adcs_ctrl = 'OFF'
124
- @sr_ang_to_sun = 0
125
-
126
51
  # HEALTH_STATUS
127
52
  @cmd_acpt_cnt = 0
128
53
  @cmd_rjct_cnt = 0
@@ -133,40 +58,19 @@ module OpenC3
133
58
  # THERMAL
134
59
  @temp1 = 0
135
60
  @temp2 = 0
136
- @heater1_ctrl = 'OFF'
61
+ @heater1_ctrl = 'ON'
137
62
  @heater1_state = 'OFF'
138
63
  @heater1_setpt = 0.0
139
64
  @heater1_pwr = 0.0
140
- @heater2_ctrl = 'OFF'
65
+ @heater2_ctrl = 'ON'
141
66
  @heater2_state = 'OFF'
142
67
  @heater2_setpt = 0.0
143
68
  @heater2_pwr = 0.0
144
-
145
- # MECH
146
- @slrpnl1_ang = 180.0
147
- @slrpnl2_ang = 180.0
148
- @slrpnl1_state = 'STOWED'
149
- @slrpnl2_state = 'STOWED'
150
- @slrpnl1_pwr = 0.0
151
- @slrpnl2_pwr = 0.0
152
- @pwr_watt_seconds = INIT_PWR_WATT_SECONDS
153
- @battery = (@pwr_watt_seconds.to_f / MAX_PWR_WATT_SECONDS.to_f) * 100.0
154
-
155
- # IMAGER
156
- @collects = 0
157
- @duration = 10
158
- @collect_type = 'NORMAL'
159
- @imager_state = 'OFF'
160
- @imager_pwr = 0.0
161
- @collect_end_time = nil
162
69
  end
163
70
 
164
71
  def set_rates
165
- set_rate('ADCS', 10)
166
72
  set_rate('HEALTH_STATUS', 100)
167
73
  set_rate('THERMAL', 100)
168
- set_rate('MECH', 100)
169
- set_rate('IMAGER', 100)
170
74
  end
171
75
 
172
76
  def accept_cmd(message = nil)
@@ -197,6 +101,9 @@ module OpenC3
197
101
  name = packet.packet_name.upcase
198
102
 
199
103
  case name
104
+ when 'NOOP'
105
+ accept_cmd()
106
+
200
107
  when 'COLLECT'
201
108
  if @mode == 'OPERATE'
202
109
  @collects += 1
@@ -208,16 +115,6 @@ module OpenC3
208
115
  reject_cmd("Mode must be OPERATE to collect images")
209
116
  end
210
117
 
211
- when 'ABORT'
212
- @collect_end_time = nil
213
- accept_cmd()
214
-
215
- when 'CLEAR'
216
- accept_cmd()
217
- @collects = 0
218
- @cmd_acpt_cnt = 0
219
- @cmd_rjct_cnt = 0
220
-
221
118
  when 'SET_MODE'
222
119
  mode = packet.read('mode')
223
120
  case mode
@@ -225,122 +122,13 @@ module OpenC3
225
122
  @mode = mode
226
123
  accept_cmd()
227
124
  when 'CHECKOUT'
228
- if @battery >= 50.0
229
- @mode = mode
230
- accept_cmd()
231
- else
232
- reject_cmd("Cannot enter checkout if battery < 50.0%")
233
- end
234
- when 'OPERATE'
235
- if @temp1 < 35.0 and @temp1 > 25.0 and @temp2 < 35.0 and @temp2 > 25.0
236
- @mode = mode
237
- accept_cmd()
238
- else
239
- reject_cmd("Cannot enter OPERATE unless temperatures are stable near 30.0")
240
- end
241
- else
242
- reject_cmd("Invalid Mode: #{mode}")
243
- end
244
-
245
- when 'SLRPNLDEPLOY'
246
- num = packet.read('NUM')
247
- case num
248
- when 1
249
- @slrpnl1_state = 'DEPLOYED'
250
- accept_cmd()
251
- when 2
252
- @slrpnl2_state = 'DEPLOYED'
253
- accept_cmd()
254
- else
255
- reject_cmd("Invalid Solar Array Number: #{num}")
256
- end
257
-
258
- when 'SLRPNLSTOW'
259
- num = packet.read('NUM')
260
- case num
261
- when 1
262
- @slrpnl1_state = 'STOWED'
125
+ @mode = mode
263
126
  accept_cmd()
264
- when 2
265
- @slrpnl2_state = 'STOWED'
127
+ when 'OPERATE'
128
+ @mode = mode
266
129
  accept_cmd()
267
130
  else
268
- reject_cmd("Invalid Solar Array Number: #{num}")
269
- end
270
-
271
- when 'SLRPNLANG'
272
- num = packet.read('NUM')
273
- ang = packet.read('ANG')
274
- case num
275
- when 1
276
- case ang
277
- when 0..360
278
- @slrpnl1_ang = ang
279
- accept_cmd()
280
- else
281
- reject_cmd("Invalid Solar Array Angle: #{setpt}")
282
- end
283
- when 2
284
- case ang
285
- when 0..360
286
- @slrpnl2_ang = ang
287
- accept_cmd()
288
- else
289
- reject_cmd("Invalid Solar Array Angle: #{setpt}")
290
- end
291
- else
292
- reject_cmd("Invalid Solar Array Number: #{num}")
293
- end
294
-
295
- when 'TABLE_LOAD'
296
- @table_data = packet.read('DATA')
297
-
298
- when 'HTR_CTRL'
299
- num = packet.read('NUM')
300
- state = packet.read('STATE')
301
- case num
302
- when 1
303
- case state
304
- when 'ON', 'OFF'
305
- @heater1_ctrl = state
306
- accept_cmd()
307
- else
308
- reject_cmd("Invalid Heater Control: #{state}")
309
- end
310
- when 2
311
- case state
312
- when 'ON', 'OFF'
313
- @heater2_ctrl = state
314
- accept_cmd()
315
- else
316
- reject_cmd("Invalid Heater Control: #{state}")
317
- end
318
- else
319
- reject_cmd("Invalid Heater Number: #{num}")
320
- end
321
-
322
- when 'HTR_STATE'
323
- num = packet.read('NUM')
324
- state = packet.read('STATE')
325
- case num
326
- when 1
327
- case state
328
- when 'ON', 'OFF'
329
- @heater1_state = state
330
- accept_cmd()
331
- else
332
- reject_cmd("Invalid Heater State: #{state}")
333
- end
334
- when 2
335
- case state
336
- when 'ON', 'OFF'
337
- @heater2_state = state
338
- accept_cmd()
339
- else
340
- reject_cmd("Invalid Heater State: #{state}")
341
- end
342
- else
343
- reject_cmd("Invalid Heater Number: #{num}")
131
+ reject_cmd("Invalid Mode: #{mode}")
344
132
  end
345
133
 
346
134
  when 'HTR_SETPT'
@@ -367,15 +155,6 @@ module OpenC3
367
155
  reject_cmd("Invalid Heater Number: #{num}")
368
156
  end
369
157
 
370
- when 'ADCS_CTRL'
371
- state = packet.read('STATE')
372
- case state
373
- when 'ON', 'OFF'
374
- @adcs_ctrl = state
375
- accept_cmd()
376
- else
377
- reject_cmd("Invalid ADCS Control: #{state}")
378
- end
379
158
  end
380
159
  end
381
160
 
@@ -395,73 +174,6 @@ module OpenC3
395
174
 
396
175
  pending_packets.each do |packet|
397
176
  case packet.packet_name
398
- when 'ADCS'
399
- # Read 44 Bytes for Position Data
400
- pos_data = nil
401
- begin
402
- pos_data = @position_file.read(44)
403
- @position_file_bytes_read += 44
404
- rescue
405
- # Do Nothing
406
- end
407
-
408
- if pos_data.nil? or pos_data.length == 0
409
- # Assume end of file - close and reopen
410
- @position_file.close
411
- @position_file = File.open(File.join(@target.dir, 'data', 'position.bin'), 'rb')
412
- pos_data = @position_file.read(44)
413
- @position_file_bytes_read = 44
414
- end
415
-
416
- @pos_packet.buffer = pos_data
417
- packet.posx = @pos_packet.posx
418
- packet.posy = @pos_packet.posy
419
- packet.posz = @pos_packet.posz
420
- packet.velx = @pos_packet.velx
421
- packet.vely = @pos_packet.vely
422
- packet.velz = @pos_packet.velz
423
-
424
- # Read 40 Bytes for Attitude Data
425
- att_data = nil
426
- begin
427
- att_data = @attitude_file.read(40)
428
- @attitude_file_bytes_read += 40
429
- rescue
430
- # Do Nothing
431
- end
432
-
433
- if att_data.nil? or att_data.length == 0
434
- @attitude_file.close
435
- @attitude_file = File.open(File.join(@target.dir, 'data', 'attitude.bin'), 'rb')
436
- att_data = @attitude_file.read(40)
437
- @attitude_file_bytes_read = 40
438
- end
439
-
440
- @att_packet.buffer = att_data
441
- packet.q1 = @att_packet.q1
442
- packet.q2 = @att_packet.q2
443
- packet.q3 = @att_packet.q3
444
- packet.q4 = @att_packet.q4
445
- packet.biasx = @att_packet.biasx
446
- packet.biasy = @att_packet.biasy
447
- packet.biasy = @att_packet.biasz
448
-
449
- packet.star1id = @trackStars[((@get_count / 100) + 0) % 10]
450
- packet.star2id = @trackStars[((@get_count / 100) + 1) % 10]
451
- packet.star3id = @trackStars[((@get_count / 100) + 2) % 10]
452
- packet.star4id = @trackStars[((@get_count / 100) + 3) % 10]
453
- packet.star5id = @trackStars[((@get_count / 100) + 4) % 10]
454
-
455
- packet.posprogress = (@position_file_bytes_read.to_f / @position_file_size.to_f) * 100.0
456
- packet.attprogress = (@attitude_file_bytes_read.to_f / @attitude_file_size.to_f) * 100.0
457
- @sr_ang_to_sun = packet.posprogress * 3.6
458
- packet.sr_ang_to_sun = @sr_ang_to_sun
459
- packet.adcs_ctrl = @adcs_ctrl
460
-
461
- packet.timesec = time.tv_sec
462
- packet.timeus = time.tv_usec
463
- packet.ccsdsseqcnt += 1
464
-
465
177
  when 'HEALTH_STATUS'
466
178
  packet.timesec = time.tv_sec
467
179
  packet.timeus = time.tv_usec
@@ -532,88 +244,6 @@ module OpenC3
532
244
  packet.heater2_pwr = @heater2_pwr
533
245
  packet.temp1 = @temp1
534
246
  packet.temp2 = @temp2
535
-
536
- when 'MECH'
537
- if @adcs_ctrl == 'ON'
538
- @slrpnl1_ang = @sr_ang_to_sun
539
- @slrpnl2_ang = @sr_ang_to_sun
540
- end
541
-
542
- delta_ang = (@sr_ang_to_sun - @slrpnl1_ang).abs
543
- if delta_ang > 180.0
544
- delta_ang = 360 - delta_ang
545
- end
546
- if @slrpnl1_state == 'DEPLOYED'
547
- @slrpnl1_pwr = 500 * (1 - (delta_ang / 180.0))
548
- else
549
- @slrpnl1_pwr = 0
550
- end
551
-
552
- delta_ang = (@sr_ang_to_sun - @slrpnl2_ang).abs
553
- if delta_ang > 180.0
554
- delta_ang = 360 - delta_ang
555
- end
556
- if @slrpnl2_state == 'DEPLOYED'
557
- @slrpnl2_pwr = 500 * (1 - (delta_ang / 180.0))
558
- else
559
- @slrpnl2_pwr = 0
560
- end
561
-
562
- incoming_pwr = @slrpnl1_pwr + @slrpnl2_pwr # Upto 1000 per second
563
-
564
- used_pwr = @cpu_pwr + @imager_pwr + @heater1_pwr + @heater2_pwr # Up to 900 per second
565
- delta_pwr = incoming_pwr - used_pwr
566
- @pwr_watt_seconds += delta_pwr
567
- if @pwr_watt_seconds < 0
568
- @pwr_watt_seconds = 100
569
- elsif @pwr_watt_seconds > MAX_PWR_WATT_SECONDS
570
- @pwr_watt_seconds = MAX_PWR_WATT_SECONDS
571
- end
572
- @battery = (@pwr_watt_seconds.to_f / MAX_PWR_WATT_SECONDS.to_f) * 100.0
573
- if @battery < 50.0
574
- @mode = 'SAFE'
575
- end
576
-
577
- packet.timesec = time.tv_sec
578
- packet.timeus = time.tv_usec
579
- packet.ccsdsseqcnt += 1
580
- packet.slrpnl1_ang = @slrpnl1_ang
581
- packet.slrpnl2_ang = @slrpnl2_ang
582
- packet.slrpnl1_state = @slrpnl1_state
583
- packet.slrpnl2_state = @slrpnl2_state
584
- packet.slrpnl1_pwr = @slrpnl1_pwr
585
- packet.slrpnl2_pwr = @slrpnl2_pwr
586
- packet.battery = @battery
587
-
588
- when 'IMAGER'
589
- if @collect_end_time
590
- if @collect_end_time < Time.now
591
- @imager_state = 'OFF'
592
- @collect_end_time = nil
593
- @imager_pwr = 0
594
- image_packet = @tlm_packets['IMAGE']
595
- time = Time.now
596
- image_packet.timesec = time.tv_sec
597
- image_packet.timeus = time.tv_usec
598
- image_packet.ccsdsseqcnt += 1
599
- @queue << image_packet.dup
600
- else
601
- @imager_state = 'ON'
602
- @imager_pwr = 200
603
- end
604
- else
605
- @imager_pwr = 0
606
- end
607
-
608
- packet.timesec = time.tv_sec
609
- packet.timeus = time.tv_usec
610
- packet.ccsdsseqcnt += 1
611
- packet.collects = @collects
612
- packet.duration = @duration
613
- packet.collect_type = @collect_type
614
- packet.imager_state = @imager_state
615
- packet.imager_pwr = @imager_pwr
616
-
617
247
  end
618
248
  end
619
249
 
@@ -6,7 +6,7 @@ IGNORE_PARAMETER CCSDSAPID
6
6
  IGNORE_PARAMETER CCSDSSEQFLAGS
7
7
  IGNORE_PARAMETER CCSDSSEQCNT
8
8
  IGNORE_PARAMETER CCSDSLENGTH
9
- IGNORE_PARAMETER PKTID
9
+ IGNORE_PARAMETER IGNORE
10
10
 
11
11
  # Ignored Items
12
12
  IGNORE_ITEM CCSDSVER
@@ -21,7 +21,6 @@ IGNORE_ITEM PACKET_TIMESECONDS
21
21
  IGNORE_ITEM RECEIVED_TIMESECONDS
22
22
  IGNORE_ITEM TIMESEC
23
23
  IGNORE_ITEM TIMEUS
24
- IGNORE_ITEM PKTID
25
24
 
26
25
  # Explicitly define command and telemetry files
27
26
  # If not given then all the files in cmd/tlm will be processed in
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3-cosmos-geosim
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-01-16 00:00:00.000000000 Z
12
+ date: 2023-01-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " cosmos-geosim plugin facilitating COSMOS config training\n"
15
15
  email:
@@ -25,8 +25,6 @@ files:
25
25
  - microservices/GEOSIM/geosat_target.rb
26
26
  - microservices/GEOSIM/targets/GEOSAT/cmd_tlm/cmds.txt
27
27
  - microservices/GEOSIM/targets/GEOSAT/cmd_tlm/tlm.txt
28
- - microservices/GEOSIM/targets/GEOSAT/data/attitude.bin
29
- - microservices/GEOSIM/targets/GEOSAT/data/position.bin
30
28
  - microservices/GEOSIM/targets/GEOSAT/lib/sim_sat.rb
31
29
  - microservices/GEOSIM/targets/GEOSAT/target.txt
32
30
  - plugin.txt