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

Version Path
openc3-6.2.0 templates/conversion/conversion.rb
openc3-6.1.0 templates/conversion/conversion.rb
openc3-6.0.2 templates/conversion/conversion.rb
openc3-6.0.1 templates/conversion/conversion.rb
openc3-6.0.0 templates/conversion/conversion.rb
openc3-5.20.0 templates/conversion/conversion.rb