Sha256: 9607b990af32bb8ba0ab459650f07784565b994f4c26569bc84477e6d663afda

Contents?: true

Size: 979 Bytes

Versions: 5

Compression:

Stored size: 979 Bytes

Contents

class Ecu
  class Kennlinie < Label
    def self.dcm_header
      %r{^KENNLINIE\s+(?<name>[A-Za-z0-9\._]+)\s+(?<xdim>\d+)}
    end

    def to_dcm(indented=false)
      fmtstr = indented ? "%-25s%s %s\n" : "%s %s %d\n"

      sprintf(fmtstr, type.upcase, name, xdim).tap do |str|
        str << "  LANGNAME #{description.enquote}\n" if description
        str << "  FUNKTION #{function}\n"            if function
        str << "  EINHEIT_X #{xunit.enquote}\n"      if xunit
        str << "  EINHEIT_W #{unit.enquote}\n"       if unit
        str << case xvalue.first
              when Numeric then "  ST/X #{xvalue.join("   ")}\n"
              when String  then "  ST_TX/X #{xvalue.map(&:enquote).join("   ")}\n"
              end
        str << case value.first
              when Numeric then "  WERT #{value.join("   ")}\n"
              when String  then "  TEXT #{value.map(&:enquote).join("   ")}\n"
              end
        str << "END\n"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
automotive-ecu-0.1.10 lib/ecu/interfaces/dcm/kennlinie.rb
automotive-ecu-0.1.9 lib/ecu/interfaces/dcm/kennlinie.rb
automotive-ecu-0.1.8 lib/ecu/interfaces/dcm/kennlinie.rb
automotive-ecu-0.1.7 lib/ecu/interfaces/dcm/kennlinie.rb
automotive-ecu-0.1.6 lib/ecu/interfaces/dcm/kennlinie.rb