Sha256: 6d34b4f074710163a0e14656cc73f65cefd9afaeda3d705aed4bee9459516fd3
Contents?: true
Size: 1.38 KB
Versions: 6
Compression:
Stored size: 1.38 KB
Contents
# encoding: ascii-8bit require 'openc3/conversions/conversion' module OpenC3 # Custom conversion class # See https://docs.openc3.com/docs/configuration/telemetry#read_conversion class <%= conversion_class %> < Conversion def initialize super() # Should be one of :INT, :UINT, :FLOAT, :STRING, :BLOCK @converted_type = :STRING # Size of the converted type in bits # Use 0 for :STRING or :BLOCK where the size can be variable @converted_bit_size = 0 # return the arguments used @params = nil end # @param value [Object] Value based on the item definition. This could be # a string, integer, float, or array of values. # @param packet [Packet] The packet object where the conversion is defined # @param buffer [String] The raw packet buffer def call(value, packet, buffer) # Read values from the packet and do a conversion # Used for DERIVED items that don't have a value # item1 = packet.read("ITEM1") # returns CONVERTED value (default) # item2 = packet.read("ITEM2", :RAW) # returns RAW value # return (item1 + item2) / 2 # # Perform conversion logic directly on value # Used when conversion is applied to a regular (not DERIVED) item # NOTE: You can also use packet.read("ITEM") to get additional values # return value / 2 * packet.read("OTHER_ITEM") end end end
Version data entries
6 entries across 6 versions & 1 rubygems