Skip to content

Commit

Permalink
SPI: Change #bit_write to #bit_set for OutputRegister
Browse files Browse the repository at this point in the history
Avoids confusion with #digital_write and #write since it doesn't actually write to the SPI interface
  • Loading branch information
vickash committed Oct 1, 2024
1 parent 9b7639e commit 5bcaa36
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
26 changes: 13 additions & 13 deletions lib/denko/display/hd44780.rb
Original file line number Diff line number Diff line change
Expand Up @@ -248,14 +248,14 @@ def send(byte, rs_level)

def write4(bits)
if board_is_register?
board.bit_write(d4.pin, bits[4].to_i)
board.bit_write(d5.pin, bits[5].to_i)
board.bit_write(d6.pin, bits[6].to_i)
board.bit_set(d4.pin, bits[4].to_i)
board.bit_set(d5.pin, bits[5].to_i)
board.bit_set(d6.pin, bits[6].to_i)
d7.write bits[7].to_i
pulse_enable
board.bit_write(d4.pin, bits[0].to_i)
board.bit_write(d5.pin, bits[1].to_i)
board.bit_write(d6.pin, bits[2].to_i)
board.bit_set(d4.pin, bits[0].to_i)
board.bit_set(d5.pin, bits[1].to_i)
board.bit_set(d6.pin, bits[2].to_i)
d7.write bits[3].to_i
pulse_enable
else
Expand All @@ -274,13 +274,13 @@ def write4(bits)

def write8(bits)
if board_has_write_bit?
board.bit_write(d0.pin, bits[0].to_i)
board.bit_write(d1.pin, bits[1].to_i)
board.bit_write(d2.pin, bits[2].to_i)
board.bit_write(d3.pin, bits[3].to_i)
board.bit_write(d4.pin, bits[4].to_i)
board.bit_write(d5.pin, bits[5].to_i)
board.bit_write(d6.pin, bits[6].to_i)
board.bit_set(d0.pin, bits[0].to_i)
board.bit_set(d1.pin, bits[1].to_i)
board.bit_set(d2.pin, bits[2].to_i)
board.bit_set(d3.pin, bits[3].to_i)
board.bit_set(d4.pin, bits[4].to_i)
board.bit_set(d5.pin, bits[5].to_i)
board.bit_set(d6.pin, bits[6].to_i)
d7.write bits[7].to_i
pulse_enable
else
Expand Down
4 changes: 2 additions & 2 deletions lib/denko/led/seven_segment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,12 @@ def write(char)

bits.each_with_index do |bit, index|
if board_is_register?
# On a register, use #bit_write except for the last bit. This changes state in memory.
# On a register, use #bit_set except for the last bit. This changes state in memory.
# #digital_write on the last bit causes the register to write to its parallel out.
if (index == bits.length-1)
segments[index].digital_write(bit)
else
board.bit_write(segments[index].pin, bit)
board.bit_set(segments[index].pin, bit)
end
else
# On a board, only set bits if changed.
Expand Down
4 changes: 2 additions & 2 deletions lib/denko/spi/output_register.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ def write
# BoardProxy interface
#
def digital_write(pin, value)
bit_write(pin, value)
bit_set(pin, value)
write
end

def bit_write(pin, value)
def bit_set(pin, value)
state_mutex.synchronize { @state[pin] = value }
end

Expand Down

0 comments on commit 5bcaa36

Please sign in to comment.