summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/browser/UserManual.py11
-rw-r--r--src/browser/Welcome.py4
-rw-r--r--src/configuration/Appconfig.py15
-rwxr-xr-xsrc/frontEnd/Application.py28
-rw-r--r--src/frontEnd/ProjectExplorer.py1
-rw-r--r--src/frontEnd/Workspace.py14
-rw-r--r--src/kicadtoNgspice/Analysis.py45
-rw-r--r--src/kicadtoNgspice/Convert.py23
-rw-r--r--src/kicadtoNgspice/DeviceModel.py29
-rw-r--r--src/kicadtoNgspice/KicadtoNgspice.py97
-rw-r--r--src/kicadtoNgspice/Model.py8
-rw-r--r--src/kicadtoNgspice/Processing.py43
-rw-r--r--src/kicadtoNgspice/Source.py10
-rw-r--r--src/kicadtoNgspice/SubcircuitTab.py17
-rw-r--r--src/modelEditor/ModelEditor.py54
-rw-r--r--src/ngspiceSimulation/NgspiceWidget.py3
-rw-r--r--src/ngspiceSimulation/pythonPlotting.py17
-rw-r--r--src/projManagement/Kicad.py6
-rw-r--r--src/projManagement/Validation.py17
-rw-r--r--src/projManagement/Worker.py7
-rw-r--r--src/projManagement/newProject.py3
-rw-r--r--src/projManagement/openProject.py5
-rw-r--r--src/subcircuit/Subcircuit.py4
-rw-r--r--src/subcircuit/convertSub.py15
24 files changed, 175 insertions, 301 deletions
diff --git a/src/browser/UserManual.py b/src/browser/UserManual.py
index 72733a50..bcff4f97 100644
--- a/src/browser/UserManual.py
+++ b/src/browser/UserManual.py
@@ -1,4 +1,4 @@
-from PyQt4 import QtGui, QtCore
+from PyQt4 import QtGui
import webbrowser
class UserManual(QtGui.QWidget):
@@ -9,16 +9,9 @@ class UserManual(QtGui.QWidget):
QtGui.QWidget.__init__(self)
self.vlayout = QtGui.QVBoxLayout()
-
- """
- self.browser = QtGui.QTextBrowser()
- self.browser.setSource(QtCore.QUrl("../browser/pages/User-Manual/eSim.html"))
- self.browser.setOpenExternalLinks(True)
- """
-
+
self.url = "../browser/pages/User-Manual/eSim.html"
self.test = webbrowser.open("../browser/pages/User-Manual/eSim.html",new=2)
- #self.vlayout.addWidget(self.browser)
self.setLayout(self.vlayout)
self.show() \ No newline at end of file
diff --git a/src/browser/Welcome.py b/src/browser/Welcome.py
index 87fb3164..f9e3bbd7 100644
--- a/src/browser/Welcome.py
+++ b/src/browser/Welcome.py
@@ -12,9 +12,7 @@ class Welcome(QtGui.QWidget):
self.browser = QtGui.QTextBrowser()
self.browser.setSource(QtCore.QUrl("../browser/pages/welcome.html"))
self.browser.setOpenExternalLinks(True)
- #self.setSource(QtCore.QUrl("../browser/pages/welcome.html"))
- #self.setOpenExternalLinks(True)
-
+
self.vlayout.addWidget(self.browser)
self.setLayout(self.vlayout)
self.show() \ No newline at end of file
diff --git a/src/configuration/Appconfig.py b/src/configuration/Appconfig.py
index 0d3e0346..72510174 100644
--- a/src/configuration/Appconfig.py
+++ b/src/configuration/Appconfig.py
@@ -60,19 +60,16 @@ class Appconfig(QtGui.QWidget):
self._app_heigth = 400
- def print_info(self, str):
+ def print_info(self, info):
+ self.noteArea['Note'].append('[INFO]: ' + info)
- self.noteArea['Note'].append('[INFO]: ' + str)
-
- def print_warning(self, str):
-
- self.noteArea['Note'].append('[WARNING]: ' + str)
+ def print_warning(self, warning):
+ self.noteArea['Note'].append('[WARNING]: ' + warning)
- def print_error(self, str):
-
- self.noteArea['Note'].append('[ERROR]: ' + str)
+ def print_error(self, error):
+ self.noteArea['Note'].append('[ERROR]: ' + error)
diff --git a/src/frontEnd/Application.py b/src/frontEnd/Application.py
index f17a2d80..b80bdb5f 100755
--- a/src/frontEnd/Application.py
+++ b/src/frontEnd/Application.py
@@ -182,8 +182,7 @@ class Application(QtGui.QMainWindow):
def close_project(self):
- print "Close Project is called"
- #current_project = {"ProjectName":None}
+ print "Function : Close Project"
current_project = self.obj_appconfig.current_project['ProjectName']
if current_project==None:
pass
@@ -204,7 +203,7 @@ class Application(QtGui.QMainWindow):
self.obj_Mainview.obj_projectExplorer.addTreeNode(directory, filelist)
else:
- print "No project created"
+ print "No new project created"
self.obj_appconfig.print_info('No new project created')
try:
self.obj_appconfig.print_info('Current project is : ' + self.obj_appconfig.current_project["ProjectName"])
@@ -215,7 +214,7 @@ class Application(QtGui.QMainWindow):
"""
This project call Open Project Info class
"""
- print "Open Project called"
+ print "Function : Open Project"
self.project = OpenProjectInfo()
try:
@@ -228,9 +227,9 @@ class Application(QtGui.QMainWindow):
def help_project(self):
- print "Help is called"
+ print "Function : Help"
self.obj_appconfig.print_info('Help is called')
- print "Current Project : ",self.obj_appconfig.current_project
+ print "Current Project is : ",self.obj_appconfig.current_project
self.obj_Mainview.obj_dockarea.usermanual()
@@ -250,9 +249,10 @@ class Application(QtGui.QMainWindow):
self.obj_Mainview.obj_dockarea.plottingEditor()
except Exception as e:
self.msg = QtGui.QErrorMessage(None)
- self.msg.showMessage('Error while opening python plotting Editor.')
- print "Exception:",str(e)
- self.obj_appconfig.print_error('Exception generated : ' + str(e))
+ self.msg.showMessage('Error while opening python plotting Editor.\
+ Please look at console for more details ')
+ print "Exception Message:",str(e)
+ self.obj_appconfig.print_error('Exception Message : ' + str(e))
self.msg.setWindowTitle("Error Message")
else:
@@ -261,12 +261,12 @@ class Application(QtGui.QMainWindow):
self.msg.setWindowTitle("Error Message")
def open_subcircuit(self):
- print "Subcircuit editor is called"
+ print "Function : Subcircuit editor"
self.obj_appconfig.print_info('Subcircuit editor is called')
self.obj_Mainview.obj_dockarea.subcircuiteditor()
def open_nghdl(self):
- print "Nghdl is called"
+ print "Function : Nghdl"
self.obj_appconfig.print_info('Nghdl is called')
if self.obj_validation.validateTool('nghdl'):
@@ -282,8 +282,8 @@ class Application(QtGui.QMainWindow):
def open_modelEditor(self):
- print "model editor is called"
- self.obj_appconfig.print_info('model editor is called')
+ print "Function : Model editor"
+ self.obj_appconfig.print_info('Model editor is called')
self.obj_Mainview.obj_dockarea.modelEditor()
@@ -341,7 +341,7 @@ class Application(QtGui.QMainWindow):
def open_OMoptim(self):
- print "OM Optim is called"
+ print "Function : OM Optim"
self.obj_appconfig.print_info('OM Optim is called')
#Check if OMOptim is installed
if self.obj_validation.validateTool("OMOptim"):
diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py
index 4cc6db54..6c96227a 100644
--- a/src/frontEnd/ProjectExplorer.py
+++ b/src/frontEnd/ProjectExplorer.py
@@ -130,7 +130,6 @@ class ProjectExplorer(QtGui.QWidget):
filename= self.indexItem.data().toString()
self.filePath= str(self.indexItem.sibling(self.indexItem.row(), 1).data().toString())
filelistnew= os.listdir(os.path.join(self.filePath))
- print filelistnew
parentnode = self.treewidget.currentItem()
count = parentnode.childCount()
for i in range(count):
diff --git a/src/frontEnd/Workspace.py b/src/frontEnd/Workspace.py
index 3e3cf0de..7cefa6c6 100644
--- a/src/frontEnd/Workspace.py
+++ b/src/frontEnd/Workspace.py
@@ -75,7 +75,7 @@ class Workspace(QtGui.QWidget):
def defaultWorkspace(self):
- print "Default location selected"
+ print "Default workspace selected : "+self.obj_appconfig.default_workspace["workspace"]
self.imp_var=1
self.obj_appconfig.print_info('Default workspace selected : ' + self.obj_appconfig.default_workspace["workspace"])
self.close()
@@ -89,8 +89,6 @@ class Workspace(QtGui.QWidget):
def close(self, *args, **kwargs):
self.window_open_close=1
self.close_var=1
- #with var_cond:
- # var_cond.notify()
return QtGui.QWidget.close(self, *args, **kwargs)
@@ -98,17 +96,14 @@ class Workspace(QtGui.QWidget):
global var_appView
var_appView=appView
-
-
+
def createWorkspace(self):
- print "Create workspace is called"
+ print "Function : Create workspace"
self.create_workspace = str(self.workspace_loc.text())
self.obj_appconfig.print_info('Workspace : ' + self.create_workspace)
#Checking if Workspace already exist or not
if os.path.isdir(self.create_workspace):
- print "Already present"
self.obj_appconfig.default_workspace["workspace"] = self.create_workspace
-
else:
os.mkdir(self.create_workspace)
self.obj_appconfig.default_workspace["workspace"] = self.create_workspace
@@ -120,8 +115,7 @@ class Workspace(QtGui.QWidget):
def browseLocation(self):
- print "Browse Location called"
+ print "Function : Browse Location"
self.workspace_directory = QtGui.QFileDialog.getExistingDirectory(self, "Browse Location",os.path.expanduser("~"))
- print "Path file :", self.workspace_directory
self.workspace_loc.setText(self.workspace_directory)
\ No newline at end of file
diff --git a/src/kicadtoNgspice/Analysis.py b/src/kicadtoNgspice/Analysis.py
index 9ce4342b..a573c540 100644
--- a/src/kicadtoNgspice/Analysis.py
+++ b/src/kicadtoNgspice/Analysis.py
@@ -2,7 +2,6 @@
from PyQt4 import QtGui
import TrackWidget
import os
-import sys
from xml.etree import ElementTree as ET
class Analysis(QtGui.QWidget):
@@ -36,12 +35,11 @@ class Analysis(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
if os.path.isfile(os.path.join(projpath, 'analysis')):
- print "analysis present"
+ print "Analysis file is present"
analysisfile = open(os.path.join(projpath,'analysis'))
content = analysisfile.readline()
- print "content", content
+ print "Content of Analysis file :", content
contentlist= content.split()
- print "contenlist", contentlist
if contentlist[0]== '.ac':
self.checkAC.setChecked(True)
self.acbox.setDisabled(False)
@@ -64,7 +62,6 @@ class Analysis(QtGui.QWidget):
self.acbox.setDisabled(True)
self.trbox.setDisabled(True)
self.track_obj.set_CheckBox["ITEMS"]="DC"
- #self.enableBox()
elif contentlist[0]== '.tran':
self.checkTRAN.setChecked(True)
@@ -81,10 +78,8 @@ class Analysis(QtGui.QWidget):
self.check.setChecked(True)
except:
self.checkTRAN.setChecked(True)
- #self.trbox.setDisabled(False)
self.track_obj.set_CheckBox["ITEMS"]="TRAN"
-
-
+
self.setLayout(self.grid)
self.show()
@@ -101,24 +96,15 @@ class Analysis(QtGui.QWidget):
self.checkgroupbtn.addButton(self.checkDC)
self.checkgroupbtn.addButton(self.checkTRAN)
self.checkgroupbtn.setExclusive(True)
- #self.checkAC.setChecked(True)
self.checkgroupbtn.buttonClicked.connect(self.enableBox)
self.checkgrid.addWidget(self.checkAC,0,0)
self.checkgrid.addWidget(self.checkDC,0,1)
self.checkgrid.addWidget(self.checkTRAN,0,2)
self.checkbox.setLayout(self.checkgrid)
-
- #CSS
- '''
- self.checkbox.setStyleSheet(" \
- QGroupBox { border: 1px solid gray; border-radius: 9px; margin-top: 0.5em; } \
- QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; } \
- ")
- '''
-
+
return self.checkbox
- #return self.checkgroupbtn
+
def enableBox(self):
if self.checkAC.isChecked():
@@ -143,7 +129,6 @@ class Analysis(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -154,7 +139,7 @@ class Analysis(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "AC Previous Values XML is Empty"
self.acbox = QtGui.QGroupBox()
self.acbox.setTitle("AC Analysis")
@@ -174,7 +159,6 @@ class Analysis(QtGui.QWidget):
self.acgrid.addWidget(self.Lin,1,1)
self.acgrid.addWidget(self.Dec,1,2)
self.acgrid.addWidget(self.Oct,1,3)
- #self.acbox.setDisabled(True)
self.acbox.setLayout(self.acgrid)
self.scale = QtGui.QLabel("Scale")
@@ -214,8 +198,7 @@ class Analysis(QtGui.QWidget):
except:
self.ac_parameter[self.parameter_cnt]= "Hz"
self.start_fre_combo.activated[str].connect(self.start_combovalue)
-
-
+
self.parameter_cnt=self.parameter_cnt + 1
self.stop_fre_combo = QtGui.QComboBox()
self.stop_fre_combo.addItem("Hz")
@@ -265,7 +248,7 @@ class Analysis(QtGui.QWidget):
index=self.stop_fre_combo.findText(root[0][7].text)
self.stop_fre_combo.setCurrentIndex(index)
except:
- print "XML Parse Error"
+ print "AC Analysis XML Parse Error"
return self.acbox
@@ -290,7 +273,6 @@ class Analysis(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -301,7 +283,7 @@ class Analysis(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "DC Previous Values XML is empty"
self.dcbox = QtGui.QGroupBox()
self.dcbox.setTitle("DC Analysis")
@@ -371,7 +353,6 @@ class Analysis(QtGui.QWidget):
self.dcgrid.addWidget(self.dc_entry_var[self.count],8,1)
self.dc_entry_var[self.count].setMaximumWidth(150)
-
self.parameter_cnt=0
self.start_combo=QtGui.QComboBox(self)
self.start_combo.setMaximumWidth(150)
@@ -464,7 +445,6 @@ class Analysis(QtGui.QWidget):
self.stop_combo2.activated[str].connect(self.stop_changecombo2)
self.parameter_cnt= self.parameter_cnt+1
-
self.check=QtGui.QCheckBox('Operating Point Analysis',self)
try:
self.track_obj.op_check.append(str(root[1][4].text()))
@@ -511,7 +491,7 @@ class Analysis(QtGui.QWidget):
else:
self.check.setChecked(False)
except:
- print "XML Parse Error"
+ print "DC Analysis XML Parse Error"
return self.dcbox
@@ -543,7 +523,6 @@ class Analysis(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -554,7 +533,7 @@ class Analysis(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "Transient Previous Values XML is Empty"
self.trbox = QtGui.QGroupBox()
self.trbox.setTitle("Transient Analysis")
@@ -647,7 +626,7 @@ class Analysis(QtGui.QWidget):
index=self.stop_combobox.findText(root[2][5].text)
self.stop_combobox.setCurrentIndex(index)
except:
- print "XML Parse Error"
+ print "Transient Analysis XML Parse Error"
return self.trbox
diff --git a/src/kicadtoNgspice/Convert.py b/src/kicadtoNgspice/Convert.py
index 78a39c2f..c7e03210 100644
--- a/src/kicadtoNgspice/Convert.py
+++ b/src/kicadtoNgspice/Convert.py
@@ -1,7 +1,6 @@
from PyQt4 import QtGui
import os
-import sys
import shutil
import TrackWidget
from xml.etree import ElementTree as ET
@@ -11,7 +10,6 @@ class Convert:
This class has all the necessary function required to convert kicad netlist to ngspice netlist.
"""
def __init__(self,sourcelisttrack,source_entry_var,schematicInfo,clarg1):
- print "Start Conversion"
self.sourcelisttrack = sourcelisttrack
self.schematicInfo = schematicInfo
self.entry_var = source_entry_var
@@ -23,10 +21,7 @@ class Convert:
"""
This function add the source details to schematicInfo
"""
- #print "Adding Source parameter"
- #print "SourceListTrack : ",self.sourcelisttrack
- #print "Schematic Info ",self.schematicInfo
- #print "Entry Var",self.entry_var
+
self.start = 0
self.end = 0
@@ -207,8 +202,6 @@ class Convert:
#print "Model Track :",line
if line[2] == 'transfo':
try:
- print "Transformer-------------->"
- print "Line ---------->",line
start=line[7]
end=line[8]
num_turns=str(self.obj_track.model_entry_var[start].text())
@@ -307,20 +300,16 @@ class Convert:
schematicInfo.append(item[2]) #Adding Comment
schematicInfo.append(item[1]) #Adding model line
- print "Schematic Info after ngspice Model------->",schematicInfo
- print "Model Parameter Value ",modelParamValue
return schematicInfo
def addDeviceLibrary(self,schematicInfo,kicadFile):
"""
This function add the library details to schematicInfo
"""
- print "Adding Device library to Schematic info file"
-
+
(projpath,filename) = os.path.split(kicadFile)
- print "Project Path",projpath
-
+
deviceLibList = self.obj_track.deviceModelTrack
deviceLine = {} #Key:Index, Value:with its updated line in the form of list
includeLine = [] #All .include line list
@@ -392,15 +381,13 @@ class Convert:
"""
This function add the subcircuit to schematicInfo
"""
- print "Adding Subcircuit to Schematic info file"
-
+
(projpath,filename) = os.path.split(kicadFile)
subList = self.obj_track.subcircuitTrack
subLine = {} #Key:Index, Value:with its updated line in the form of list
includeLine = [] #All .include line list
- print "self.obj_track.subcircuitList--->",self.obj_track.subcircuitList
- print "self.obj_track.subcircuitTrack--->",self.obj_track.subcircuitTrack
+
if len(self.obj_track.subcircuitList) != len(self.obj_track.subcircuitTrack):
self.msg = QtGui.QErrorMessage()
self.msg.showMessage("Conversion failed. Please add all Subcircuits.")
diff --git a/src/kicadtoNgspice/DeviceModel.py b/src/kicadtoNgspice/DeviceModel.py
index aaf02f45..a982d05f 100644
--- a/src/kicadtoNgspice/DeviceModel.py
+++ b/src/kicadtoNgspice/DeviceModel.py
@@ -1,5 +1,4 @@
from PyQt4 import QtGui
-import sys
import os
from xml.etree import ElementTree as ET
@@ -18,7 +17,6 @@ class DeviceModel(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -29,7 +27,7 @@ class DeviceModel(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "Device Model Previous XML is Empty"
QtGui.QWidget.__init__(self)
@@ -54,11 +52,12 @@ class DeviceModel(QtGui.QWidget):
#Set Layout
self.grid = QtGui.QGridLayout()
self.setLayout(self.grid)
+ print "Reading Device model details from Schematic"
for eachline in schematicInfo:
words = eachline.split()
if eachline[0] == 'q':
- print "Words ",words[0]
+ print "Device Model Transistor: ",words[0]
self.devicemodel_dict_beg[words[0]]=self.count
transbox=QtGui.QGroupBox()
transgrid=QtGui.QGridLayout()
@@ -77,7 +76,7 @@ class DeviceModel(QtGui.QWidget):
else:
self.entry_var[self.count].setText("")
except:
- print "ERROR WHEN SET TEXT"
+ print "Error when set text of device model transistor"
except:
pass
transgrid.addWidget(self.entry_var[self.count],self.row,1)
@@ -109,7 +108,7 @@ class DeviceModel(QtGui.QWidget):
self.count = self.count+1
elif eachline[0] == 'd':
- print "Words",words[0]
+ print "Device Model Diode:",words[0]
self.devicemodel_dict_beg[words[0]]=self.count
diodebox=QtGui.QGroupBox()
diodegrid=QtGui.QGridLayout()
@@ -120,7 +119,7 @@ class DeviceModel(QtGui.QWidget):
try:
for child in root:
if child.tag[0]==eachline[0] and child.tag[1]==eachline[1]:
- print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
+ #print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
try:
if os.path.exists(child[0].text):
path_name=child[0].text
@@ -128,7 +127,7 @@ class DeviceModel(QtGui.QWidget):
else:
self.entry_var[self.count].setText("")
except:
- print "ERROR WHEN SET TEXT"
+ print "Error when set text of device model diode"
except:
pass
diodegrid.addWidget(self.entry_var[self.count],self.row,1)
@@ -160,7 +159,7 @@ class DeviceModel(QtGui.QWidget):
self.count = self.count+1
elif eachline[0] == 'j':
- print "Words",words[0]
+ print "Device Model JFET:",words[0]
self.devicemodel_dict_beg[words[0]]=self.count
jfetbox=QtGui.QGroupBox()
jfetgrid=QtGui.QGridLayout()
@@ -171,7 +170,7 @@ class DeviceModel(QtGui.QWidget):
try:
for child in root:
if child.tag[0]==eachline[0] and child.tag[1]==eachline[1]:
- print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
+ #print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
try:
if os.path.exists(child[0].text):
self.entry_var[self.count].setText(child[0].text)
@@ -179,7 +178,7 @@ class DeviceModel(QtGui.QWidget):
else:
self.entry_var[self.count].setText("")
except:
- print "ERROR WHEN SET TEXT"
+ print "Error when set text of Device Model JFET "
except:
pass
jfetgrid.addWidget(self.entry_var[self.count],self.row,1)
@@ -269,7 +268,7 @@ class DeviceModel(QtGui.QWidget):
try:
for child in root:
if child.tag[0]==eachline[0] and child.tag[1]==eachline[1]:
- print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
+ #print "DEVICE MODEL MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
while i<=end:
self.entry_var[i].setText(child[i-beg].text)
if (i-beg)==0:
@@ -300,7 +299,7 @@ class DeviceModel(QtGui.QWidget):
"""
This function is use to keep track of all Device Model widget
"""
- print "Calling Track Library funtion"
+ print "Calling Track Device Model Library funtion"
sending_btn = self.sender()
#print "Object Called is ",sending_btn.objectName()
self.widgetObjCount = int(sending_btn.objectName())
@@ -331,7 +330,7 @@ class DeviceModel(QtGui.QWidget):
"""
This function is use to keep track of all Device Model widget
"""
- print "Calling Track Library funtion"
+ print "Calling Track Library function Without Button"
#print "Object Called is ",sending_btn.objectName()
self.widgetObjCount = iter_value
print "self.widgetObjCount-----",self.widgetObjCount
@@ -352,9 +351,7 @@ class DeviceModel(QtGui.QWidget):
if width == "" : width="100u"
if length == "": length="100u"
if multifactor == "": multifactor="1"
-
self.obj_trac.deviceModelTrack[self.deviceName] = self.libfile+":"+"W="+width+" L="+length+" M="+multifactor
-
else:
self.obj_trac.deviceModelTrack[self.deviceName] = self.libfile
diff --git a/src/kicadtoNgspice/KicadtoNgspice.py b/src/kicadtoNgspice/KicadtoNgspice.py
index a8c24893..4215f6f8 100644
--- a/src/kicadtoNgspice/KicadtoNgspice.py
+++ b/src/kicadtoNgspice/KicadtoNgspice.py
@@ -17,7 +17,7 @@
#===============================================================================
import sys
import os
-from PyQt4 import QtGui,QtCore
+from PyQt4 import QtGui
from Processing import PrcocessNetlist
import Analysis
import Source
@@ -49,7 +49,7 @@ class MainWindow(QtGui.QWidget):
self.kicadFile = clarg1
self.clarg1=clarg1
self.clarg2=clarg2
-
+
#Create object of track widget
self.obj_track = TrackWidget.TrackWidget()
@@ -67,31 +67,28 @@ class MainWindow(QtGui.QWidget):
# Read the netlist
kicadNetlist = obj_proc.readNetlist(self.kicadFile)
+ print "Given Kicad Schematic Netlist Info :",kicadNetlist
+
# Construct parameter information
param = obj_proc.readParamInfo(kicadNetlist)
-
+
# Replace parameter with values
netlist,infoline = obj_proc.preprocessNetlist(kicadNetlist,param)
- print "NETLIST ",netlist
- print "INFOLINE",infoline
+ print "Schematic Info after processing Kicad Netlist: ",netlist
+ #print "INFOLINE",infoline
# Separate option and schematic information
optionInfo, schematicInfo = obj_proc.separateNetlistInfo(netlist)
- print "OPTIONINFO",optionInfo
- print "SCHEMATICINFO",schematicInfo
-
-
+ print "OPTIONINFO in the Netlist",optionInfo
+
#List for storing source and its value
global sourcelist, sourcelisttrack
sourcelist=[]
sourcelisttrack=[]
schematicInfo,sourcelist = obj_proc.insertSpecialSourceParam(schematicInfo,sourcelist)
-
- print "SOURCELIST",sourcelist
- print "SCHEMATICINFO",schematicInfo
-
+
#List storing model detail
global modelList,outputOption,unknownModelList,multipleModelList,plotText
@@ -99,10 +96,9 @@ class MainWindow(QtGui.QWidget):
outputOption = []
plotText = []
schematicInfo,outputOption,modelList,unknownModelList,multipleModelList,plotText = obj_proc.convertICintoBasicBlocks(schematicInfo,outputOption,modelList,plotText)
- print "Unknown Model List",unknownModelList
- print "Multiple Model List",multipleModelList
- print "Model List",modelList
-
+
+ print "Model available in the Schematic :",modelList
+
"""
Checking if any unknown model is used in schematic which is not recognized by NgSpice.
Also if the two model of same name is present under modelParamXML directory
@@ -115,7 +111,6 @@ class MainWindow(QtGui.QWidget):
self.msg.setWindowTitle("Unknown Models")
elif multipleModelList:
- print "Multiple Model List is : ",multipleModelList
self.msg = QtGui.QErrorMessage()
self.mcontent = "Look like you have duplicate model in modelParamXML directory "+', '.join(multipleModelList[0])
self.msg.showMessage(self.mcontent)
@@ -124,8 +119,6 @@ class MainWindow(QtGui.QWidget):
else:
self.createMainWindow()
- print "Init Schematic Info",schematicInfo
- initial_schematicInfo = schematicInfo
def createMainWindow(self):
"""
@@ -137,15 +130,10 @@ class MainWindow(QtGui.QWidget):
self.hbox.addStretch(1)
self.convertbtn = QtGui.QPushButton("Convert")
self.convertbtn.clicked.connect(self.callConvert)
- #self.cancelbtn = QtGui.QPushButton("Cancel")
- #self.cancelbtn.clicked.connect(self.closeCancel)
self.hbox.addWidget(self.convertbtn)
self.vbox.addWidget(self.createcreateConvertWidget())
self.vbox.addLayout(self.hbox)
- #self.grid.addWidget(self.cancelbtn,1,1)
-
- #self.setWindowState(QtCore.Qt.WindowMaximized)
self.setLayout(self.vbox)
self.setWindowTitle("Kicad To NgSpice Converter")
self.show()
@@ -194,7 +182,6 @@ class MainWindow(QtGui.QWidget):
self.convertWindow.setLayout(self.mainLayout)
self.convertWindow.show()
-
return self.convertWindow
def callConvert(self):
@@ -207,9 +194,7 @@ class MainWindow(QtGui.QWidget):
store_schematicInfo = list(schematicInfo)
(projpath,filename)=os.path.split(self.kicadFile)
project_name=os.path.basename(projpath)
- print "PROJ PATH---",projpath
-
-
+
check=1
try:
fr=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -255,7 +240,7 @@ class MainWindow(QtGui.QWidget):
ET.SubElement(attr_dc,"field2",name="Start").text= str(obj_analysis.dc_entry_var[1].text())
ET.SubElement(attr_dc,"field3",name="Increment").text= str(obj_analysis.dc_entry_var[2].text())
ET.SubElement(attr_dc,"field4",name="Stop").text= str(obj_analysis.dc_entry_var[3].text())
- print "OBJ_ANALYSIS.CHECK -----",self.obj_track.op_check[-1]
+ #print "OBJ_ANALYSIS.CHECK -----",self.obj_track.op_check[-1]
ET.SubElement(attr_dc,"field5",name="Operating Point").text=str(self.obj_track.op_check[-1])
ET.SubElement(attr_dc,"field6",name="Start Combo").text= obj_analysis.dc_parameter[0]
ET.SubElement(attr_dc,"field7",name="Increment Combo").text=obj_analysis.dc_parameter[1]
@@ -276,12 +261,8 @@ class MainWindow(QtGui.QWidget):
ET.SubElement(attr_tran,"field4",name="Start Combo").text= obj_analysis.tran_parameter[0]
ET.SubElement(attr_tran,"field5",name="Step Combo").text= obj_analysis.tran_parameter[1]
ET.SubElement(attr_tran,"field6",name="Stop Combo").text= obj_analysis.tran_parameter[2]
- print "TRAN PARAMETER 2-----",obj_analysis.tran_parameter[2]
-
- #tree=ET.ElementTree(attr_analysis)
- #tree.write(f)
-
-
+ #print "TRAN PARAMETER 2-----",obj_analysis.tran_parameter[2]
+
if check==0:
attr_source=ET.SubElement(attr_parent,"source")
if check==1:
@@ -290,8 +271,7 @@ class MainWindow(QtGui.QWidget):
attr_source=child
count=1
grand_child_count=1
- #global tmp_check
- #tmp_check=0
+
for i in store_schematicInfo:
tmp_check=0
words=i.split(' ')
@@ -369,11 +349,7 @@ class MainWindow(QtGui.QWidget):
else:
pass
- #tree=ET.ElementTree(attr_source)
- #tree.write(f1)
-
-
-
+
if check==0:
attr_model=ET.SubElement(attr_parent,"model")
if check==1:
@@ -386,7 +362,6 @@ class MainWindow(QtGui.QWidget):
#tmp_i is the iterator in case duplicates are there; then in that case we need to replace only the child node and not create a new parent node
for line in modelList:
- print "i for each line in model List------",i
tmp_check=0
for rand_itr in obj_model.obj_trac.modelTrack:
if rand_itr[2]==line[2] and rand_itr[3]==line[3]:
@@ -398,9 +373,7 @@ class MainWindow(QtGui.QWidget):
for grand_child in child:
if i<=end:
grand_child.text=str(obj_model.obj_trac.model_entry_var[i].text())
- print "STR OF MODEL----",str(obj_model.obj_trac.model_entry_var[i].text())
i=i+1
- print "i incremented to ",i
else:
pass
tmp_check=1
@@ -412,15 +385,13 @@ class MainWindow(QtGui.QWidget):
if hasattr(value, '__iter__') and i<=end:
for item in value:
ET.SubElement(attr_ui,"field"+str(i+1),name=item).text=str(obj_model.obj_trac.model_entry_var[i].text())
- print "STR OF MODEL----",str(obj_model.obj_trac.model_entry_var[i].text())
i=i+1
- print "i incremented to ",i
+
else:
ET.SubElement(attr_ui,"field"+str(i+1),name=value).text=str(obj_model.obj_trac.model_entry_var[i].text())
- print "STR OF MODEL----",str(obj_model.obj_trac.model_entry_var[i].text())
+
i=i+1
- print "i incremented to ",i
- #################################################################################################################
+
if check==0:
attr_devicemodel=ET.SubElement(attr_parent,"devicemodel")
if check==1:
@@ -428,9 +399,8 @@ class MainWindow(QtGui.QWidget):
if child.tag=="devicemodel":
del child[:]
attr_devicemodel=child
- #print "Device model dict",obj_devicemodel.devicemodel_dict_beg
- #print "Device model dict end",obj_devicemodel.devicemodel_dict_end
- ##########################
+
+
for i in obj_devicemodel.devicemodel_dict_beg:
attr_var=ET.SubElement(attr_devicemodel,i)
it=obj_devicemodel.devicemodel_dict_beg[i]
@@ -446,7 +416,7 @@ class MainWindow(QtGui.QWidget):
if child.tag=="subcircuit":
del child[:]
attr_subcircuit=child
- ##########################
+
for i in obj_subcircuitTab.subcircuit_dict_beg:
attr_var=ET.SubElement(attr_subcircuit,i)
it=obj_subcircuitTab.subcircuit_dict_beg[i]
@@ -468,15 +438,19 @@ class MainWindow(QtGui.QWidget):
try:
#Adding Source Value to Schematic Info
store_schematicInfo = self.obj_convert.addSourceParameter()
+ print "Netlist After Adding Source details :",store_schematicInfo
#Adding Model Value to store_schematicInfo
store_schematicInfo = self.obj_convert.addModelParameter(store_schematicInfo)
-
+ print "Netlist After Adding Ngspice Model :",store_schematicInfo
+
#Adding Device Library to SchematicInfo
store_schematicInfo = self.obj_convert.addDeviceLibrary(store_schematicInfo,self.kicadFile)
+ print "Netlist After Adding Device Model Library :",store_schematicInfo
#Adding Subcircuit Library to SchematicInfo
store_schematicInfo = self.obj_convert.addSubcircuit(store_schematicInfo, self.kicadFile)
+ print "Netlist After Adding subcircuits :",store_schematicInfo
analysisoutput = self.obj_convert.analysisInsertor(self.obj_track.AC_entry_var["ITEMS"],
self.obj_track.DC_entry_var["ITEMS"],
@@ -487,18 +461,15 @@ class MainWindow(QtGui.QWidget):
self.obj_track.TRAN_Parameter["ITEMS"],
self.obj_track.AC_type["ITEMS"],
self.obj_track.op_check)
- #print "SchematicInfo after adding Model Details",schematicInfo
-
- print "Analysis OutPut------>",analysisoutput
+
+ print "Analysis OutPut ",analysisoutput
#Calling netlist file generation function
self.createNetlistFile(store_schematicInfo,plotText)
self.msg = "The Kicad to Ngspice Conversion completed successfully!!!!!!"
QtGui.QMessageBox.information(self, "Information", self.msg, QtGui.QMessageBox.Ok)
- #self.obj_track.subcircuitList[:]=[]
- #self.obj_track.modelTrack[:]=[]
- #self.close()
+
except Exception as e:
print "Exception Message: ",e
print "There was error while converting kicad to ngspice"
@@ -585,7 +556,7 @@ class MainWindow(QtGui.QWidget):
out.writelines(infoline)
out.writelines('\n')
sections=[simulatorOption, initialCondOption, store_schematicInfo, analysisOption]
- print "SECTIONS",sections
+
for section in sections:
if len(section) == 0:
continue
diff --git a/src/kicadtoNgspice/Model.py b/src/kicadtoNgspice/Model.py
index c7ca7b47..25a23d8c 100644
--- a/src/kicadtoNgspice/Model.py
+++ b/src/kicadtoNgspice/Model.py
@@ -3,7 +3,6 @@ from PyQt4 import QtGui
import TrackWidget
from xml.etree import ElementTree as ET
-import sys
import os
@@ -21,7 +20,6 @@ class Model(QtGui.QWidget):
kicadFile = clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- #print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -32,7 +30,7 @@ class Model(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "Model Previous Values XML is Empty"
@@ -101,7 +99,7 @@ class Model(QtGui.QWidget):
self.nextcount = self.nextcount+1
self.nextrow = self.nextrow+1
self.end= self.nextcount-1
- print "End",self.end
+ #print "End",self.end
modelbox.setLayout(modelgrid)
#CSS
@@ -134,7 +132,7 @@ class Model(QtGui.QWidget):
if check==0:
self.obj_trac.modelTrack.append(lst)
- print "The tag dictionary : ",tag_dict
+ #print "The tag dictionary : ",tag_dict
diff --git a/src/kicadtoNgspice/Processing.py b/src/kicadtoNgspice/Processing.py
index 55c7b702..fd9795e6 100644
--- a/src/kicadtoNgspice/Processing.py
+++ b/src/kicadtoNgspice/Processing.py
@@ -84,6 +84,8 @@ class PrcocessNetlist:
#Inser Special source parameter
schematicInfo1=[]
+ print "Reading schematic info for source details"
+
for compline in schematicInfo:
words=compline.split()
compName=words[0]
@@ -147,12 +149,13 @@ class PrcocessNetlist:
schematicInfo1.append(compName+" "+words[1]+" "+words[2]+" "+"V"+compName+" "+words[5])
schematicInfo=schematicInfo+schematicInfo1
- #print sourcelist
+ print "Source List : ",sourcelist
#print schematicInfo
return schematicInfo,sourcelist
def convertICintoBasicBlocks(self,schematicInfo,outputOption,modelList,plotText):
+ print "Reading Schematic info for Model"
#Insert details of Ngspice model
unknownModelList = []
multipleModelList = []
@@ -162,8 +165,8 @@ class PrcocessNetlist:
for compline in schematicInfo:
words = compline.split()
compName = words[0]
- print "Compline----------------->",compline
- print "compName-------------->",compName
+ #print "Compline----------------->",compline
+ #print "compName-------------->",compName
# Find the IC from schematic
if compName[0]=='u' or compName[0] == 'U':
# Find the component from the circuit
@@ -174,10 +177,10 @@ class PrcocessNetlist:
#e.g compLine : u1 1 2 gain
#compType : gain
#compName : u1
- print "Compline",compline
- print "CompType",compType
- print "Words",words
- print "compName",compName
+ #print "Compline",compline
+ #print "CompType",compType
+ #print "Words",words
+ #print "compName",compName
#Looking if model file is present
if compType != "port" and compType != "ic" and compType not in plotList and compType != 'transfo':
xmlfile = compType+".xml" #XML Model File
@@ -196,7 +199,7 @@ class PrcocessNetlist:
unknownModelList.append(compType)
elif count == 1:
try:
- print "Start Parsing :",modelPath
+ print "Start Parsing Previous Values XML for ngspice model :",modelPath
tree = ET.parse(modelPath[0])
root = tree.getroot()
@@ -220,7 +223,7 @@ class PrcocessNetlist:
#print "Tags ",item.tag
#print "Value",item.text
if 'vector'in item.attrib:
- print "Tag having vector attribute",item.tag,item.attrib['vector']
+ #print "Tag having vector attribute",item.tag,item.attrib['vector']
temp_count = 1
temp_list = []
for i in range(0,int(item.attrib['vector'])):
@@ -238,9 +241,9 @@ class PrcocessNetlist:
paramDict[item.tag] = item.text
- print "Number of Nodes : ",num_of_nodes
- print "Title : ",title
- print "Parameters",paramDict
+ #print "Number of Nodes : ",num_of_nodes
+ #print "Title : ",title
+ #print "Parameters",paramDict
#Creating line for adding model line in schematic
if splitDetail == 'None':
modelLine = "a"+str(k)+" "
@@ -252,12 +255,12 @@ class PrcocessNetlist:
print "Split Details :",splitDetail
modelLine = "a"+str(k)+" "
vectorDetail = splitDetail.split(':')
- print "Vector Details",vectorDetail
+ #print "Vector Details",vectorDetail
pos = 1 #Node position
for item in vectorDetail:
try:
if item.split("-")[1] == 'V':
- print "Vector"
+ #print "Vector"
if compType == "aswitch":
modelLine += "("
for i in range(0,int(item.split("-")[0])):
@@ -271,7 +274,7 @@ class PrcocessNetlist:
pos += 1
modelLine += "] "
elif item.split("-")[1] == 'NV':
- print "Non Vector"
+ #print "Non Vector"
for i in range(0,int(item.split("-")[0])):
modelLine += words[pos]+" "
pos += 1
@@ -281,7 +284,7 @@ class PrcocessNetlist:
sys.exit(2)
modelLine += compName
- print "Final Model Line :",modelLine
+ #print "Final Model Line :",modelLine
try:
schematicInfo.append(modelLine)
k=k+1
@@ -348,11 +351,9 @@ class PrcocessNetlist:
else:
schematicInfo.insert(index,"* "+compline)
-
-
- #print "Count",count
- #print "UnknownModelList",unknownModelList
- #print "MultipleModelList",multipleModelList
+ print "UnknownModelList Used in the Schematic",unknownModelList
+ print "Multiple Model XML file with same name ",multipleModelList
+ print "Model List Details : ",modelList
return schematicInfo,outputOption,modelList,unknownModelList,multipleModelList,plotText
diff --git a/src/kicadtoNgspice/Source.py b/src/kicadtoNgspice/Source.py
index c1bec121..1cf1487d 100644
--- a/src/kicadtoNgspice/Source.py
+++ b/src/kicadtoNgspice/Source.py
@@ -1,12 +1,8 @@
-import sys
import os
from PyQt4 import QtGui
-from Processing import PrcocessNetlist
import TrackWidget
from xml.etree import ElementTree as ET
-
-
class Source(QtGui.QWidget):
"""
This class create Source Tab of KicadtoNgSpice Window.
@@ -36,7 +32,6 @@ class Source(QtGui.QWidget):
kicadFile = self.clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -47,7 +42,7 @@ class Source(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "Source Previous Values XML is Empty"
self.grid = QtGui.QGridLayout()
self.setLayout(self.grid)
@@ -56,7 +51,7 @@ class Source(QtGui.QWidget):
if sourcelist:
for line in sourcelist:
#print "Voltage source line index: ",line[0]
- print "SourceList line Test: ",line
+ print "SourceList line: ",line
track_id=line[0]
#print "track_id is ",track_id
if line[2]=='ac':
@@ -277,7 +272,6 @@ class Source(QtGui.QWidget):
self.row=self.row+1
self.count=self.count+1
self.end=self.count-1
- print "End",self.end
expbox.setLayout(expgrid)
#CSS
diff --git a/src/kicadtoNgspice/SubcircuitTab.py b/src/kicadtoNgspice/SubcircuitTab.py
index fa51ac6a..e7a9ed66 100644
--- a/src/kicadtoNgspice/SubcircuitTab.py
+++ b/src/kicadtoNgspice/SubcircuitTab.py
@@ -3,11 +3,8 @@ from PyQt4 import QtGui
import TrackWidget
from projManagement import Validation
import os
-import sys
from xml.etree import ElementTree as ET
-
-
class SubcircuitTab(QtGui.QWidget):
"""
This class creates Subcircuit Tab in KicadtoNgspice Window
@@ -15,11 +12,9 @@ class SubcircuitTab(QtGui.QWidget):
"""
def __init__(self,schematicInfo,clarg1):
-
kicadFile = clarg1
(projpath,filename)=os.path.split(kicadFile)
project_name=os.path.basename(projpath)
- print "PROJECT NAME---------",project_name
check=1
try:
f=open(os.path.join(projpath,project_name+"_Previous_Values.xml"),'r')
@@ -30,7 +25,7 @@ class SubcircuitTab(QtGui.QWidget):
root=child
except:
check=0
- print "Empty XML"
+ print "Subcircuit Previous values XML is Empty"
QtGui.QWidget.__init__(self)
@@ -58,7 +53,7 @@ class SubcircuitTab(QtGui.QWidget):
for eachline in schematicInfo:
words = eachline.split()
if eachline[0] == 'x':
- print "Words",words[0]
+ print "Subcircuit : Words",words[0]
self.obj_trac.subcircuitList[project_name+words[0]]=words
self.subcircuit_dict_beg[words[0]]=self.count
subbox=QtGui.QGroupBox()
@@ -69,7 +64,6 @@ class SubcircuitTab(QtGui.QWidget):
global path_name
try:
- print "ROOT ----===-=-",root
for child in root:
if child.tag[0]==eachline[0] and child.tag[1]==eachline[1]:
print "Subcircuit MATCHING---",child.tag[0],child.tag[1],eachline[0],eachline[1]
@@ -80,9 +74,9 @@ class SubcircuitTab(QtGui.QWidget):
else:
self.entry_var[self.count].setText("")
except:
- print "ERROR WHEN SET TEXT"
+ print "Error when set text of subcircuit"
except:
- print "ERROR BEFORE Subcircuit"
+ print "Error before subcircuit"
subgrid.addWidget(self.entry_var[self.count],self.row,1)
@@ -91,7 +85,7 @@ class SubcircuitTab(QtGui.QWidget):
#Send the number of ports specified with the given subcircuit for verification.
#eg. If the line is 'x1 4 0 3 ua741', there are 3 ports(4, 0 and 3).
self.numPorts.append(len(words)-2)
- print "NUMPORTS",self.numPorts
+ print "Number of ports of sub circuit : ",self.numPorts
self.addbtn.clicked.connect(self.trackSubcircuit)
subgrid.addWidget(self.addbtn,self.row,2)
subbox.setLayout(subgrid)
@@ -125,7 +119,6 @@ class SubcircuitTab(QtGui.QWidget):
"""
This function is use to keep track of all Subcircuit widget
"""
- print "Calling Track Subcircuit function"
sending_btn = self.sender()
#print "Object Called is ",sending_btn.objectName()
self.widgetObjCount = int(sending_btn.objectName())
diff --git a/src/modelEditor/ModelEditor.py b/src/modelEditor/ModelEditor.py
index 2015798d..76c3e10f 100644
--- a/src/modelEditor/ModelEditor.py
+++ b/src/modelEditor/ModelEditor.py
@@ -107,12 +107,7 @@ class ModelEditorclass(QtGui.QWidget):
def diode_click(self):
self.openfiletype('Diode')
self.types.setHidden(True)
- '''
- self.types.clear()
- self.types.addItem('Diode')
- filetype = str(self.types.currentText())
- self.types.activated[str].connect(self.setfiletype)
- '''
+
def bjt_click(self):
self.types.setHidden(False)
self.types.clear()
@@ -156,18 +151,15 @@ class ModelEditorclass(QtGui.QWidget):
def magnetic_click(self):
self.openfiletype('Magnetic Core')
self.types.setHidden(True)
- '''
- self.types.clear()
- self.types.addItem('Magnetic Core')
- filetype = str(self.types.currentText())
- self.types.activated[str].connect(self.setfiletype)
- '''
+
def setfiletype(self,text):
self.filetype = str(text)
self.openfiletype(self.filetype)
- '''Select the path of the file to be opened depending upon selected file type '''
def openfiletype(self,filetype):
+ '''
+ Select the path of the file to be opened depending upon selected file type
+ '''
self.path = '../deviceModelLibrary/Templates'
if self.diode.isChecked():
if filetype == 'Diode':
@@ -235,11 +227,13 @@ class ModelEditorclass(QtGui.QWidget):
self.editfile=str(QtGui.QFileDialog.getOpenFileName(self,"Open Library Directory","../deviceModelLibrary","*.lib"))
self.createtable(self.editfile)
except:
- print"no file selected"
+ print"No File selected for edit"
pass
- '''Creates the model table by parsing th .xml file '''
def createtable(self, modelfile):
+ '''
+ This function Creates the model table by parsing the .xml file
+ '''
self.savebtn.setDisabled(False)
self.addbtn.setHidden(False)
self.removebtn.setHidden(False)
@@ -252,13 +246,9 @@ class ModelEditorclass(QtGui.QWidget):
self.modeltable.resize(200,200)
self.grid.addWidget(self.modeltable, 3,2,8,2)
filepath, filename = os.path.split(self.modelfile)
- print"file selected is",filename
- print filepath
base, ext= os.path.splitext(filename)
- print base
- print ext
self.modelfile = os.path.join(filepath, base+'.xml')
- print"modelfile",self.modelfile
+ print"Model File used for creating table : ",self.modelfile
self.tree = ET.parse(self.modelfile)
self.root= self.tree.getroot()
for elem in self.tree.iter(tag='ref_model'):
@@ -296,8 +286,11 @@ class ModelEditorclass(QtGui.QWidget):
except:
pass
- ''' new parameters can be added in the table '''
+
def addparameters(self):
+ '''
+ This function is used to add new parameter in the table
+ '''
text1, ok = QtGui.QInputDialog.getText(self, 'Parameter','Enter Parameter')
if ok:
if text1 in self.modeldict.keys():
@@ -324,8 +317,11 @@ class ModelEditorclass(QtGui.QWidget):
else:
self.savethefile(self.editfile)
- '''creates an .xml an .lib files from the model table'''
+
def createXML(self,model_name):
+ '''
+ This function creates .xml and .lib files from the model table
+ '''
root = ET.Element("library")
ET.SubElement(root, "model_name").text = model_name
ET.SubElement(root, "ref_model").text = self.modelname
@@ -398,8 +394,11 @@ class ModelEditorclass(QtGui.QWidget):
txtfile.close()
os.chdir(defaultcwd)
- '''Checks if the file with the name already exists'''
+
def validation(self,text):
+ '''
+ This function checks if the file with the name already exists
+ '''
newfilename = text+'.xml'
all_dir = [x[0] for x in os.walk(self.savepathtest)]
@@ -410,9 +409,11 @@ class ModelEditorclass(QtGui.QWidget):
self.msg.showMessage('The file with name ' + text+ ' already exists.')
self.msg.setWindowTitle("Error Message")
- '''save the editing in the model table '''
+
def savethefile(self,editfile):
-
+ '''
+ This function save the editing in the model table
+ '''
xmlpath, file = os.path.split(editfile)
filename = os.path.splitext(file)[0]
libpath = os.path.join(xmlpath,filename+'.lib')
@@ -457,7 +458,6 @@ class ModelEditorclass(QtGui.QWidget):
for words in filedata:
modelcount= modelcount +1
if words.lower() == '.model':
- print "model found"
break
ref_model = filedata[modelcount]
model_name = filedata[modelcount+1]
@@ -534,8 +534,6 @@ class ModelEditorclass(QtGui.QWidget):
defaultcwd = os.getcwd()
savepath = os.path.join(self.savepathtest, 'User Libraries')
savefilepath= os.path.join(savepath, model_name +".xml")
- #self.obj_valid.validateNewproj(savepath)
- #self.reply = self.obj_valid.validateNewproj(savefilepath)
os.chdir(savepath)
text, ok1 = QtGui.QInputDialog.getText(self, 'Model Name','Enter Model Library Name')
if ok1:
diff --git a/src/ngspiceSimulation/NgspiceWidget.py b/src/ngspiceSimulation/NgspiceWidget.py
index 402c20e3..ee4dafe7 100644
--- a/src/ngspiceSimulation/NgspiceWidget.py
+++ b/src/ngspiceSimulation/NgspiceWidget.py
@@ -14,7 +14,8 @@ class NgspiceWidget(QtGui.QWidget):
self.terminal = QtGui.QWidget(self)
self.layout = QtGui.QVBoxLayout(self)
self.layout.addWidget(self.terminal)
- print"command-------->", command
+
+ print "Argument to ngspice command : ",command
if platform.system() == 'Linux':
self.command = "cd "+projPath+";ngspice "+command
diff --git a/src/ngspiceSimulation/pythonPlotting.py b/src/ngspiceSimulation/pythonPlotting.py
index 9cfc7812..dd0ca532 100644
--- a/src/ngspiceSimulation/pythonPlotting.py
+++ b/src/ngspiceSimulation/pythonPlotting.py
@@ -11,10 +11,10 @@ import numpy as np
class plotWindow(QtGui.QMainWindow):
def __init__(self,fpath,projectName):
QtGui.QMainWindow.__init__(self)
- self.fpath = fpath#+".cir.out"
+ self.fpath = fpath
self.projectName = projectName
self.obj_appconfig = Appconfig()
- print "Path : ",self.fpath
+ print "Complete Project Path : ",self.fpath
print "Project Name : ",self.projectName
self.obj_appconfig.print_info('Ngspice simulation is called : ' + self.fpath)
self.obj_appconfig.print_info('PythonPlotting is called : ' + self.fpath)
@@ -183,18 +183,15 @@ class plotWindow(QtGui.QMainWindow):
self.setCentralWidget(self.mainFrame)
def pushedClear(self):
- #print "Calling Clear Canvas function"
self.text.clear()
self.axes.cla()
self.canvas.draw()
QtCore.SLOT('quit()')
def pushedPlotFunc(self):
- #print "Calling Plot function"
self.parts = str(self.text.text())
self.parts = self.parts.split(" ")
- #print "Parts :",self.parts
-
+
if self.parts[len(self.parts)-1] == '':
self.parts = self.parts[0:-1]
@@ -335,7 +332,6 @@ class plotWindow(QtGui.QMainWindow):
def onPush_ac(self):
- #print "Calling on push ac"
self.axes.cla()
boxCheck = 0
for i,j in zip(self.chkbox,range(len(self.chkbox))):
@@ -353,7 +349,6 @@ class plotWindow(QtGui.QMainWindow):
self.canvas.draw()
def onPush_trans(self):
- #print "Calling on push trans"
self.axes.cla()
boxCheck = 0
for i,j in zip(self.chkbox,range(len(self.chkbox))):
@@ -372,7 +367,6 @@ class plotWindow(QtGui.QMainWindow):
def onPush_dc(self):
- #print "Calling on push dc"
boxCheck = 0
self.axes.cla()
for i,j in zip(self.chkbox,range(len(self.chkbox))):
@@ -402,7 +396,7 @@ class plotWindow(QtGui.QMainWindow):
}[letter]
def multiMeter(self):
- print "MultiMeter is called"
+ print "Function : MultiMeter"
self.obj = {}
boxCheck = 0
loc_x = 300
@@ -451,7 +445,6 @@ class MultimeterWidgetClass(QtGui.QWidget):
class DataExtraction:
def __init__(self):
self.obj_appconfig = Appconfig()
- print "Initialization"
self.data=[] #consists of all the columns of data belonging to nodes and branches
self.y=[] #stores y-axis data
self.x=[] #stores x-axis data
@@ -555,8 +548,6 @@ class DataExtraction:
return p
def openFile(self,fpath):
- #print "Calling Open File"
-
try:
with open (os.path.join(fpath,"plot_data_i.txt")) as f2:
alli = f2.read()
diff --git a/src/projManagement/Kicad.py b/src/projManagement/Kicad.py
index 41fb8d79..ec3c69da 100644
--- a/src/projManagement/Kicad.py
+++ b/src/projManagement/Kicad.py
@@ -35,7 +35,7 @@ class Kicad:
"""
This function create command to open Kicad schematic
"""
- print "Kicad Schematic is called"
+ print "Function : Open Kicad Schematic"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
try:
self.obj_appconfig.print_info('Kicad Schematic is called for project ' + self.projDir)
@@ -123,7 +123,7 @@ class Kicad:
"""
This function create command to call kicad to Ngspice converter.
"""
- print "Open Kicad to Ngspice Conversion"
+ print "Function: Open Kicad to Ngspice Converter"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
try:
@@ -133,10 +133,8 @@ class Kicad:
pass
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
- #print "Project is present"
#Cheking if project has .cir file or not
if self.obj_validation.validateCir(self.projDir):
- #print "CIR file present"
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
diff --git a/src/projManagement/Validation.py b/src/projManagement/Validation.py
index bafcbe08..a582cab5 100644
--- a/src/projManagement/Validation.py
+++ b/src/projManagement/Validation.py
@@ -34,7 +34,7 @@ class Validation:
"""
This function validate Open Project Information.
"""
- print "Validating Open Project Information"
+ print "Function: Validating Open Project Information"
projName = os.path.basename(str(projDir))
lookProj = os.path.join(str(projDir),projName+".proj")
#Check existence of project
@@ -46,12 +46,12 @@ class Validation:
def validateNewproj(self,projDir):
- """This Project Validate New Project Information
"""
- print "Validating New Project Information"
- #print "Project Directory : ",projDir
+ This Project Validate New Project Information
+ """
+ print "Function: Validating New Project Information"
+
#Checking existence of project with same name
-
if os.path.exists(projDir):
return "CHECKEXIST" #Project with name already exist
else:
@@ -65,7 +65,7 @@ class Validation:
"""
This function validate if Kicad components are present
"""
- print "Validation for Kicad components"
+ print "FUnction : Validating for Kicad components"
if projDir == None:
return False
else:
@@ -75,7 +75,6 @@ class Validation:
"""
This function checks if ".cir" file is present.
"""
- #print "Checking if .cir file is present or not"
projName = os.path.basename(str(projDir))
lookCir = os.path.join(str(projDir),projName+".cir")
#Check existence of project
@@ -105,7 +104,9 @@ class Validation:
#The number of ports is specified in this line
#eg. '.subckt ua741 6 7 3' has 3 ports (6, 7 and 3).
numPorts = len(words) - 2
- print "Looksub",lookSub,givenNum,numPorts
+ print "Looksub : ",lookSub
+ print "Given Number of ports : ",givenNum
+ print "Actual Number of ports :",numPorts
if numPorts != givenNum:
return "PORT"
else:
diff --git a/src/projManagement/Worker.py b/src/projManagement/Worker.py
index f7186913..9721f4a7 100644
--- a/src/projManagement/Worker.py
+++ b/src/projManagement/Worker.py
@@ -18,7 +18,6 @@
from PyQt4 import QtCore
import subprocess
from configuration.Appconfig import Appconfig
-import os
class WorkerThread(QtCore.QThread):
"""
@@ -31,11 +30,9 @@ class WorkerThread(QtCore.QThread):
def __del__(self):
self.wait()
-
-
-
+
def run(self):
- print "Calling Command:",self.args
+ print "Worker Thread Calling Command :",self.args
self.call_system(self.args)
def call_system(self,command):
diff --git a/src/projManagement/newProject.py b/src/projManagement/newProject.py
index 8e3c8656..5b4af49a 100644
--- a/src/projManagement/newProject.py
+++ b/src/projManagement/newProject.py
@@ -16,7 +16,7 @@
# CREATED: Wednesday 12 February 2015
# REVISION: ---
#===============================================================================
-from PyQt4 import QtGui,QtCore
+from PyQt4 import QtGui
from Validation import Validation
from configuration.Appconfig import Appconfig
import os
@@ -54,7 +54,6 @@ class NewProjectInfo(QtGui.QWidget):
#Checking Validations Response
if self.reply == "VALID":
- print "Validated : Creating project directory"
#create project directory
try:
os.mkdir(self.projDir)
diff --git a/src/projManagement/openProject.py b/src/projManagement/openProject.py
index c0733058..d980d914 100644
--- a/src/projManagement/openProject.py
+++ b/src/projManagement/openProject.py
@@ -35,11 +35,9 @@ class OpenProjectInfo(QtGui.QWidget):
def body(self):
self.obj_Appconfig = Appconfig()
self.openDir = self.obj_Appconfig.default_workspace["workspace"]
- #print "default workspace is now 1", self.openDir
self.projDir=QtGui.QFileDialog.getExistingDirectory(self,"open",self.openDir)
+
if self.obj_validation.validateOpenproj(self.projDir) == True:
- #print "Pass open project test"
- #self.obj_Appconfig = Appconfig()
self.obj_Appconfig.current_project['ProjectName'] = str(self.projDir)
if os.path.isdir(self.projDir):
print "true"
@@ -54,7 +52,6 @@ class OpenProjectInfo(QtGui.QWidget):
return dirs, filelist
else:
- #print "Failed open project test"
self.obj_Appconfig.print_error("The project doesn't contain .proj file. Please select the proper directory else you won't be able to perform any operation")
reply = QtGui.QMessageBox.critical(None, "Error Message",'''<b> Error: The project doesn't contain .proj file.</b><br/>
<b>Please select the proper project directory else you won't be able to perform any operation</b>''',QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel)
diff --git a/src/subcircuit/Subcircuit.py b/src/subcircuit/Subcircuit.py
index e161d6f3..76587f26 100644
--- a/src/subcircuit/Subcircuit.py
+++ b/src/subcircuit/Subcircuit.py
@@ -50,8 +50,8 @@ class Subcircuit(QtGui.QWidget):
self.subcircuit.createSubcircuit(self.schematic_name)
else:
- print "No subcircuit created"
-
+ print "Sub circuit creation cancelled"
+
def editsch(self):
self.obj_opensubcircuit = openSub()
diff --git a/src/subcircuit/convertSub.py b/src/subcircuit/convertSub.py
index 6744b35d..358028ed 100644
--- a/src/subcircuit/convertSub.py
+++ b/src/subcircuit/convertSub.py
@@ -1,6 +1,5 @@
-from PyQt4 import QtGui,QtCore
+from PyQt4 import QtGui
from projManagement.Validation import Validation
-from projManagement import Worker
from configuration.Appconfig import Appconfig
import os
@@ -19,31 +18,23 @@ class convertSub(QtGui.QWidget):
"""
This function create command to call kicad to Ngspice converter.
"""
- print "Open Kicad to Ngspice Conversion"
+ print "Openinig Kicad-to-Ngspice converter from Subcircuit Module"
self.projDir = self.obj_appconfig.current_subcircuit["SubcircuitName"]
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
- #print "Project is present"
#Checking if project has .cir file or not
if self.obj_validation.validateCir(self.projDir):
#print "CIR file present"
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
-
- #Creating a command to run
- #self.cmd = "python ../kicadtoNgspice/KicadtoNgspice.py "+self.project+".cir "+"sub"
- #os.system(self.cmd)
-
+
var1=self.project+".cir"
var2="sub"
self.obj_dockarea.kicadToNgspiceEditor(var1,var2)
-# self.obj_workThread = Worker.WorkerThread(self.cmd)
-# self.obj_workThread.start()
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('The subcircuit does not contain any Kicad netlist file for conversion.')
self.msg.setWindowTitle("Error Message")
-
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('Please select the subcircuit first. You can either create new subcircuit or open existing subcircuit')