Class: Cosmos::CommandDecomTopic
- Inherits:
-
Topic
show all
- Defined in:
- lib/cosmos/topics/command_decom_topic.rb
Class Method Summary
collapse
Methods inherited from Topic
clear_topics, initialize_streams, read_topics
Class Method Details
.topics(scope:) ⇒ Object
24
25
26
|
# File 'lib/cosmos/topics/command_decom_topic.rb', line 24
def self.topics(scope:)
super(scope, 'DECOMCMD')
end
|
.write_packet(packet, scope:) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/cosmos/topics/command_decom_topic.rb', line 28
def self.write_packet(packet, scope:)
topic = "#{scope}__DECOMCMD__{#{packet.target_name}}__#{packet.packet_name}"
msg_hash = { time: packet.received_time.to_nsec_from_epoch,
target_name: packet.target_name,
packet_name: packet.packet_name,
stored: packet.stored,
received_count: packet.received_count }
json_hash = {}
packet.sorted_items.each do |item|
json_hash[item.name] = packet.read_item(item, :RAW)
json_hash[item.name + "__C"] = packet.read_item(item, :CONVERTED) if item.write_conversion or item.states
json_hash[item.name + "__F"] = packet.read_item(item, :FORMATTED) if item.format_string
json_hash[item.name + "__U"] = packet.read_item(item, :WITH_UNITS) if item.units
end
msg_hash['json_data'] = JSON.generate(json_hash.as_json)
Store.write_topic(topic, msg_hash)
end
|