Electronics Software in Linux – Layout Editor

Posted in electronic, linux with tags , , , , on November 10, 2008 by coolarm

To add to the list of Linux-software for electronics listed in another post, I came across this software named LayoutEditor – A open-source IC/MEMS Layout editing tool which can also work on Windows. Whats more???

It seems to have been a result of lot of thought and hardwork, given the features you would find implemented in it. One can also write macros to automate the procedure, use command line entry,  view 3D models of the layout, operate on different file-formats and whole lot of tweaks an be applied. I have been using it for a while and it is a really useful software to learn about Layout Editing tools. It is surprising that it comes for free among all the costly LayoutEditors available as such. This should be a really useful tool for academia too. The online forum also has regular replies from the author for questions posted by users and regular updated versions of the software.

www.layouteditor.net is the official website

I would encourage you to atleast visit the site and visit the sponsors as well – a easy way to contribute to a very good project.

electronic software in Ubuntu (Linux)

Posted in Uncategorized on June 16, 2008 by coolarm

If you are new to Linux you would want to read another post of mine on Wubi installation. It is a way to install and experience Linux in half an hour time (seriously) with a good wired LAN connection. There is no need to have any idea of Linux, whatsoever. Most of my posts on this blog have been tested on that installation.

——————————————————————————->

I will list some of the softwares available on Ubuntu, aimed at Electronic Engineers. Remember, these are for free and hence you are free to do anything. Except for the statements within { and } all others are taken from their application description. Though I am not using these, I am sure others who use these will definitely get attracted to these free software.

Scilab -  Matrix-based scientific software package (a la Matlab and Xmath) . { Guess what, I found demos on Simulation, Control, Signal Processing, Graphs and Networks, Communications with PVM, though I havent used any of these}

Electric is a sophisticated electrical CAD system that can handle many forms
of circuit design, including custom IC layout (ASICs), schematic drawing,
hardware description language specifications, and electro-mechanical hybrid
layout.

Freehdl is a free VHDL simulator with these features:
* Has a graphical waveform viewer.
* Has a source level debugger.
* Is VHDL-93 compliant.
Homepage: http://www.freehdl.seul.org/

Geda – GPL EDA, an electronics design package, including
gschem, a schematic editor.
netlist generator,  the schematic editor, device symbols

GNUCAP is a general purpose circuit simulator.  It performs nonlinear
dc and transient analyses, Fourier analysis, and ac analysis
linearized at an operating point.  It is fully interactive and
command driven.  It can also be run in batch mode or as a server.
The output is produced as it simulates.  Spice compatible models
for the MOSFET (level 1,2,3) and diode are included in this
release.

Gspiceui is a graphichal user interface for the two freely available
electronic circuit engines: GNU-Cap and Ng-Spice
Current features are:
* Import gschem schematic files using gentlist.
* Load and parse circuit description (net list) files.
* Provides a GUI interface for GNU-Cap OP, DC, AC and Transient analyses and
generates appropriate simulator commands based on user input.
* Provides a GUI interface for Ng-Spice DC, AC and Transient analyses and
generates appropriate simulator commands based on user input.
* The raw output may be viewed for any processes initiated by gspiceui.
* Formatting of simulator output so that it may be plotted using gwave

gwave – a viewer for the output of spice-like simulators
and other viewing of analog data.

GNUSim8085 is a graphical simulator, assembler and debugger for the
Intel 8085 microprocessor.

Gpsim is a full-featured software simulator for Microchip PIC microcontrollers.

linSmith is a Smith Charting program, mainly designed for educational use.
As such, there is an emphasis on capabilities that improve the ’showing
the effect of’-style of operation.
http://jcoppens.com/soft/linsmith/index.en.php

This is Picprog, a Microchip PIC microcontroller programmer software
for a simple serial port device.
Homepage: http://www.iki.fi/hyvatti/pic/picprog.html

Piklab is an integrated development environment for applications based on
Microchip PIC and dsPIC microcontrollers similar to the MPLAB environment.

Qucs is an integrated circuit simulator which means you are able
to setup a circuit with a graphical user interface (GUI) and simulate
the large-signal, small-signal and noise behaviour of the circuit.
After that simulation has finished you can view the simulation
results on a presentation page or window.

uisp – This utility is required to program AVR chips with object code
created by the ava assembler/linker, gas, or gcc.  It supports
in-system programming, Atmel’s prototype board/programmer (stk500),
and many other extremely low-cost parallel port programmers.
It can also be used to program Atmel’s AT89S51 and AT89S52.

