Skip to content

Commit

Permalink
Merge pull request #156 from rahulp13/master
Browse files Browse the repository at this point in the history
ported GUI to PyQt5; platform independent paths; launch ngspice through mintty on Win OS
  • Loading branch information
rahulp13 authored Aug 8, 2020
2 parents 175208c + 7871e58 commit 8255c72
Show file tree
Hide file tree
Showing 121 changed files with 790 additions and 719 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
Instructions on how to use the following examples provided in this directory:

These examples are supported by the NGHDL feature.
In order to simulate the examples listed above, follow the below instructions.
(Note that NGHDL feature is only for Ubuntu Linux OS users)
In order to simulate the examples listed above, follow the below instructions.

1. Go to eSim main window -> Click on NGHDL icon from the left toolbar, click on the 'browse' button, go to ../nghdl/Example/ and locate which example you wish to simulate.
2. After opening the directory of desired example, locate the vhdl file, click on the "Open" button at the bottom of "Open File" window.
3. Click on 'upload' button in the NGHDL pop-up window. File will be processed in the backend for few seconds. Now exit the NGHDL window.
4. Open the desired example under eSim/Examples/Mixed_Mode/ using the Open Project button, double click on the project when the project is loaded in the "Projects" window.
5. Click on the "Simulation" button on eSim Main window.
4. Open the desired example under eSim/Examples/Mixed_Signal/ using the Open Project button, double click on the project when the project is loaded in the "Projects" window.
5. Click on the "Simulation" button on eSim main window.

More examples will be added by eSim team along the way.
If you have a good command on VHDL and electronics, please feel free to contribute.

Note : The Examples in this directory are for demonstration purpose of eSim's Mixed-Mode simulation feature executing as expected.
Note : The Examples in this directory are for demonstration purpose of eSim's Mixed-Signal Simulation feature executing as expected.
45 changes: 24 additions & 21 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -4,49 +4,52 @@ eSim installation instructions

Table of contents

1. eSim installation in Ubuntu (LINUX)
1. eSim installation in Ubuntu OS (LINUX)

2. eSim installation in Windows
2. eSim installation in Microsoft Windows OS



1. eSim installation in Ubuntu OS
1. eSim installation in Ubuntu OS

After downloading eSim, extract it using:
i. After downloading eSim, extract it using:

$ unzip eSim-2.0.zip
$ unzip eSim-2.1.zip

Now change directories in to the top-level eSim directory (where this INSTALL file can be found).
ii. Now change directories in to the top-level eSim directory (where this INSTALL file can be found).

To install eSim and other dependencies, run the following command :
iii. To install eSim and other dependencies, run the following command :

$ chmod +x install-eSim.sh
$ ./install-eSim.sh --install
$ chmod +x install-eSim.sh
$ ./install-eSim.sh --install

Above script will install eSim along with dependencies.
iv. To uninstall eSim and all of its components, run the following command :

To uninstall eSim and all of its components, run the following command :
$ ./install-eSim.sh --uninstall

$ ./install-eSim.sh --uninstall

Please report any eSim installation related issue/error at forums.fossee.in

How to Run eSim
=================

A. Through Terminal
A. Through Terminal

$ esim
$ esim

B. Double click eSim desktop icon


B. Double click eSim desktop icon

2. eSim installation in Windows OS

i. Download eSim for Windows OS from "https://esim.fossee.in/". Disable the antivirus (if any).

2. eSim installation in Windows OS
ii. Now double click on eSim installer and then follow the instruction to install eSim.

Download eSim for Windows OS from "https://esim.fossee.in/". Disable the antivirus (if any).
iii. To uninstall eSim and all of its components, run the uninstaller "uninst-eSim.exe" located at
top-level eSim directory (where this INSTALL file can be found).

Now double click on eSim installer and then follow the instruction to install eSim.

To uninstall eSim and all of its components, run the uninstaller "uninst-eSim.exe" located at top-level eSim directory (where this INSTALL file can be found).

Note
======
Please report any eSim installation related issue/error at "https://forums.fossee.in/"
41 changes: 23 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,38 @@
## eSim

