class Tlaloc::Adapter::Ospi::Controller
Constants
- CLOCK_PIN
wiring pi pin numbers
- DATA_PIN
- LATCH_PIN
- NUMBER_OF_STATIONS
- PIN_SR_NOE
Public Class Methods
new(io = nil)
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 14 def initialize(io = nil) @stations = [0] * 8 @io = io || WiringPi::GPIO.new do |gpio| # Set the pinmode of pin 0 for output gpio.pin_mode(CLOCK_PIN, 1) gpio.pin_mode(DATA_PIN, 1) gpio.pin_mode(PIN_SR_NOE, 1) gpio.pin_mode(LATCH_PIN, 1) end end
Public Instance Methods
close(station_number)
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 29 def close(station_number) set_station station_number, 0 end
close_all()
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 33 def close_all() @stations = [0] * 8 send_array @stations end
open(station_number)
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 25 def open(station_number) set_station station_number, 1 end
send_array(array)
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 44 def send_array(array) @io.digital_write(LATCH_PIN, 0) @io.shift_out(DATA_PIN, CLOCK_PIN, 0, array.join.to_i(2)) @io.digital_write(LATCH_PIN, 1) end
set_station(station_number, status)
click to toggle source
# File lib/tlaloc/adapter/ospi/controller.rb, line 38 def set_station(station_number, status) station_index = station_number - 1 @stations[station_index] = status send_array @stations end