verilog – The Icarus verilog compiler for the verilog hardware description language.
The compiler can target either simulation, or netlist (EDIF).

ViPEC is a powerful tool for the analysis of high frequency, linear
electrical networks. It takes a schematic description of the
electrical network and performs a linear analysis in the frequency
domain. The output is in the form of port parameters (S, Y or Z) with
results presented on a user defined grid, Smithchart or table. It can
also be used to compute other characteristics like stability factors
and group delay.

xcircuit is a generic drawing program tailored for making circuit
diagrams.

drawtiming – From the upstream website <http://drawtiming.sourceforge.net/index.html>:
This software package provides a command line tool for documenting hardware
and software designs through timing diagrams. It reads signal descriptions
from a text file with an intuitive syntax, and outputs a timing diagram to
an image file. Notation typical of timing diagrams found in the Electrical
Engineering discipline is used, including arrows indicating causal
relationships between signal transitions.

AVRDUDE is an open source utility to download/upload/manipulate the
ROM and EEPROM contents of AVR microcontrollers using the in-system
programming technique (ISP).

PCB is an interactive printed circuit board editor for the X11 window
system. PCB includes a rats nest feature, design rule checking, and can
provide industry standard RS-274-X (Gerber), NC drill, and centroid data
(X-Y data) output for use in the board fabrication and assembly process.
PCB offers high end features such as an autorouter and trace optimizer
which can tremendously reduce layout time.

I will keep updating these as I get information

Enjoy….

GUI programming glade ubuntu 1

Posted in linux, programming with tags , , , on June 15, 2008 by coolarm

If you are a Linux newbie, you may want to read about Wubi (installation) of Ubuntu

http://coolarm.wordpress.com/2008/06/02/linux-for-windows-users-wubi-installation/

———————————————————————————>

I am trying to learn GUI programming in Ubuntu using glade-2.

There are some tutorials that I have referred to

http://wingtk.sourceforge.net/ishan/glade.html – by Ishan Chattopadhyaya is a good source and is referred to in other places too.

Though glade-3 is recent version, I had a horrible time using it in my earlier attempt at programming a window. Now, I have reverted to Galde-2. If I am right the problem I faced was due to the developers attempt to keep C source code generation out of glade http://glade.gnome.org/

Here, we will try to create a small window that will have a text box with a default text and a button. When the button is clicked, the text in the text box changes.

On execution before clicking

Window after clicking the button

First install glade

sudo apt-get install glade-2

There are few other packages I needed to install while trying to compile the GUI program we are going to create

sudo apt-get install autoconf automake libglib2.0-dev libc6-dev libgtk2.0-dev

Now, launch glade Applications->Programming->Glade Interface Designer

Glade UI fresh

Observe the main, palette and Properties window that opens up. GUI programming in glade is based on the concepts of widgets that you can see on the palette window. You add widgets depending on what you need. We will be using Fixed Position, Text entry and Button widgets. Now click the Window button in the palette window. You should observe a “window1″ screen in the main window and a new window should open up

A new window program

Click on the Fixed positions button in the Palette window  and then on the window1 screen to see something like this

Fixed position in window screen

Now click on the text entry button in Palette window and then double click on the window1 screen to drop a text entry on it. In a similar fashion, click on the “Button” button and double click on the window1 screen below the text entry to see something like below

window1 with text entry and button

Now modify the default text on the text entry and the label on the button.

Default text in text entry

Label on OK button

Now click on the empty place in window1 screen (i.e. other than the text entry and button) to select fixed1. Now in the properties, select signals tab and then the button next to the “signal” text entry. It will display a list of signals that fixed1 emits. Select destroy under GtkObject signals and click OK.

destroy signal for window

Click add in the properties window and you should find “destroy” under signal and “on_window1_destroy” under handler. This is needed to make the window exit properly.

Now, select the button and in the signals tab of the properties window, and in the signals list, select clicked and Ok. Click add and you should find something like below

clicked signal for the button

This is signal is used to perform the task of changing the text in the text entry when the user clicks, though we have not added the code needed for the latter half.

Save the project to its default location ~/Projects/project1/ and click Build in the main window. We now have the source code written

Stage 2:

Goto ~/Projects/project1 and browse through the listing

The autogen.sh script is used to create the makefiles which will compile your source code. The src directory contains yoru source code. cd to src directory

main.c contains code to create the window1 and then wait for events (click of button or exit) in an endless loop within gtk_main(). Though, it creates the window1 interface, the code defining window1 exists in the file interface.c