eSim is an open source EDA tool for circuit design, simulation, analysis and PCB design, developed by FOSSEE team at IIT Bombay.
It is an integrated tool build using open source software such as [KiCad](http://www.kicad-pcd.org), [Ngspice](http://ngspice.sourcefouge.net/), [GHDL](http://ghdl.free.fr/)
It is released under GNU GPL License. It runs on Ubuntu OS version 16.04, Windows 7 and above versions.
[eSim](https://esim.fossee.in/) is an open source EDA tool for circuit design, simulation, analysis and PCB design, developed by [FOSSEE Team](https://www.fossee.in/) at [IIT Bombay](http://www.iitb.ac.in/).
It is an integrated tool build using open source softwares such as KiCad, Ngspice and GHDL.

## Releases
* Ubuntu 16.04 OS and above LTS versions.
* Microsoft Windows 7, 8 and 10.

> Note: Refer [`installers`](https://github.com/fossee/eSim/tree/installers) branch for documentation on packaging for above mentioned platforms.
## Features
* An open-source tool.
* Perform circuit design.
* An open-source EDA tool.
* Perform Circuit Design.
* Perform Simulation.
* Perform layout design.
* Perform Layout Design.
* Model builder and Subcircuit builder.
* Support for Mixed Mode Simulation (Currently supported only on Ubuntu OS).
* Support for Mixed-Signal Simulations including Microcontrollers.
* eSim has been successfully ported to low cost FOSSEE [laptop](http://laptop.fossee.in)

## Open-Source Software Used
* Python.
* KiCad.
* Ngspice.
* GHDL.
## Open-Source Softwares Used
* [Python](https://www.python.org/)
* [KiCad](http://www.kicad-pcd.org)
* [Ngspice](http://ngspice.sourcefouge.net/)
* [GHDL](http://ghdl.free.fr/)

## Pre-requisites
1. NGHDL
2. Ngspice-31
3. KiCad 4.0.7 (latest version released on April-2019)
4. Xterm
1. Python v3.5+
2. Ngspice v31+
3. KiCad v4.0.7
4. [NGHDL](https://github.com/fossee/nghdl)

## eSim Installation:

To use eSim on your machine please refer to link [here](https://esim.fossee.in/downloads) for installation and other guidelines.
To use eSim on your machine please refer to link [here](https://esim.fossee.in/downloads) for installation and other guidelines.

## eSim Manual
To know everything about eSim, how it works and it's feature please download manual [here](https://static.fossee.in/esim/installation-files/eSim_Manual_2.0.pdf)
Expand All @@ -39,4 +44,4 @@ For any queries regarding eSim please write us on at this [address](mailto:conta
Please refer [here](https://github.com/FOSSEE/eSim/tree/master/CONTRIBUTION.md) for further details.

## License
It is developed by FOSSEE team at IIT Bombay. It is released under GNU GPL License.
It is developed by FOSSEE Team at IIT Bombay. It is released under GNU GPL License.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0
2.1
10 changes: 5 additions & 5 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@
sys.path.insert(0, os.path.abspath('./src'))

# added so that do not need to install them at runtime
autodoc_mock_imports = ["PyQt4", "pathmagic", "matplotlib", "numpy"]
autodoc_mock_imports = ["PyQt5", "pathmagic", "matplotlib", "numpy"]
# -- Project information -----------------------------------------------------

project = u'eSim'
copyright = u'2020, Fossee'
author = u'Fossee'
copyright = u'2020, FOSSEE'
author = u'FOSSEE, IIT Bombay'

# The short X.Y version
version = u''
version = u'2.1'
# The full version, including alpha/beta/rc tags
release = u'2.0.0'
release = u'2.1.0'


# -- General configuration ---------------------------------------------------
Expand Down
95 changes: 47 additions & 48 deletions library/browser/welcome.html
Original file line number Diff line number Diff line change
@@ -1,55 +1,54 @@
<html>

<head>
<style>
body {
font-family: sans-serif;
margin: 0px;
padding: 0px;
background-color: #efefef;
}
<head>
<style>
body {
font-family: sans-serif;
margin: 0px;
padding: 0px;
background-color: #efefef;
}

h1{
font-weight: bold;
font-size: 22pt;
color: #eeeeee;
padding: 10px;
background-color: #165982;
border: 4px outset #0E324B;
}
h1{
font-weight: bold;
font-size: 22pt;
color: #eeeeee;
padding: 10px;
background-color: #165982;
border: 4px outset #0E324B;
}

p{
margin: 0px 10px 0px 10px;
}
p{
margin: 0px 10px 0px 10px;
}

pre{
margin: 0px 10px 0px 10px;
font-family: monospaced;
font-size: 10pt;
}
#license{
font-size:8pt;
}

</style>
<head>

<body>
<h1>About eSim</h1>
<center><img src="../../images/logo.png" alt="eSim logo" height="100" width="100"></center>
<br/>
<p>
<b>eSim</b> is an open source EDA tool for circuit design, simulation, analysis and PCB design. It is an integrated tool built using open source software such as KiCad (<a href=http://www.kicad-pcb.org>http://www.kicad-pcb.org</a>), Ngspice (<a href=http://ngspice.sourceforge.net>http://ngspice.sourceforge.net</a>) and GHDL (<a href=http://ghdl.free.fr>http://ghdl.free.fr</a>). eSim source is released under <b>GNU General Public License.</b>
</p>
<br/>
<p>
This tool is developed by the <b>FOSSEE team at IIT Bombay</b>. To know more about eSim, please visit: <a href=http://esim.fossee.in>http://esim.fossee.in</a>.
</p>
<br/>
<p>
To discuss more about eSim please visits at <a href=http://forums.fossee.in>http://forums.fossee.in</a>
</p>
<br />
</body>
pre{
margin: 0px 10px 0px 10px;
font-family: monospaced;
font-size: 10pt;
}
#license{
font-size:8pt;
}
</style>
<head>

<body>
<h1>About eSim</h1>
<center><img src="../../images/logo.png" alt="eSim logo" height="100" width="100"></center>
<br/>
<p>
<b>eSim</b> is an open source EDA tool for circuit design, simulation, analysis and PCB design. It is an integrated tool built using open source softwares such as KiCad (<a href=http://www.kicad-pcb.org>http://www.kicad-pcb.org</a>), Ngspice (<a href=http://ngspice.sourceforge.net>http://ngspice.sourceforge.net</a>) and GHDL (<a href=http://ghdl.free.fr>http://ghdl.free.fr</a>). eSim source is released under <b>GNU General Public License.</b>
</p>
<br/>
<p>
This tool is developed by the <b>FOSSEE team at IIT Bombay</b>. To know more about eSim, please visit: <a href=http://esim.fossee.in>http://esim.fossee.in</a>.
</p>
<br/>
<p>
To discuss more about eSim, please visit: <a href=http://forums.fossee.in>http://forums.fossee.in</a>
</p>
<br/>
</body>

</html>
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
'''
setup(
name='eSim',
version='2.0.0',
version='2.1.0',
author='FOSSEE',
author_email='info@fossee.in',
author_email='contact-esim@fossee.in',
package_dir={'': 'src'},
packages=find_namespace_packages(where='src'),
license='GNU GPL LICENSE',
Expand Down
22 changes: 11 additions & 11 deletions src/browser/UserManual.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
from PyQt4 import QtGui
from PyQt5 import QtWidgets
import subprocess
import platform
import os


class UserManual(QtGui.QWidget):
class UserManual(QtWidgets.QWidget):
"""
This class opens User-Manual page in new tab of web browser
when help button is clicked.
"""

def __init__(self):
QtGui.QWidget.__init__(self)
QtWidgets.QWidget.__init__(self)

self.vlayout = QtGui.QVBoxLayout()
self.vlayout = QtWidgets.QVBoxLayout()

file = os.path.realpath(
'library/browser/User-Manual/eSim_Manual_2019_Dec_31.pdf'
)
manual = 'library/browser/User-Manual/eSim_Manual_2.1.pdf'

if 'Win' in platform.system():
os.startfile(file)
if os.name == 'nt':
os.startfile(os.path.realpath(manual))
else:
subprocess.Popen(['xpdf.real', file], shell=False)
manual_path = '../../' + manual
subprocess.Popen(
['xdg-open', os.path.realpath(manual_path)], shell=False
)

self.setLayout(self.vlayout)
self.show()
17 changes: 11 additions & 6 deletions src/browser/Welcome.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
from PyQt4 import QtGui, QtCore
from PyQt5 import QtCore, QtWidgets
import os


class Welcome(QtGui.QWidget):
class Welcome(QtWidgets.QWidget):
"""
This class contains content of dock area part of initial esim Window.
It creates Welcome page of eSim.
"""

def __init__(self):
QtGui.QWidget.__init__(self)
self.vlayout = QtGui.QVBoxLayout()
QtWidgets.QWidget.__init__(self)
self.vlayout = QtWidgets.QVBoxLayout()
self.browser = QtWidgets.QTextBrowser()

init_path = '../../'
if os.name == 'nt':
init_path = ''

self.browser = QtGui.QTextBrowser()
self.browser.setSource(QtCore.QUrl(
"library/browser/welcome.html")
init_path + "library/browser/welcome.html")
)
self.browser.setOpenExternalLinks(True)
self.browser.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
Expand Down
Loading

0 comments on commit 8255c72

Please sign in to comment.