blob: cbee89e9be60925c35c780488d2e4bee414aa7ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
#===============================================================================
#
# FILE: openKicad.py
#
# USAGE: ---
#
# DESCRIPTION: It call kicad schematic
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Fahim Khan, fahim.elex@gmail.com
# ORGANIZATION: eSim team at FOSSEE, IIT Bombay.
# CREATED: Tuesday 17 Feb 2015
# REVISION: ---
#===============================================================================
import os
import Validation
from configuration.Appconfig import Appconfig
import Worker
from PyQt4 import QtGui
class Kicad:
"""
Class Kicad open Schematic,PCB and Layout
"""
def __init__(self):
self.obj_validation = Validation.Validation()
self.obj_appconfig = Appconfig()
def openSchematic(self):
print "Kicad Schematic is called"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
print "calling Kicad schematic ",self.projDir
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
#Creating a command to run
self.cmd = "eeschema "+self.project+".sch "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
self.msg.setWindowTitle("Error Message")
def openFootprint(self):
print "Kicad Foot print Editor called"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
print "calling Kicad FootPrint Editor ",self.projDir
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
#Creating a command to run
self.cmd = "cvpcb "+self.project+".net "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
self.msg.setWindowTitle("Error Message")
def openLayout(self):
print "Kicad Layout is called"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
#Validating if current project is available or not
if self.obj_validation.validateKicad(self.projDir):
print "calling Kicad schematic ",self.projDir
self.projName = os.path.basename(self.projDir)
self.project = os.path.join(self.projDir,self.projName)
#Creating a command to run
self.cmd = "pcbnew "+self.project+".net "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('Please select the project first. You can either create new project or open existing project')
self.msg.setWindowTitle("Error Message")
def openKicadToNgspice(self):
print "Open Kicad to Ngspice Conversion"
self.projDir = self.obj_appconfig.current_project["ProjectName"]
#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)
#Creating a command to run
#self.cmd = "python /home/fahim/Workspace/eSim/src/kicadtoNgspice/KicadtoNgspice.py "+self.project+".cir "
self.cmd = "python ../kicadtoNgspice/KicadtoNgspice.py "+self.project+".cir "
self.obj_workThread = Worker.WorkerThread(self.cmd)
self.obj_workThread.start()
else:
self.msg = QtGui.QErrorMessage(None)
self.msg.showMessage('Your project do 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 project first. You can either create new project or open existing project')
self.msg.setWindowTitle("Error Message")
|