diff --git a/src/frontEnd/Application.py b/src/frontEnd/Application.py index d3ef020f6..7588b1a18 100644 --- a/src/frontEnd/Application.py +++ b/src/frontEnd/Application.py @@ -10,11 +10,11 @@ # BUGS: --- # NOTES: --- # AUTHOR: Fahim Khan, fahim.elex@gmail.com -# MODIFIED: Rahul Paknikar, rahulp@iitb.ac.in +# MAINTAINED: Rahul Paknikar, rahulp@cse.iitb.ac.in # Sumanto Kar, sumantokar@iitb.ac.in # ORGANIZATION: eSim Team at FOSSEE, IIT Bombay # CREATED: Tuesday 24 February 2015 -# REVISION: Monday 31 January 2022 +# REVISION: Tuesday 13 September 2022 # ========================================================================= import os @@ -949,4 +949,7 @@ def main(args): # Call main function if __name__ == '__main__': # Create and display the splash screen - main(sys.argv) + try: + main(sys.argv) + except Exception as err: + print("Error: ", err) diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py index bacb569c3..77c9352e2 100755 --- a/src/frontEnd/ProjectExplorer.py +++ b/src/frontEnd/ProjectExplorer.py @@ -132,25 +132,21 @@ def openProject(self): self.filePath = str( self.indexItem.sibling(self.indexItem.row(), 1).data() ) - self.obj_appconfig.print_info( - 'The current project is ' + self.filePath) - - self.textwindow = QtWidgets.QWidget() - self.textwindow.setMinimumSize(600, 500) - self.textwindow.setGeometry(QtCore.QRect(400, 150, 400, 400)) - self.textwindow.setWindowTitle(filename) - - self.text = QtWidgets.QTextEdit() - self.save = QtWidgets.QPushButton('Save and Exit') - self.save.setDisabled(True) - self.windowgrid = QtWidgets.QGridLayout() - self.refreshProject(self.filePath) if (os.path.isfile(str(self.filePath))): self.fopen = open(str(self.filePath), 'r') lines = self.fopen.read() - self.text.setText(lines) + self.textwindow = QtWidgets.QWidget() + self.textwindow.setMinimumSize(600, 500) + self.textwindow.setGeometry(QtCore.QRect(400, 150, 400, 400)) + self.textwindow.setWindowTitle(filename) + + self.text = QtWidgets.QTextEdit() + self.save = QtWidgets.QPushButton('Save and Exit') + self.save.setDisabled(True) + + self.text.setText(lines) self.text.textChanged.connect(self.enable_save) vbox_main = QtWidgets.QVBoxLayout(self.textwindow) @@ -160,6 +156,12 @@ def openProject(self): self.textwindow.show() else: + self.refreshProject(self.filePath) + + self.obj_appconfig.print_info( + 'The current project is: ' + self.filePath + ) + self.obj_appconfig.current_project["ProjectName"] = str( self.filePath) ( diff --git a/src/kicadtoNgspice/Analysis.py b/src/kicadtoNgspice/Analysis.py index 32902a81c..f37842871 100644 --- a/src/kicadtoNgspice/Analysis.py +++ b/src/kicadtoNgspice/Analysis.py @@ -734,7 +734,7 @@ def createTRANgroup(self): self.parameter_cnt = 0 self.start_combobox = QtWidgets.QComboBox() - self.start_combobox.addItem("Sec") + self.start_combobox.addItem("sec") self.start_combobox.addItem("ms") self.start_combobox.addItem("us") self.start_combobox.addItem("ns") @@ -744,13 +744,13 @@ def createTRANgroup(self): try: self.tran_parameter[self.parameter_cnt] = str(root[2][3].text) except BaseException: - self.tran_parameter[self.parameter_cnt] = "Sec" + self.tran_parameter[self.parameter_cnt] = "sec" self.start_combobox.activated[str].connect(self.start_combo_change) self.parameter_cnt += 1 self.step_combobox = QtWidgets.QComboBox() - self.step_combobox.addItem("Sec") + self.step_combobox.addItem("sec") self.step_combobox.addItem("ms") self.step_combobox.addItem("us") self.step_combobox.addItem("ns") @@ -759,13 +759,13 @@ def createTRANgroup(self): try: self.tran_parameter[self.parameter_cnt] = str(root[2][4].text) except BaseException: - self.tran_parameter[self.parameter_cnt] = "Sec" + self.tran_parameter[self.parameter_cnt] = "sec" self.step_combobox.activated[str].connect(self.step_combo_change) self.parameter_cnt += 1 self.stop_combobox = QtWidgets.QComboBox() - self.stop_combobox.addItem("Sec") + self.stop_combobox.addItem("sec") self.stop_combobox.addItem("ms") self.stop_combobox.addItem("us") self.stop_combobox.addItem("ns") @@ -774,7 +774,7 @@ def createTRANgroup(self): try: self.tran_parameter[self.parameter_cnt] = str(root[2][5].text) except BaseException: - self.tran_parameter[self.parameter_cnt] = "Sec" + self.tran_parameter[self.parameter_cnt] = "sec" self.stop_combobox.activated[str].connect(self.stop_combo_change) self.parameter_cnt += 1 diff --git a/src/kicadtoNgspice/KicadtoNgspice.py b/src/kicadtoNgspice/KicadtoNgspice.py index 28294be1f..6a919de98 100644 --- a/src/kicadtoNgspice/KicadtoNgspice.py +++ b/src/kicadtoNgspice/KicadtoNgspice.py @@ -10,10 +10,10 @@ # BUGS: --- # NOTES: --- # AUTHOR: Fahim Khan, fahim.elex@gmail.com -# MODIFIED: Rahul Paknikar, rahulp@iitb.ac.in +# MODIFIED: Rahul Paknikar, rahulp@cse.iitb.ac.in # ORGANIZATION: eSim Team at FOSSEE, IIT Bombay # CREATED: Wednesday 04 March 2015 -# REVISION: Saturday 25 July 2020 +# REVISION: Sunday 18 September 2022 # ========================================================================= import sys @@ -376,9 +376,9 @@ def callConvert(self): if child.tag == "source": attr_source = child - count = 1 + count = 0 grand_child_count = 0 - keys = list(obj_source.entry_var.keys()) + entry_var_keys = list(obj_source.entry_var.keys()) for i in store_schematicInfo: tmp_check = 0 @@ -390,7 +390,7 @@ def callConvert(self): for grand_child in child: grand_child.text = \ str(obj_source.entry_var - [keys[grand_child_count]].text()) + [entry_var_keys[grand_child_count]].text()) grand_child_count += 1 if tmp_check == 0: words = i.split(' ') @@ -406,102 +406,124 @@ def callConvert(self): # attr_ac = ET.SubElement(attr_var, "ac") ET.SubElement( attr_var, "field1", name="Amplitude" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field2", name="Phase" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 elif words[len(words) - 1] == "dc": # attr_dc = ET.SubElement(attr_var, "dc") ET.SubElement( attr_var, "field1", name="Value" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 elif words[len(words) - 1] == "sine": # attr_sine = ET.SubElement(attr_var, "sine") ET.SubElement( attr_var, "field1", name="Offset Value" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field2", name="Amplitude" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field3", name="Frequency" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field4", name="Delay Time" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field5", name="Damping Factor" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 elif words[len(words) - 1] == "pulse": # attr_pulse=ET.SubElement(attr_var,"pulse") ET.SubElement( attr_var, "field1", name="Initial Value" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field2", name="Pulse Value" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field3", name="Delay Time" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field4", name="Rise Time" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field5", name="Fall Time" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field5", name="Pulse width" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field5", name="Period" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 elif words[len(words) - 1] == "pwl": # attr_pwl=ET.SubElement(attr_var,"pwl") ET.SubElement( attr_var, "field1", name="Enter in pwl format" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 elif words[len(words) - 1] == "exp": # attr_exp=ET.SubElement(attr_var,"exp") ET.SubElement( attr_var, "field1", name="Initial Value" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field2", name="Pulsed Value" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field3", name="Rise Delay Time" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field4", name="Rise Time Constant" - ).text = str(obj_source.entry_var[count].text()) + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( - attr_var, "field5", name="Fall TIme" - ).text = str(obj_source.entry_var[count].text()) + attr_var, "field5", name="Fall Time" + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) count += 1 ET.SubElement( attr_var, "field6", name="Fall Time Constant" - ).text = str(obj_source.entry_var[count].text()) - count += 2 + ).text = str(obj_source.entry_var + [entry_var_keys[count]].text()) + count += 1 if check == 0: attr_model = ET.SubElement(attr_parent, "model") diff --git a/src/kicadtoNgspice/Processing.py b/src/kicadtoNgspice/Processing.py index 94a2e51fa..a0b20adae 100644 --- a/src/kicadtoNgspice/Processing.py +++ b/src/kicadtoNgspice/Processing.py @@ -143,8 +143,8 @@ def insertSpecialSourceParam(self, schematicInfo, sourcelist): index = schematicInfo.index(compline) if words[3] == "pulse": Title = "Add parameters for pulse source " + compName - v1 = ' Enter initial value(Volts/Amps): ' - v2 = ' Enter pulsed value(Volts/Amps): ' + v1 = ' Enter initial value (Volts/Amps): ' + v2 = ' Enter pulsed value (Volts/Amps): ' td = ' Enter delay time (seconds): ' tr = ' Enter rise time (seconds): ' tf = ' Enter fall time (seconds): ' @@ -180,8 +180,8 @@ def insertSpecialSourceParam(self, schematicInfo, sourcelist): elif words[3] == "exp": Title = "Add parameters for exponential source " + compName - v1 = ' Enter initial value(Volts/Amps): ' - v2 = ' Enter pulsed value(Volts/Amps): ' + v1 = ' Enter initial value (Volts/Amps): ' + v2 = ' Enter pulsed value (Volts/Amps): ' td1 = ' Enter rise delay time (seconds): ' tau1 = ' Enter rise time constant (seconds): ' td2 = ' Enter fall time (seconds): ' @@ -192,7 +192,7 @@ def insertSpecialSourceParam(self, schematicInfo, sourcelist): elif words[3] == "dc": Title = "Add parameters for DC source " + compName - v1 = ' Enter value(Volts/Amps): ' + v1 = ' Enter value (Volts/Amps): ' v2 = ' Enter zero frequency: ' sourcelist.append( [index, compline, words[3], Title, v1, v2])