class AVR::Oscillator

Public Instance Methods

infinite() click to toggle source
# File lib/avr/oscillator.rb, line 9
def infinite
  [true].cycle
end
run(limit = infinite) click to toggle source
# File lib/avr/oscillator.rb, line 22
def run(limit = infinite)
  start_ticks = ticks
  limit.each { tick }
  ticks - start_ticks
end
run_timed(time) click to toggle source
# File lib/avr/oscillator.rb, line 29
def run_timed(time)
  run(time_limit(time))
end
time_limit(time) click to toggle source
# File lib/avr/oscillator.rb, line 14
def time_limit(time)
  Enumerator.new do |y|
    end_time = Time.now.to_f + time
    y << true while Time.now.to_f < end_time
  end
end