Firmware for HexBoard MIDI controller
Diffstat (limited to 'makeLayout.py')
| -rwxr-xr-x | makeLayout.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/makeLayout.py b/makeLayout.py new file mode 100755 index 0000000..282625c --- /dev/null +++ b/makeLayout.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +import sys + +evenCols=9 +oddCols=10 +rows=14 + +def makeLayout(starting, across, downleft): + a = [] + for row in range(0, rows): + a.append([]) + for col in range(0, oddCols if row%2 else evenCols): + if row == 0 and col == 0: + a[row].append(starting) + elif col > 0: + a[row].append(a[row][col-1] + across) + else: # col == 0 + if row%2: + ref = a[row-1][0] + else: + ref = a[row-1][1] + a[row].append(ref+downleft) + return a + +if __name__ == '__main__': + layout = makeLayout(int(sys.argv[1]), int(sys.argv[2]), int(sys.argv[3])) + #print(layout) + row = 0 + for Row in layout: + if row%2 == 0: + n = int(row/2)+1 + print(f" ROW_FLIP(CMDB_{n}, ", end='') + else: + print(" ROW_FLIP(", end='') + col = 1 + for entry in Row: + end = ', ' if col < (oddCols if row%2 else evenCols) else '' + print(entry, end=end) + col = col + 1 + print(')' if row +1 == rows else '),') + row = row + 1 |