<reponame>zerosquadron/grove-weather-pi
#!/usr/bin/env python

# SDL_Pi_TCA9545.py Python Driver Code
# SwitchDoc Labs April 1, 2015	 
# V 1.2


#encoding: utf-8
 
from datetime import datetime

import smbus

# constants

#/*=========================================================================
#    I2C ADDRESS/BITS
#    -----------------------------------------------------------------------*/
TCA9545_ADDRESS =                         (0x73)    # 1110011 (A0+A1=VDD)
#/*=========================================================================*/

#/*=========================================================================
#    CONFIG REGISTER (R/W)
#    -----------------------------------------------------------------------*/
TCA9545_REG_CONFIG            =          (0x00)
#    /*---------------------------------------------------------------------*/

TCA9545_CONFIG_BUS0  =                (0x01)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS1  =                (0x02)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS2  =                (0x04)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS3  =                (0x08)  # 1 = enable, 0 = disable 

#/*=========================================================================*/


class SDL_Pi_TCA9545():



    ###########################
    # TCA9545 Code
    ###########################
    def __init__(self, twi=1, addr=TCA9545_ADDRESS, bus_enable =  TCA9545_CONFIG_BUS0 ):
        self._bus = smbus.SMBus(twi)
        self._addr = addr
	config = bus_enable
  	self._write(TCA9545_REG_CONFIG, config)


    def _write(self, register, data):
        #print "addr =0x%x register = 0x%x data = 0x%x " % (self._addr, register, data)
        self._bus.write_byte_data(self._addr, register, data)


    def _read(self ):

        returndata = self._bus.read_byte(self._addr)
        #print "addr = 0x%x returndata = 0x%x " % (self._addr, returndata)
        return returndata



    # public functions

    def read_control_register(self):
	# Reads Control Register 

	value = self._read()
	return value

    def write_control_register(self, config):
	# Writes Control Register 

  	self._write(TCA9545_REG_CONFIG, config)




#!/usr/bin/env python

# SDL_Pi_TCA9545.py Python Driver Code
# SwitchDoc Labs April 1, 2015	 
# V 1.2


#encoding: utf-8
 
from datetime import datetime

import smbus

# constants

#/*=========================================================================
#    I2C ADDRESS/BITS
#    -----------------------------------------------------------------------*/
TCA9545_ADDRESS =                         (0x73)    # 1110011 (A0+A1=VDD)
#/*=========================================================================*/

#/*=========================================================================
#    CONFIG REGISTER (R/W)
#    -----------------------------------------------------------------------*/
TCA9545_REG_CONFIG            =          (0x00)
#    /*---------------------------------------------------------------------*/

TCA9545_CONFIG_BUS0  =                (0x01)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS1  =                (0x02)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS2  =                (0x04)  # 1 = enable, 0 = disable 
TCA9545_CONFIG_BUS3  =                (0x08)  # 1 = enable, 0 = disable 

#/*=========================================================================*/


class SDL_Pi_TCA9545():



    ###########################
    # TCA9545 Code
    ###########################
    def __init__(self, twi=1, addr=TCA9545_ADDRESS, bus_enable =  TCA9545_CONFIG_BUS0 ):
        self._bus = smbus.SMBus(twi)
        self._addr = addr
	config = bus_enable
  	self._write(TCA9545_REG_CONFIG, config)


    def _write(self, register, data):
        #print "addr =0x%x register = 0x%x data = 0x%x " % (self._addr, register, data)
        self._bus.write_byte_data(self._addr, register, data)


    def _read(self ):

        returndata = self._bus.read_byte(self._addr)
        #print "addr = 0x%x returndata = 0x%x " % (self._addr, returndata)
        return returndata



    # public functions

    def read_control_register(self):
	# Reads Control Register 

	value = self._read()
	return value

    def write_control_register(self, config):
	# Writes Control Register 

  	self._write(TCA9545_REG_CONFIG, config)
#!/usr/bin/env python # SDL_Pi_TCA9545.py Python Driver Code # SwitchDoc Labs April 1, 2015 # V 1.2 #encoding: utf-8 # constants #/*========================================================================= #    I2C ADDRESS/BITS #    -----------------------------------------------------------------------*/ # 1110011 (A0+A1=VDD) #/*=========================================================================*/ #/*========================================================================= #    CONFIG REGISTER (R/W) #    -----------------------------------------------------------------------*/ #    /*---------------------------------------------------------------------*/ # 1 = enable, 0 = disable # 1 = enable, 0 = disable # 1 = enable, 0 = disable # 1 = enable, 0 = disable #/*=========================================================================*/ ########################### # TCA9545 Code ########################### #print "addr =0x%x register = 0x%x data = 0x%x " % (self._addr, register, data) #print "addr = 0x%x returndata = 0x%x " % (self._addr, returndata) # public functions # Reads Control Register # Writes Control Register