From 5271c9c4e48db523de2687d8c3604e7ef5027839 Mon Sep 17 00:00:00 2001
From: tillraab <till.raab@student.uni-tuebingen.de>
Date: Wed, 11 Sep 2019 13:48:49 +0200
Subject: [PATCH] bf

---
 electrode_check.py | 82 +++++++++++++++++++++++++++++++++-------------
 1 file changed, 59 insertions(+), 23 deletions(-)

diff --git a/electrode_check.py b/electrode_check.py
index e80769c..2515c0f 100644
--- a/electrode_check.py
+++ b/electrode_check.py
@@ -20,6 +20,38 @@ from uldaq import (get_daq_device_inventory, DaqDevice, AInScanFlag, ScanStatus,
                    ScanOption, create_float_buffer, InterfaceType, AiInputMode)
 
 
+class plot():
+    def __init__(self):
+        self.n_rows = None
+        self.n_cols = None
+        self.max_v = None
+        self.channel_handle = []
+
+        self.fig = plt.figure(figsize=(20 / 2.54, 12 / 2.54), facecolor='white')
+        self.fig.canvas.mpl_connect('key_press_event', self.keypress)
+        self.axs = []
+
+    def create_axis(self):
+        gs = gridspec.GridSpec(self.n_rows, self.n_cols)
+        for y in range(self.n_rows):
+            for x in range(self.n_cols):
+                ax = plt.subplot(gs[y, x])
+
+                if not y == self.n_rows - 1:
+                    ax.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False)
+
+                if not x == 0:
+                    ax.tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
+                ax.set_ylim(-self.max_v, self.max_v)
+
+                self.axs.append(ax)
+        gs.update(left=0.05, bottom=0.05, top=1, right=1, hspace=0, wspace=0)
+
+    def keypress(self, event):
+        if event.key == 'v':
+            print('v pressed')
+
+
 def GPIO_setup(LED1_pin, LED2_pin, Button1_pin, Button2_pin):
     # LED output pins
     GPIO.setmode(GPIO.BOARD)
@@ -279,27 +311,31 @@ def main():
 
     disp_eth_power = True
 
-
-    fig = plt.figure(figsize =(20/2.54, 12/2.54), facecolor='white')
-    axs = []
-    gs = gridspec.GridSpec(n_rows, n_cols)
-    for y in range(n_rows):
-        for x in range(n_cols):
-            ax = plt.subplot(gs[y, x])
-
-            if not y == n_rows -1:
-                ax.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False)
-
-            if not x == 0:
-                ax.tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
-            ax.set_ylim(-max_v, max_v)
-
-            axs.append(ax)
-
-    gs.update(left=0.05, bottom=0.05, top=1, right=1, hspace=0, wspace=0)
+    Plot = plot()
+    Plot.max_v = max_v
+    Plot.n_rows = n_rows
+    Plot.n_cols = n_cols
+
+    # fig = plt.figure(figsize =(20/2.54, 12/2.54), facecolor='white')
+    # axs = []
+    # gs = gridspec.GridSpec(n_rows, n_cols)
+    # for y in range(n_rows):
+    #     for x in range(n_cols):
+    #         ax = plt.subplot(gs[y, x])
+    #
+    #         if not y == n_rows -1:
+    #             ax.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False)
+    #
+    #         if not x == 0:
+    #             ax.tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
+    #         ax.set_ylim(-max_v, max_v)
+    #
+    #         axs.append(ax)
+    #
+    # gs.update(left=0.05, bottom=0.05, top=1, right=1, hspace=0, wspace=0)
 
     # ax = np.hstack(ax)
-    channel_handle = []
+    # channel_handle = []
     init_fig = True
 
     try:
@@ -348,17 +384,17 @@ def main():
                 min = np.min(np.hstack(channel_data))
                 if init_fig == True:
                     for ch in channel_array:
-                        h, = axs[ch].plot(np.arange(250)[:len(channel_data[ch])] / rate, channel_data[ch], color='k')
+                        h, = Plot.axs[ch].plot(np.arange(250)[:len(channel_data[ch])] / rate, channel_data[ch], color='k')
                         # axs[ch].set_ylim(min - channel_std[power_channel], max + channel_std[power_channel])
                         # axs[ch].set_ylim(min, max)
-                        channel_handle.append(h)
+                        Plot.channel_handle.append(h)
                     plt.show(block=False)
                     init_fig = False
                 else:
                     for ch in channel_array:
-                        channel_handle[ch].set_data(np.arange(250)[:len(channel_data[ch])] / rate, channel_data[ch])
+                        Plot.channel_handle[ch].set_data(np.arange(250)[:len(channel_data[ch])] / rate, channel_data[ch])
 
-                    fig.canvas.draw()
+                    Plot.fig.canvas.draw()
                     
 
                 # np.array(data[last_idx:], dtype=np.float32).tofile(f)