aboutsummaryrefslogtreecommitdiff
path: root/Raspberry Pi/i2cPixel.py
diff options
context:
space:
mode:
authorJakob Stendahl <jakob@Jakobs-MacBook-Pro.local>2016-10-21 07:57:13 +0200
committerJakob Stendahl <jakob@Jakobs-MacBook-Pro.local>2016-10-21 07:57:13 +0200
commit3c6a622c71c8f092e3de3f9a2fbbbfcca67cf720 (patch)
tree98c824fd583530da53e4eb2c697a4db1f01c7045 /Raspberry Pi/i2cPixel.py
parent6dafff0b4844f50df78bc23cb5aa26ba339cc3b0 (diff)
downloadi2c-Neopixel-3c6a622c71c8f092e3de3f9a2fbbbfcca67cf720.tar.gz
i2c-Neopixel-3c6a622c71c8f092e3de3f9a2fbbbfcca67cf720.zip
Make Arduino Project. update scripts
Diffstat (limited to 'Raspberry Pi/i2cPixel.py')
-rw-r--r--Raspberry Pi/i2cPixel.py198
1 files changed, 134 insertions, 64 deletions
diff --git a/Raspberry Pi/i2cPixel.py b/Raspberry Pi/i2cPixel.py
index 4e6785c..360b3f3 100644
--- a/Raspberry Pi/i2cPixel.py
+++ b/Raspberry Pi/i2cPixel.py
@@ -2,6 +2,28 @@
import smbus
import sys
import time
+import logging
+
+logging.basicConfig(filename='error.log',level=logging.DEBUG)
+
+def errorHandler(type, errorMsg):
+ if type == 1: # Debug
+ logging.debug(errorMsg)
+ print("Debug Message: See logfile")
+ elif type == 2: # info
+ logging.info(errorMsg)
+ elif type == 3: # Warning
+ logging.warning(errorMsg)
+ elif type == 4: # Error
+ logging.error(errorMsg)
+ print("Error: See logfile")
+ elif type == 5: # Error
+ logging.critical(errorMsg)
+ print("Critical Error: See logfile")
+ else:
+ logging.critical(errorMsg)
+ print("Something went terribly wrong! Not even the errorhandler was able to find out what. Which basically means 'You are doomed'")
+
""" Variables """
lockdown = False
@@ -9,84 +31,132 @@ lockdown = False
def version():
print "i2cPixel is Version 1.0.0"
+def available():
+ global lockdown
+ return lockdown
+
def setAddress(address):
global arduinoAddress
arduinoAddress = address
def setBus(n):
- if available = False:
- return 2
- else:
- global bus
- try:
- bus = smbus.SMBus(n)
- except:
- errorMsg = sys.exc_info()[0]
- errorHandler(5, errorMsg)
-
-def available():
- global lockdown
- return lockdown
-
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ global bus
+ try:
+ bus = smbus.SMBus(n)
+ except:
+ errorMsg = sys.exc_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
+
def greeting():
- if available = False:
- return 2
- else:
- try:
- """ Send heartbeat """
- bus.write_byte(arduinoAddress, 0x01)
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ """ Send heartbeat """
+ bus.write_byte(arduinoAddress, 0x01)
+
+ """ Wait for response """
+ 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
+
+ except:
+ errorMsg = sys.exc_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
- """ Wait for response """
- 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
-
- except:
- errorMsg = sys.exc_info()[0]
- errorHandler(5, errorMsg)
+def ping():
+ # Send 0x07 vil faa tilbake 42 hvis live
+ return False
+def setBrightness(intensity):
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ bus.write_block_data(arduinoAddress, 0x06, [intensity])
+ except:
+ errorMsg = sys.exec_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
+
+def disableTimeout():
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ bus.write_byte(arduinoAddress, 0x05)
+ except:
+ errorMsg = sys.exec_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
+
+def blink(n, Red, Green, Blue):
+ bus.write_block_data(arduinoAddress, 0x04, [Red, Green, Blue, n])
+
def setPixel(n, red, green, blue):
""" Send values for changing pixel values """
- if available = False:
- return 2
- else:
- try:
- bus.write_block_data(arduinoAddress, 0x02, [n, red, green, blue])
- except:
- errorMsg = sys.exc_info()[0]
- errorHandler(5, errorMsg)
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ if n > 255:
+ n1 = 255
+ n2 = n - 255
+ else:
+ n1 = 0
+ n2 = n
+ #print("{", n1, n2, "}")
+ bus.write_block_data(arduinoAddress, 0x02, [n1, n2, red, green, blue])
+ except:
+ errorMsg = sys.exc_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
def show():
- """ Send values for turning pixels on """
- if available = False:
- return 2
- else:
- try:
- bus.write_byte(arduinoAddress, 0x03)
- except:
- errorMsg = sys.exc_info()[0]
- errorHandler(5, errorMsg)
+ """ Send values for turning pixels on """
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ bus.write_byte(arduinoAddress, 0x03)
+ except:
+ errorMsg = sys.exc_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
def blink(time, red, green, blue):
- """ Flash all pixels with a colour """
- if available = False:
- return 2
- else:
- try:
- bus.write_block_data(arduinoAddress, 0x04, [red, green, blue, time])
- except:
- errorMsg = sys.exc_info()[0]
- errorHandler(5, errorMsg)
+ """ Flash all pixels with a colour """
+ if available == False:
+ return 2
+ else:
+ lockdown = False
+ try:
+ bus.write_block_data(arduinoAddress, 0x04, [red, green, blue, time])
+ except:
+ errorMsg = sys.exc_info()[0]
+ errorHandler(5, errorMsg)
+ lockdown = True
def waitForSensor():
while True: