diff options
author | jakobst1n <jakob.stendahl@outlook.com> | 2018-12-04 21:47:06 +0000 |
---|---|---|
committer | jakobst1n <jakob.stendahl@outlook.com> | 2018-12-04 21:47:06 +0000 |
commit | 1ebbb05edbc89d6b428a9324f00b4f9849f49d97 (patch) | |
tree | 052724b71eee0e51e90791233454558b371d1279 | |
parent | ec3b7655b3b265cfe0086d7ad20ffa28cfa8629d (diff) | |
download | Luxcena-Neo-1ebbb05edbc89d6b428a9324f00b4f9849f49d97.tar.gz Luxcena-Neo-1ebbb05edbc89d6b428a9324f00b4f9849f49d97.zip |
:construction: Matrix function
-rw-r--r-- | src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Matrix.py | 28 | ||||
-rw-r--r-- | src/compileAndRun/pythonSupportFiles/LuxcenaNeo/Strip.py | 1 |
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() |