Commit 29dccd39 authored by LorenzoMonti's avatar LorenzoMonti
Browse files

add new plot functions

parent c26df3bd
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -68,6 +68,21 @@ def plot_lineplot(trace):
        sns.lineplot(x="points", y="dbM", data=dataset)
        plt.show()

def plot_Trx_Tm(trace1, trace2):
        x = np.arange(len(trace1)) # x axis
        dataset = pd.DataFrame({ "Trx": trace1, "Tm": trace2})

        sns.set_style("darkgrid")
        sns.lineplot(data=dataset)
        plt.show()

def plot_Dr_Mr(trace1, trace2, upperBound, lowerBound):
        x = np.arange(len(trace1)) # x axis
        dataset = pd.DataFrame({ "Dr": trace1, "Mr": trace2, "Upperbound": upperBound, "Lowerbound": lowerBound})

        sns.set_style("darkgrid")
        sns.lineplot(data=dataset)
        plt.show()

def save_data_as_csv(trace):
        """
+17 −16
Original line number Diff line number Diff line
@@ -151,7 +151,20 @@ def measure(self, TNotebook1):
                self.TextMeasure1.insert(tk.END, "\nConnection problem\n")    
        else:
            
            # TODO: add plot here!!!!
            # convert dBm in watts
            watt_traces = list()
            for trace in self._traces:
                watt_traces.append(np.array(list(Utils.getWatts(trace))))

            # get calculus
            self.dMeasure, self.drMeasure, self.Pc, self.PcPlusM, self.PhPlusM, self.Ph, self.Yvalue, self.Trx, self.Tm, self.Thm = Utils.getCalculus(watt_traces, float(self.MeasureEntry3.get()), float(self.MeasureEntry4.get()))
            # traspose rows in columns
            self.columns_trace = zip(self._traces[0], self._traces[1], self._traces[2], 
                                self._traces[3], self._traces[4], self.dMeasure, self.drMeasure, 
                                self.Pc, self.PcPlusM, self.PhPlusM, self.Ph, self.Yvalue, self.Trx, self.Tm, self.Thm) 

            Utils.plot_Trx_Tm(self.Trx, self.Tm)
            Utils.plot_Dr_Mr(self.drMeasure, (self.Tm/self.Thm), float(self.BoundEntry1.get()), float(self.BoundEntry2.get()))
            
            self.ButtonMeasure2.config(state=NORMAL)
            self.TextMeasure1.insert(tk.END, "\nAll measurements were successful\n")
@@ -183,20 +196,8 @@ def measure(self, TNotebook1):

    def save_measures():

        # convert dBm in watts
        watt_traces = list()
        for trace in self._traces:
            watt_traces.append(np.array(list(Utils.getWatts(trace))))

        # get calculus
        dMeasure, drMeasure, Pc, PcPlusM, PhPlusM, Ph, Yvalue, Trx, Tm, Thm = Utils.getCalculus(watt_traces, float(self.MeasureEntry3.get()), float(self.MeasureEntry4.get()))
        # traspose rows in columns
        columns_trace = zip(self._traces[0], self._traces[1], self._traces[2], 
                            self._traces[3], self._traces[4], dMeasure, drMeasure, 
                            Pc, PcPlusM, PhPlusM, Ph, Yvalue, Trx, Tm, Thm) 

        # acceptable drift
        if(Utils.acceptable_drift(drMeasure, Tm, Thm, float(self.BoundEntry1.get()), float(self.BoundEntry2.get()))):    
        if(Utils.acceptable_drift(self.drMeasure, self.Tm, self.Thm, float(self.BoundEntry1.get()), float(self.BoundEntry2.get()))):    
            # open file dialog
            file = filedialog.asksaveasfile(mode="w", defaultextension=".csv")
            if file is None:
@@ -209,7 +210,7 @@ def measure(self, TNotebook1):
            # titles
            writer.writerow(["RAW:Pc", "RAW:Pc + m", "RAW:Ph + m", "RAW:Ph", "RAW:Pc'", "dMeasure", "drMeasure", "Pc", "PcPlusM", "PhPlusM", "Ph", "Yvalue", "Trx", "Tm", "Thm"])  
            # traces and calculus
            for column_trace in columns_trace:
            for column_trace in self.columns_trace:
                writer.writerow(column_trace) 
            file.close()