def __init__(self): """Virtually private constructor.""" if Connection.__instance is not None: raise Exception("This class is a singleton!") # pylint: disable=import-outside-toplevel from binhoHostAdapter import binhoHostAdapter from binhoHostAdapter import binhoUtilities # pylint: enable=import-outside-toplevel devices = binhoUtilities.listAvailableDevices() if len(devices) > 0: Connection.__instance = binhoHostAdapter.binhoHostAdapter(devices[0]) else: raise RuntimeError("No Binho Nova found!")
def __init__(self): """ Virtually private constructor. """ if Connection.__instance is not None: raise Exception("This class is a singleton!") from binhoHostAdapter import binhoHostAdapter from binhoHostAdapter import binhoUtilities utilities = binhoUtilities.binhoUtilities() devices = utilities.listAvailableDevices() if len(devices) > 0: Connection.__instance = binhoHostAdapter.binhoHostAdapter( devices[0]) else: raise RuntimeError('No Binho Nova found!')
def _connectToI2CBus(): binho = None error=False # Connect - catch errors try: utilities = binhoUtilities.binhoUtilities() devices = utilities.listAvailableDevices() if len(devices) == 1: binho = binhoHostAdapter.binhoHostAdapter(devices[0]) binho.setNumericalBase(10) binho.setOperationMode(0, "I2C") binho.setPullUpStateI2C(0, "EN") binho.setClockI2C(0, 400000) elif len(devices) > 1: print("Error:\tUnable to connect to I2C bus. More than one Binho Host Adapter found.") error=True else: print("Error:\tUnable to connect to I2C bus. No Binho Host Adapter found.") error=True except Exception as ee: if type(ee) is RuntimeError: print("Error:\tUnable to connect to I2C bus. %s" % (ee)) print("\t\tEnsure a Binho Host Adapter is connected to the computer." % (os.uname().machine)) else: print("Error:\tFailed to connect to I2C bus. Error: %s" % (ee)) # We had an error.... error=True # below is probably not needed, but ... if(not error and binho == None): print("Error: Failed to connect to I2C bus. Unable to continue") return binho
#test from binhoHostAdapter import binhoHostAdapter from binhoHostAdapter import binhoUtilities import time binhoTesterCommPort = 'COM12' #may need to be changed # create the binhoHostAdapter object binhoTester = binhoHostAdapter.binhoHostAdapter(binhoTesterCommPort) binhoTester.setOperationMode(0, 'I2C') binhoTester.setPullUpStateI2C(0, "DIS") binhoTester.setClockI2C(0, 400000) # initialize the display print(binhoTester.startI2C(0, 0xE0)) print(binhoTester.writeByteI2C(0, 0x21)) print(binhoTester.endI2C(0)) print(binhoTester.startI2C(0, 0xE0)) print(binhoTester.writeByteI2C(0, 0x81)) print(binhoTester.endI2C(0)) print(binhoTester.startI2C(0, 0xE0)) print(binhoTester.writeByteI2C(0, 0xA0)) print(binhoTester.endI2C(0)) print(binhoTester.startI2C(0, 0xE0)) print(binhoTester.writeByteI2C(0, 0xEF))