aboutsummaryrefslogtreecommitdiff
path: root/src/compileAndRun/pythonSupportFiles/LuxcenaNeo
diff options
context:
space:
mode:
authorjakobst1n <jakob.stendahl@outlook.com>2018-12-04 21:47:06 +0000
committerjakobst1n <jakob.stendahl@outlook.com>2018-12-04 21:47:06 +0000
commit1ebbb05edbc89d6b428a9324f00b4f9849f49d97 (patch)
tree052724b71eee0e51e90791233454558b371d1279 /src/compileAndRun/pythonSupportFiles/LuxcenaNeo
parentec3b7655b3b265cfe0086d7ad20ffa28cfa8629d (diff)
downloadLuxcena-Neo-1ebbb05edbc89d6b428a9324f00b4f9849f49d97.tar.gz
Luxcena-Neo-1ebbb05edbc89d6b428a9324f00b4f9849f49d97.zip
:construction: Matrix function
Diffstat (limited to 'src/compileAndRun/pythonSupportFiles/LuxcenaNeo')
-rw-r--r--src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py28
-rw-r--r--src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py1
2 files changed, 23 insertions, 6 deletions
diff --git a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
index 4a93247..320da02 100644
--- a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
+++ b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py
@@ -22,16 +22,27 @@ def getSegmentRange(segments, n):
class Matrix:
def __init__(self, segments, matrix):
- self.matrix = []
+ self.matrix = [] # Holds the matrix
+ self.xLen = 0 # The width of the matrix
+ self.yLen = len(matrix) # The heigth of the matrix
+
for yPos in range(len(matrix)):
yVal = matrix[yPos]
thisY = []
for xPos in range(len(yVal)):
- if matrix[yPos][xPos][1] == True:
- thisY += reversed(getSegmentRange(segments, matrix[yPos][xPos][0]))
- else:
- thisY += getSegmentRange(segments, matrix[yPos][xPos][0])
+ # This gets the range of segment n
+ segmentRange = getSegmentRange(segments, matrix[yPos][xPos][0])
+
+ # This adds the range to the current row's list
+ # if in the config [<segment_num>, <reversed>]
+ # reversed == true, revese the list before adding it
+ thisY += reversed(segmentRange) if matrix[yPos][xPos][1] else segmentRange
+
+ # This just finds the longest row in the matrix
+ if (len(thisY) > self.xLen):
+ self.xLen = len(thisY)
+
self.matrix.append(thisY)
def get(self, x, y):
@@ -39,12 +50,17 @@ class Matrix:
return self.matrix[y][x]
def dump(self):
+ nSpacers = (self.xLen*6) // 2 - 6
+ print( ("=" * nSpacers) + "Matrix dump" + ("=" * nSpacers) )
+
for y in self.matrix:
thisYLine = ""
for x in y:
- thisYLine += str(x) + ( ' ' * (5 - len(str(x))) )
+ thisYLine += ( ' ' * (5 - len(str(x))) ) + str(x) + ' '
print(thisYLine)
+ print("=" * (self.xLen*6))
+
if __name__ == "__main__":
testMatrix = Matrix(
diff --git a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py
index 4856076..c3a913f 100644
--- a/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py
+++ b/src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py
@@ -38,6 +38,7 @@ class Strip:
self.strip.show()
# Setup matrix
+ print(" * Generating matrix")
#try:
self.pixelMatrix = Matrix(self.SEGMENTS, stripConf["matrix"])
self.pixelMatrix.dump()