Module: OpenC3::InterfaceDecomCommon

Included in:
DecomMicroservice, InterfaceCmdHandlerThread
Defined in:
lib/openc3/microservices/interface_decom_common.rb

Instance Method Summary collapse

Instance Method Details

#handle_inject_tlm(inject_tlm_json) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/openc3/microservices/interface_decom_common.rb', line 24

def handle_inject_tlm(inject_tlm_json)
  inject_tlm_hash = JSON.parse(inject_tlm_json, allow_nan: true, create_additions: true)
  target_name = inject_tlm_hash['target_name']
  packet_name = inject_tlm_hash['packet_name']
  item_hash = inject_tlm_hash['item_hash']
  type = inject_tlm_hash['type'].to_s.intern
  packet = System.telemetry.packet(target_name, packet_name)
  if item_hash
    item_hash.each do |name, value|
      packet.write(name.to_s, value, type)
    end
  end
  packet.received_count += 1
  packet.received_time = Time.now.sys
  TelemetryTopic.write_packet(packet, scope: @scope)
end