class RPiPwm

Attributes

duty_cycle[RW]
freq[RW]
frequency[RW]

Public Class Methods

new(pin_num, duty_cycle: 100, freq: 100) click to toggle source
Calls superclass method
# File lib/rpi_pwm.rb, line 15
def initialize(pin_num, duty_cycle: 100, freq: 100)
  
  super(pin_num)

  @id, @duty_cycle, @freq = pin_num, duty_cycle, freq

  RPi::GPIO.set_numbering :bcm
  RPi::GPIO.setup pin_num, :as => :output

  @pwm = RPi::GPIO::PWM.new(pin_num, freq)
  @pwm.start 0

  at_exit { RPi::GPIO.clean_up pin_num}

end

Public Instance Methods

duty_cycle=(val) click to toggle source
# File lib/rpi_pwm.rb, line 32
def duty_cycle=(val)
  @duty_cycle = val
  @pwm.duty_cycle = val
end
freq=(val) click to toggle source
# File lib/rpi_pwm.rb, line 37
def freq=(val)
  @freq = val
  @pwm.frequency = val
end
on(durationx=nil, duration: nil, duty_cycle: @duty_cycle, freq: @freq) click to toggle source
Calls superclass method
# File lib/rpi_pwm.rb, line 42
def on(durationx=nil, duration: nil, duty_cycle: @duty_cycle, freq: @freq)

  self.duty_cycle = duty_cycle if duty_cycle
  self.freq = freq if freq
  super(durationx, duration: duration)

end

Protected Instance Methods

set_pin(val) click to toggle source

set val with 0 (off) or 1 (on)

Calls superclass method
# File lib/rpi_pwm.rb, line 56
def set_pin(val)

  @pwm.duty_cycle =  val ? @duty_cycle : 0    
  super(val)
    
end