Class: OpenC3::ProcessorConversion
- Inherits:
-
Conversion
- Object
- Conversion
- OpenC3::ProcessorConversion
- Defined in:
- lib/openc3/conversions/processor_conversion.rb
Overview
Retrieves the result from an item processor
Instance Attribute Summary
Attributes inherited from Conversion
#converted_array_size, #converted_bit_size, #converted_type
Instance Method Summary collapse
- #as_json(*a) ⇒ Object
-
#call(value, packet, buffer) ⇒ Varies
The result of the associated processor.
-
#initialize(processor_name, result_name, converted_type = nil, converted_bit_size = nil, converted_array_size = nil) ⇒ ProcessorConversion
constructor
A new instance of ProcessorConversion.
-
#to_config(read_or_write) ⇒ String
Config fragment for this conversion.
-
#to_s ⇒ String
The type of processor.
Constructor Details
#initialize(processor_name, result_name, converted_type = nil, converted_bit_size = nil, converted_array_size = nil) ⇒ ProcessorConversion
Returns a new instance of ProcessorConversion.
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/openc3/conversions/processor_conversion.rb', line 33 def initialize(processor_name, result_name, converted_type = nil, converted_bit_size = nil, converted_array_size = nil) super() @processor_name = processor_name.to_s.upcase @result_name = result_name.to_s.upcase.intern if ConfigParser.handle_nil(converted_type) @converted_type = converted_type.to_s.upcase.intern raise ArgumentError, "Unknown converted type: #{converted_type}" if !BinaryAccessor::DATA_TYPES.include?(@converted_type) end @converted_bit_size = Integer(converted_bit_size) if ConfigParser.handle_nil(converted_bit_size) @converted_array_size = Integer(converted_array_size) if ConfigParser.handle_nil(converted_array_size) end |
Instance Method Details
#as_json(*a) ⇒ Object
67 68 69 70 71 |
# File 'lib/openc3/conversions/processor_conversion.rb', line 67 def as_json(*a) result = super(*a) result['params'] = [@processor_name, @result_name, @converted_type, @converted_bit_size, @converted_array_size] result end |
#call(value, packet, buffer) ⇒ Varies
Returns The result of the associated processor.
47 48 49 |
# File 'lib/openc3/conversions/processor_conversion.rb', line 47 def call(value, packet, buffer) packet.processors[@processor_name].results[@result_name] || 0 # Never return nil end |
#to_config(read_or_write) ⇒ String
Returns Config fragment for this conversion.
58 59 60 61 62 63 64 65 |
# File 'lib/openc3/conversions/processor_conversion.rb', line 58 def to_config(read_or_write) config = " #{read_or_write}_CONVERSION #{self.class.name.class_name_to_filename} #{@processor_name} #{@result_name}" config << " #{@converted_type}" if @converted_type config << " #{@converted_bit_size}" if @converted_bit_size config << " #{@converted_array_size}" if @converted_array_size config << "\n" config end |
#to_s ⇒ String
Returns The type of processor.
52 53 54 |
# File 'lib/openc3/conversions/processor_conversion.rb', line 52 def to_s "ProcessorConversion #{@processor_name} #{@result_name}" end |