interface.c defines the appearance of your window. The create_window1() called in main.c is defined here. You can find the declaration for window1, fixed1, entry1, button1. Two important instructions defined in this code are the two g_signal_connect(). In event driven programming, which is what GUI programming is, events such as clicking a mouse button, changing the state of a radio button are assosciated with particular functions or callbacks which wil perform the corresponding task. As noted at the start of this file, we shouldnt be modifying this file since, it will overwritten by Glade when you change options are rebuild it.

Coming back to the g_signal_connect functions,

g_signal_connect ((gpointer) window1, “destroy”,
G_CALLBACK (on_window1_destroy),
NULL);

means that the destroy signal of window1 will execute the callback function on_window1_destroy()

Similarily, g_signal_connect ((gpointer) button1, “clicked”,
G_CALLBACK (on_button1_clicked),
NULL);

means that the clicked signal of button1 is connected to the callback function on_button1_clicked()

callbacks.c is the file containing the definitions for the callbacks associated with signals. This is the file which we will need to modify to make our window respond to user generated events. However, to modify the properties of other widgets ( change text in the entry), we will need to know the variables (pointers) representing those widgets, which is done using the name of the widget and lookup_widget(). For this look into the last few lines of interface.c. You will find the names of the widgets.

Add the code for on_window1_destroy() -

gtk_main_quit();

Add the code for on_button1_clicked() -

GtkWidget *text1 = lookup_widget(GTK_WIDGET(button), “entry1″);
gtk_entry_set_text(GTK_WIDGET(text1),”Hi. I am fine”);

Stage 3:

Having completed the coding, let us compile and run the program.

goto ~/Projects/project1 and run ./autogen.sh

then run make

After make of the program

Now run src/project1 to run the program

Executed program

And you have your first GUI program on Linux.

Extras:

I would suggest that you try changing various properties like, altering the position of the window, changing the name of the window, name of the project, introduce a toglling effect when you click the button. This will give you a better understanding of the functionality.

The code that you wrote in callbacks.c is essentially GTK code and its homepage here

http://www.gtk.org/

You will need the functions that you can use within callbacks in order to modify the properties of other widgets. A much more elaborate example is in Ishan’s page http://wingtk.sourceforge.net/ishan/glade.html.

When you make a modification to the UI, you will need to save the project and build it again so that the effect is observed in the source code. Also, when you make a change to callbacks.c, you only need to run the make command and then run the program. Keep tweaking the properties of this working program and you will learn lot more.

Enjoy……

viewing flash and mms in firefox

Posted in linux, tweak with tags , on June 15, 2008 by coolarm

f you are a Linux newbie, you may want to read about Wubi (installation) of Ubuntu

http://coolarm.wordpress.com/2008/06/02/linux-for-windows-users-wubi-installation/

———————————————————————————>

Certain things I do to get my Ubuntu into a good shape is to install Flash and MMS plugins for Firefox

Flash – Youtube is a good place to test if the plugin is working fine. It is the easiest of installations. When you attempt to view a video in Youtube, Ubuntu displays a information bar on top. Click to install the missing plugins and you can select the Adobe Flash Player plugin and install the same. When prompted you will need to enter your user password again to perform installation of the software. One way to verify that Shockwave Flash is present in the Plugins tab when you goto Tools->Addons in Firefox. Alternatively you shoudl also be able to perform sudo apt-get install flashplugin-nonfree.

MMS – You could use the streaming video on ibnlive.com to verify the installation. You will need to disable the “VLC Multimedia Plugin” and “Totem Web Brower Plugin” in the Plugins tab of Tools-> Addons in Firefox. I use the mplayer plugin for Mozilla by performing

sudo apt-get install mozilla-mplayer

When you restart Firefox after installing mplayer plugin, you should be able to view the video. To verify this, you should be able to right click on the video area and click Configure to view the mplayer-plugin configuration. If you are seeing anything else, say Totem etc, you will need to uninstall those for Mplayer to show the video.

Enjoy….

keyboard volume control ubuntu not working

Posted in linux, tips with tags , on June 15, 2008 by coolarm

If you are a Linux newbie, you may want to read about Wubi (installation) of Ubuntu

http://coolarm.wordpress.com/2008/06/02/linux-for-windows-users-wubi-installation/

—————————————————————————————————————–

If at all you find the keyboard shortcut to volume control – Fn+Pg Up and Fn+Pg Dn – responding to the key press but not altering the sound level, it most probably that you have tweaked something not knowing what its result would be.

TO restore to normalcy, goto System -> Preferences -> Sounds

Under Default Mixer Tracks select Playback and Master under this and select OK and the key press should now alter the sound level.

