diff --git a/lib/denko/motor/servo.rb b/lib/denko/motor/servo.rb index 837e3df..9a9b1e6 100644 --- a/lib/denko/motor/servo.rb +++ b/lib/denko/motor/servo.rb @@ -5,6 +5,7 @@ class Servo include Behaviors::Threaded def after_initialize(options={}) + options[:mode] = :output_pwm super(options) @min = options[:min] || 544 @max = options[:max] || 2400 diff --git a/lib/denko/pulse_io/buzzer.rb b/lib/denko/pulse_io/buzzer.rb index e57c391..88fd66b 100644 --- a/lib/denko/pulse_io/buzzer.rb +++ b/lib/denko/pulse_io/buzzer.rb @@ -1,6 +1,11 @@ module Denko module PulseIO class Buzzer < PWMOutput + def initialize_pins(options={}) + options[:mode] = :output_pwm + super(options) + end + def after_initialize(options={}) low end diff --git a/lib/denko/pulse_io/ir_transmitter.rb b/lib/denko/pulse_io/ir_transmitter.rb index 86677bd..ca0d81b 100644 --- a/lib/denko/pulse_io/ir_transmitter.rb +++ b/lib/denko/pulse_io/ir_transmitter.rb @@ -3,6 +3,11 @@ module PulseIO class IRTransmitter include Behaviors::OutputPin + def initialize_pins(options={}) + options[:mode] = :output_pwm + super(options) + end + def emit(pulses=[], frequency: 38) if pulses.length > 256 || pulses.length < 1 raise ArgumentError, 'wrong number of IR pulses (expected 1 to 256)'