Sha256: 107992772dcc3559c128c4dbfdddb4d0fe87137e451df48adc306ce12b3df5f3

Contents?: true

Size: 1.11 KB

Versions: 111

Compression:

Stored size: 1.11 KB

Contents

module Origen
  module Pins
    class PowerPin < Pin
      attr_accessor :current_limit

      def initialize(id, owner, options = {}) # :nodoc:
        v = options[:voltage] || options[:voltages]
        self.voltage = v if v
        self.current_limit = options[:current_limit] if options[:current_limit]
        super
      end

      # Set the operating voltage for the pin, can be a single value or an array
      def voltage=(val)
        @voltages = [val].flatten.uniq
      end

      # Like voltages but if there is only one voltage known then it will be returned
      # directly instead of being wrapped in an array.
      # If no voltages are known this returns nil whereas voltages will return an
      # empty array.
      # For more than one voltages present this behaves like an alias of voltages.
      def voltage
        if voltages.size > 0
          if voltages.size > 1
            voltages
          else
            voltages.first
          end
        end
      end

      # Returns an array of known operating voltages for the given pin
      def voltages
        @voltages ||= []
      end
    end
  end
end

Version data entries

111 entries across 111 versions & 1 rubygems

Version Path
origen-0.60.17 lib/origen/pins/power_pin.rb
origen-0.60.16 lib/origen/pins/power_pin.rb
origen-0.60.14 lib/origen/pins/power_pin.rb
origen-0.60.13 lib/origen/pins/power_pin.rb
origen-0.60.12 lib/origen/pins/power_pin.rb
origen-0.60.11 lib/origen/pins/power_pin.rb
origen-0.60.10 lib/origen/pins/power_pin.rb
origen-0.60.9 lib/origen/pins/power_pin.rb
origen-0.60.8 lib/origen/pins/power_pin.rb
origen-0.60.7 lib/origen/pins/power_pin.rb
origen-0.60.6 lib/origen/pins/power_pin.rb
origen-0.60.5 lib/origen/pins/power_pin.rb
origen-0.60.4 lib/origen/pins/power_pin.rb
origen-0.60.3 lib/origen/pins/power_pin.rb
origen-0.60.2 lib/origen/pins/power_pin.rb
origen-0.60.1 lib/origen/pins/power_pin.rb
origen-0.60.0 lib/origen/pins/power_pin.rb
origen-0.59.8 lib/origen/pins/power_pin.rb
origen-0.59.7 lib/origen/pins/power_pin.rb
origen-0.59.6 lib/origen/pins/power_pin.rb