If you want to make sure that Playback-Master is the control rightclick on the volume control icon next to the sate and time display and select Open Volume Control. Now modify the controlled stream by selecting in File-> Change Device. You should select the one which alters the sound level.

Windowss like fonts linux

Posted in linux, tips with tags , on June 15, 2008 by coolarm

If you ever thought, the font on your Firefox, Openoffice etc. werent similar to Windowss, here is what you should do

sudo apt-get install msttcorefonts

This will add Times New Roman and likes to your Linux OS. For Firefox, goto Edit-> Preferences

Select Content Tab and then the font as Times New Roman. This will change the appearance on your webpage.

voip and video with gtalk users from linux

Posted in linux, tweak with tags , , on June 15, 2008 by coolarm

If you are a Linux newbie, you may want to read about Wubi (installation) of Ubuntu

http://coolarm.wordpress.com/2008/06/02/linux-for-windows-users-wubi-installation/

—————————————————————————————————————–>

I had been searchign for a solution for the above problem. I came across a bunch of solutions like Landell, Ereseva, Kopete with plugin, TapiocaUI. For one or the other reason, I just couldnt get it working on my system.

Landell, after a number of tries – compilation from source – I would land up in the same problem with some “argument: Null”. I then tried this Ereseva. Poor thing, wouldnt even fire up. Kopete with plugin, is still under build, i guess and TapiocaUI (package) is not available for my amd64 hardy arch. Landell and Ereseva dont seem to have enough support too, from the developers.

Today, I got the solution for the same. EMPATHY(Emphatic atlast) solves your worries.

I am yet to test the voice quality, though it establishes the connection. Also it has a video transmission facility, though I am yet to test it. The advantage is that, packages are available. I got to know of the location from a webpage on UbuntuForums

The instructions are as follows:

Step 1:Add the line

deb http://ppa.launchpad.net/telepathy/ubuntu hardy main

at the end of the file /etc/apt/sources.list       -        This ensures that the above website location is searched for hardy compatible packages when a apt command is issued to install or search for a package

Now run,  sudo apt-get update

Step 2: Now to install the necessary packages

sudo apt-get install empathy
sudo apt-get install telepathy-gabble
sudo apt-get install telepathy-mission-control
sudo apt-get install telepathy-stream-engine

If you dont find any of these packages, you have most likely not added the source properly into the sources

Now goto Applications->Internet-> Empathy Instant Messenger

You should find it open up with the accounts dialog box or it should be minimized to the panel, in which case click on it to restore it. If you are not seeing the Accounts dialog box, goto Edit->Accounts

Provide your complete gmail id, xyz@gmail.com, Password, Enable by checking the Enable box and close. Restart the program and you shoudl see your Buddies. Time to chat

Extra Info:

The following dependencies are automatically installed by apt:

empathy :libempathy-common libempathy-gtk-common libempathy-gtk12 libempathy12
libmissioncontrol-client0 libmissioncontrol-server1 libtelepathy-glib0
libtelepathy2 telepathy-mission-control

telepathy-gabble:  libloudmouth1-0

telepathy-mission-control : is installed in Hardy-Wubi-AMD64-Desktop installation.

telepathy-stream-engine :gstreamer0.10-plugins-farsight libfarsight0.1-3 libgsm1 libjinglebase0.3-0
libjinglep2p0.3-0 libjinglexmllite0.3-0 libjinglexmpp0.3-0
The following packages will be upgraded:
gstreamer0.10-plugins-good

http://live.gnome.org/Empathy is the homepage of Empathy.  The debug isntructions in the webpage, http://live.gnome.org/Empathy/Debugging is also useful. I did use it to understand that “@gmail.com” is essential in the login ID field.

http://ubuntuforums.org/showthread.php?t=819046. This is a thread from where I got to know about the launchpad repository.

Enjoy GTalking….

download songs files esnips

Posted in tips with tags , , on June 13, 2008 by coolarm

Disclaimer: Please donot download content that you are not legally entitled to.

To download songs, files from Esnips, there is a cool method. I was searching for a method, in light of Esnips removing the capability for users to download.

http://indianraga.fileave.com/files/esnips-link-generator.html

While the writing in the link is self explanantory, i shall add few statements based on my experience.

First, it is a very easy method. I can bet you on that. All you need to do is to copy the link to the file on esnips. Paste the link on the above link’s webpage and click generate. You will find a download button in the white background part of the web page. Click that. You will be taken to another webpage at anonym.to wherein you will be served with the download dialog box automatically.

