Skip to content

Commit

Permalink
SPIBitBang should mutate params, not pins
Browse files Browse the repository at this point in the history
  • Loading branch information
vickash committed Sep 29, 2024
1 parent 9bf8dc8 commit 8e2bcc2
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions lib/denko/spi/bit_bang.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ class BitBang

before_initialize do
# Allow pin aliases.
pins[:input] = pins[:input] || pins[:poci] || pins[:miso]
pins[:output] = pins[:output] || pins[:pico] || pins[:mosi]
pins[:clock] = pins[:clock] || pins[:sck] || pins[:clk]
params[:input] = params[:input] || params[:poci] || params[:miso]
params[:output] = params[:output] || params[:pico] || params[:mosi]
params[:clock] = params[:clock] || params[:sck] || params[:clk]

# Clean up the pins hash.
[:poci, :miso, :pico, :mosi, :sck, :clk].each { |key| pins.delete(key) }
# Clean up the params hash.
[:poci, :miso, :pico, :mosi, :sck, :clk].each { |key| params.delete(key) }

# Validate pins.
raise ArgumentError, "either output or input pin required" unless pins[:input] || pins[:output]
raise ArgumentError, "clock pin required" unless pins[:clock]
# Validate params.
raise ArgumentError, "either output or input pin required" unless params[:input] || params[:output]
raise ArgumentError, "clock pin required" unless params[:clock]
end

def initialize_pins(options={})
Expand Down

0 comments on commit 8e2bcc2

Please sign in to comment.