Skip to content

Commit

Permalink
fix circuit component element out of range crash
Browse files Browse the repository at this point in the history
  • Loading branch information
rahulp13 committed Sep 17, 2022
1 parent 99c9974 commit 73b7848
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 48 deletions.
9 changes: 6 additions & 3 deletions src/frontEnd/Application.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
12 changes: 6 additions & 6 deletions src/kicadtoNgspice/Analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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")
Expand All @@ -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")
Expand All @@ -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
Expand Down
90 changes: 56 additions & 34 deletions src/kicadtoNgspice/KicadtoNgspice.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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(' ')
Expand All @@ -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")
Expand Down
10 changes: 5 additions & 5 deletions src/kicadtoNgspice/Processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -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): '
Expand Down Expand Up @@ -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): '
Expand All @@ -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])
Expand Down

0 comments on commit 73b7848

Please sign in to comment.