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.33.0 lib/origen/pins/power_pin.rb
origen-0.32.1 lib/origen/pins/power_pin.rb
origen-0.32.0 lib/origen/pins/power_pin.rb
origen-0.31.0 lib/origen/pins/power_pin.rb
origen-0.30.0 lib/origen/pins/power_pin.rb
origen-0.29.0 lib/origen/pins/power_pin.rb
origen-0.28.2 lib/origen/pins/power_pin.rb
origen-0.28.1 lib/origen/pins/power_pin.rb
origen-0.28.0 lib/origen/pins/power_pin.rb
origen-0.27.0 lib/origen/pins/power_pin.rb
origen-0.26.0 lib/origen/pins/power_pin.rb
origen-0.25.1 lib/origen/pins/power_pin.rb
origen-0.25.0 lib/origen/pins/power_pin.rb
origen-0.24.0 lib/origen/pins/power_pin.rb
origen-0.23.0 lib/origen/pins/power_pin.rb
origen-0.22.0 lib/origen/pins/power_pin.rb
origen-0.21.0 lib/origen/pins/power_pin.rb
origen-0.20.3 lib/origen/pins/power_pin.rb
origen-0.20.2 lib/origen/pins/power_pin.rb
origen-0.20.1 lib/origen/pins/power_pin.rb