From af2d66f9e7a604cfec51d6e7b66d5f90827fe7bb Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Tue, 18 Oct 2016 12:46:55 +0200 Subject: Added functions, error-handling Added errorhandeler Added try-catch --- Raspberry Pi/i2cPixel.py | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) (limited to 'Raspberry Pi/i2cPixel.py') diff --git a/Raspberry Pi/i2cPixel.py b/Raspberry Pi/i2cPixel.py index 936c828..6d74a68 100644 --- a/Raspberry Pi/i2cPixel.py +++ b/Raspberry Pi/i2cPixel.py @@ -1,6 +1,11 @@ +""" Includes """ import smbus +import sys import time +""" Variables """ +lockdown = False + def version(): print "i2cPixel is Version 1.0.0" @@ -10,36 +15,60 @@ def setAddress(address): def setBus(n): global bus - bus = smbus.SMBus(n) + try: + bus = smbus.SMBus(n) + except: + errorMsg = sys.exc_info()[0] + errorHandler(5, errorMsg) +def available(): + global lockdown + return lockdown + def greeting(): """ Send heartbeat """ bus.write_byte(arduinoAddress, 0x01) """ Wait for response """ - try: + try: response = bus.read_byte(arduinoAddress) if response == 0x01: returnMsg = True else: returnMsg = False except: + errorMsg = sys.exc_info()[0] + errorHandler(5, errorMsg) returnMsg = False + """ Return if heartbeat was received """ return returnMsg def setPixel(n, red, green, blue): - """ Send values for switching a pixel on """ - bus.write_block_data(arduinoAddress, 0x02, [n, red, green, blue]) + """ Send values for changing pixel values """ + try: + bus.write_block_data(arduinoAddress, 0x02, [n, red, green, blue]) + except: + errorMsg = sys.exc_info()[0] + errorHandler(5, errorMsg) def show(): - bus.write_byte(arduinoAddress, 0x03) + """ Send values for turning pixels on """ + try: + bus.write_byte(arduinoAddress, 0x03) + except: + errorMsg = sys.exc_info()[0] + errorHandler(5, errorMsg) def blink(time, red, green, blue): - bus.write_block_data(arduinoAddress, 0x04, [red, green, blue, time]) + """ Flash all pixels with a colour """ + try: + bus.write_block_data(arduinoAddress, 0x04, [red, green, blue, time]) + except: + errorMsg = sys.exc_info()[0] + errorHandler(5, errorMsg) def waitForSensor(): - while True: try: sensorData = bus.read_byte(arduinoAddress) -- cgit v1.2.3