Class: PiDriver::I2CMaster
- Inherits:
-
Object
- Object
- PiDriver::I2CMaster
- Defined in:
- lib/pi_driver/i2c_master.rb
Class Method Summary collapse
Instance Method Summary collapse
- #ack ⇒ Object
-
#initialize(options = {}) ⇒ I2CMaster
constructor
A new instance of I2CMaster.
- #read ⇒ Object
- #start ⇒ Object (also: #restart)
- #stop ⇒ Object
- #write(byte) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ I2CMaster
Returns a new instance of I2CMaster.
3 4 5 6 7 8 9 10 |
# File 'lib/pi_driver/i2c_master.rb', line 3 def initialize( = {}) @frequency = 100_000 @delta_time = @frequency ** -1.0 @clock_pin = [:clock_pin] @data_pin = [:data_pin] @num_bits = 8 stop end |
Class Method Details
.prepare_address_for_read(address_byte) ⇒ Object
46 47 48 |
# File 'lib/pi_driver/i2c_master.rb', line 46 def self.prepare_address_for_read(address_byte) (address_byte << 1) | 1 end |
.prepare_address_for_write(address_byte) ⇒ Object
42 43 44 |
# File 'lib/pi_driver/i2c_master.rb', line 42 def self.prepare_address_for_write(address_byte) address_byte << 1 end |
Instance Method Details
#ack ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/pi_driver/i2c_master.rb', line 34 def ack release_data_pin release_clock_pin success = @data_pin.clear? drive_clock_pin success end |
#read ⇒ Object
29 30 31 32 |
# File 'lib/pi_driver/i2c_master.rb', line 29 def read release_data_pin read_data end |
#start ⇒ Object Also known as: restart
17 18 19 20 |
# File 'lib/pi_driver/i2c_master.rb', line 17 def start drive_data_pin drive_clock_pin end |
#stop ⇒ Object
12 13 14 15 |
# File 'lib/pi_driver/i2c_master.rb', line 12 def stop release_clock_pin release_data_pin end |
#write(byte) ⇒ Object
24 25 26 27 |
# File 'lib/pi_driver/i2c_master.rb', line 24 def write(byte) send_data byte byte end |