I used Firefox and not IE. However, I dont see any problem with using this method in IE. For people who still arent able to successfully, there is a video on youtube.

http://www.youtube.com/watch?v=gn9TtoaQhuc

Enjoy downloading!!!!

Thanks to Rajesh Gupta, who is doing a wonderful job updating the code which helps us in doing this stuff

Wubi uninstallation

Posted in linux, wubi with tags , , , , on June 2, 2008 by coolarm

I wondered if I should write a separate post for this uninstallation, considering the length of the procedure. But I didnt want to combine it with the installation post either.

Goto your installation Ubuntu Wubi installation folder and locate the Uninstall-Ubuntu.exe file .

In the case of our installation, it will be e:\Ubuntu\Uninstall-Ubuntu.exe.

All you need to do is to launch the application. You may uncheck the “Backup the downloaded files(CD-ISO file)” and click Uninstall. You will have your original system back in a minute.

This is the ease of use of Wubi installation.

I hope you uninstall Linux, only to perform a traditional installation :) .

Enjoy…..

Linux for Windows users – Wubi Installation

Posted in linux with tags , , , , on June 2, 2008 by coolarm

Let me start of my first post with this new feature in Ubuntu 8.04

For the impatient, you can start using Linux in half an hour and remove it without affecting your system a scratch in a minute. Below is the information

Requirements:
An internet connection to download the Linux ISO
A ISO mounting software like CD Anywhere Manager or Virtual CD
and a computer with enough space to install it into :)
As a fresh user to Linux, you probably dont want to take the risk of reformatting your system, reinstalling windows, partitioning it for linux and then installing Linux and getting to know you arent able to get into WIndows…..blah blah
Here is the master solution available from Ubuntu

Wubi -http://wubi-installer.org/

“Wubi is an officially supported Ubuntu installer for Windows users that can bring you to the Linux world with a single click. Wubi allows you to install and uninstall Ubuntu as any other Windows application, in a simple and safe way. Are you curious about Linux and Ubuntu? Trying them out has never been easier!”

-Wubi homepage

If you are curious to find out about Linux, I will bet you cant get hands-on Linux any easier. If you have an hour to spare, the information on this page will get you started with Linux

Instructions:

1)http://www.ubuntu.com/getubuntu/download

This is the link to download the latest desktop edition of Hardy.

Or you could download from this link too – Click here

Alternatively, you could request a free CD, except that your installation will get delayed
2)Select the computer type – 32 bit or 64 bit. and download the ISO
3)Now in Windows, mount the ISO in a software like CD anywhere manager (click here) and double click the drive to get a menu

Menu that appears when you lanch the installer from ISO
4)Click on “Install inside Windows”


5)Select the hard drive partition to which you want to install, say E:. It could also be your system partition, C:.
6)Select the size of the installation, say 7GB. This space is reserved as a directory of size 7GB, in which your linux related data is written.
Note: This is reserved space and not expanding space limited to 7GB
7)Desktop environment – Ubuntu and Language, say English. Give the username and a valid non-blank password. Click install

First screen after installation begins

Second screen after installation proceeds
8) Since the setup files are copied in the previous step, you dont need a CD thereafter

Final step in Stage 1 of installation
9) The important step is that, when you reboot there will be two or more options at startup. This is immediately after your PC manufacturer’s logo is displayed. There will be a option saying “Microsoft Windows XP”, “Ubuntu” on your screen in a DOS-style.

http://z.askapache.com/uploads/2007/08/boot-menu-recovery-console.png – This link has a sample image of how your screen could look except for that the “Windows XP Recovery Consolw” will be replaced by “Ubuntu”.

Since there is a time-out value on this screen, you should make sure that you use the cursor keys to highlight Ubuntu and press Enter before it reboots into XP. If you miss, its not a problem. You will need to reboot again for this screen.

10)Make sure you connect the network cable so that the PC is conencted to internet. Now it will go ahead copying files and configuring your system while you sit back and relax. I have done this umpteen times and faced no problem. It installs like a breeze, not asking a single question.

11) The PC will reboot automatically after installation. If you now choose the Ubuntu option at startup(just like what you did above), you would login to your Ubuntu screen.

Congrats, you now have your installed Ubuntu. You could browse through the other pages for some post-installation configuration and to learn to handle linux.

What next: GoogleTalk VOIP support, Windowslike fonts (and more to come)

The above line refer to tweakings that will set you in a path to use Linux for everything else. When you are experienced handling Linux, you can install it outside Windows, all of which will come up on this website, one by one.

Enjoy……..