class Mcp9800::Mcp9800

Constants

I2C_ADDRESS

Public Class Methods

new(i2c) click to toggle source
# File lib/mcp9800.rb, line 13
def initialize i2c
        @i2c = i2c
end

Public Instance Methods

configuration() click to toggle source
# File lib/mcp9800.rb, line 22
def configuration
        read_byte Registers::CONFIGURATION
end
configuration=(value) click to toggle source
# File lib/mcp9800.rb, line 26
def configuration= value
        write Registers::CONFIGURATION, value
end
temperature() click to toggle source
# File lib/mcp9800.rb, line 17
def temperature
        value = read_short Registers::AMBIENT_TEMPERATURE
        (value / 256.0).round(1)
end

Private Instance Methods

read(register, read_bytes = 1) click to toggle source
# File lib/mcp9800.rb, line 31
def read register, read_bytes = 1
        @i2c.read I2C_ADDRESS , read_bytes , register
      end
read_byte(register) click to toggle source
# File lib/mcp9800.rb, line 35
def read_byte register
        data = read register
        data.unpack("C").first
      end
read_short(register) click to toggle source
# File lib/mcp9800.rb, line 40
def read_short register
        data = read register, 2
        data.unpack("s>").first
 end
write(register, *values) click to toggle source
# File lib/mcp9800.rb, line 45
def write register, *values
        @i2c.write I2C_ADDRESS, register, *values
end