class PwmPin

Constants

PI_BLASTER_PATH

Attributes

pb_val[R]
pin_num[R]
pwm_file[R]
value[R]

Public Class Methods

new(pin_num) click to toggle source
# File lib/pwm_pin.rb, line 7
def initialize(pin_num)
  @pin_num = pin_num
  @pwm_file = File.open("#{ PI_BLASTER_PATH }", "w")

  pwm_write(0)
end

Public Instance Methods

pwm_write(value) click to toggle source

Writes PWM value to the specified pin Param value should be integer from 0 to 255

# File lib/pwm_pin.rb, line 16
def pwm_write(value)
  @value = value

  # Calculates the pi-blaster required value between 0 and 1 inclusive
  @pb_val = pi_blaster_val(value)

  @pwm_file.write("#{ pin_num }=#{ @pb_val }\n")
  @pwm_file.flush
end
release() click to toggle source
# File lib/pwm_pin.rb, line 26
def release
  @pwm_file.write("release #{ pin_num }\n")
  @pwm_file.flush
end

Private Instance Methods

pi_blaster_val(value) click to toggle source
# File lib/pwm_pin.rb, line 33
def pi_blaster_val(value)
  calc = ((1.0/255.0) * value).round(2)
  calc = (calc > 1) ? 1 : calc
  calc = (calc < 0) ? 0 : calc
  calc
end