This blog is here to communicate what is happening to the project in between releases. It also gives an indication as to what are features that could be supported in the near future. What kind of things that could be done in the long run.
It is also a request for input. If you have any remarks on anything being said here, you can always comment on it in the mailing list, or contact me personally.
09 June 2012 - test suite
I have been busy setting up a test suite for emulare. This work is progressing rather well. Soon I will be releasing a new version with a significant speed increase, and some other improvements.
03 June 2012 - significant speed increase
Yesterday I was able to significantly upgrade the speed of the program. It now runs at close to 1 second for the delay(1000) used in the blink example.
I did recently realize I there is a slight problem with the code view, but it does seem to disamble correctly at all times
28 May 2012 - testing
I have been testing the program today because i wasn't sure if everything still worked the way i left it.
I have been getting some good performance using the program and applications like bitlash really seem to work the way you would expect them. At decent speed.
There is still a problem with using delays in your sketches. The poor performance doesn't stem from the fact the program is so slow, but more from the fact the real hardware is so much faster.
Running the blink example without the delay shows a canvas on which you can't really see if the led is on or off.
If you would like to use the program yourselve to test something. It is probably a good idea to add a line like:
#define SIMULATE #ifdef SIMULATE #define _delay(x) delay(x/100) #else #define _delay(x) delay(x) #endifand use _delay everywhere in your program.
28 May 2012 - Problem with loading assemblies
It seems microsoft decided to update it's security model in .NET 4.0 Therefor it is important to first remove the blocking on the .NET application before use. More information can be found here: http://labs.blogs.com/its_alive_in_the_lab/2011/05/unblock-net.html /me wishes back to the days when things were all about backward compatibility
27 May 2012 - Problems with 1.8
It seems the lastes version of the program for unknown reasons generates exceptions when loading components. I will look into why these could be happening soon.
21 May 2012 - started implementation of other microcontrollers
Lookinng over the models on the arduino website, you could see that there really aren't more mictrocontrollers used then three. They are atmega168, atmega328p and atmega2560. So i changed the program to support more microcontrollers. The model for atmega168 is already finished. So that just leaves atmega2560 to be supported.
20 May 2012 - uploaded it all
I did a little extra work and managed to make the entire distribution. I even fixed a bug with the recent files list.
20 May 2012 - Important fix for 64 bit windows
I finally have been able to get back to the project. I have fixed the long outstanding problem with the program not running well on 64 bit windows. I have already checked the fix into the subversion repository and I will try and get out a new binary soon.
28 September 2010 - Award from famouswhy.com
While I am very busy writing a whole new series of panel classes. I have gotten a mail from famouswhy.com stating that they like the project very much and have awarded the project the "Famous Software Award:"
The Famous Software Award has been initiated by Download.FamousWhy.com to recognize "Famous Software", which come up with innovative and efficient ways to reflect the best relationship with users assuring their satisfaction.
Nice to see that people like this software *smiles*
23 September 2010 - bad luck
After some investigation, it seems that the library I used is so deeply rooted in the windows calls it uses that the only way to make it run on linux would be to rewrite that part of the code.
So, it will take more time then anticipated to make it work correctly. >
20 September 2010 - problems running in linux
I have just been made aware that the program seems to be having problems in linux. There is one new library I used and I haven't gotten around to checking it for native functions.
It seems that it has 25 native function calls. I will fix those and post a new version as soon as possible.
Also, I noticed that people seem to be resistent to sending me e-mail about there problems personally. I wonder if I need a forum on my website. I will be working on that soon too, I think.
13 September 2010 - released 1.7 and updating the website
I have finally made a release. One day after one month after releasing 1.6. The program has been fundamentally changed. It requires a lot of changing on the side of the documentation. So i am now updating the website.
I have looked into using a CMS for the website. I have looked at using drupal, joomla and wordpress and none of them worked the way I had hoped. They work by theming the existing web application. This is not very flexible and you can't use your existing web site.
That is why I decided not to use an existing CMS, but change my web site to use standard PHP and put in my own CMS like features. Like using an administrator panel and allowing the posts in this blog to be done through a mysql database.
07 September 2010 - making examples
In order to finally make a release I am now in the process of making a board file for all the examples in arduino IDE. For many this will be the easiest way to see what these examples are supposed to be doing, also on real hardware.
Stay tuned, because the next version is comming soon.
04 September 2010 - the next big challenge in open source
Apart from a few bug fixes left and right, the next version of emulare is about to be out. But before actually finishing up I was just looking at google tech talk on google here.
The main thing that i noticed is that the speaker was talking about open source gaming as the last frontier. If open source wants to evolve towards freedom, we will need to step out of the PC world. Which means into the electronic world and beyond.
Electronics as we know it will not exist for much longer. There is a definite push towards the use of hardware definition languages. These today target mostly the use of FPGA's. But on the heels of FPGA's is already the next technology, namely printable electronics. Printable electronics is comming a lot sooner then you might think and is one of the requirements for the 80000$ Gada Prize for the reprap project. Having printable electronics in open source machines, the industry will have no other choice but to turn to printable electronics in most applications. This is making it questionable that FPGA's will ever evolve to more then a marginal anecdote.
A parrallel with OS/2 is easily drawn. For a long time OS/2 was an operating system that was targeted to replace MSDOS, but by the time it was on track of becomming the new operating system. Windows had already made such a big impact on the industry that OS/2 never became more then a small side note.
So with printable electronics being the next reality. It is both possible and likely that this will be the new challenge for open source. Most likely we will see soft core microcontrollers being written, which will then be synthesized into patterns of ink. All electronics in the near future is likely to only exist as CAD diagrams. Mental representations of ink being projected onto a plastic substrate.
In all of this it is likely that C will remain a dominant language to develop embedded software. An environment like emulare will allow programmers to write embedded software for softcore microcontrollers. These softcore microcontrollers will then be printed together with the program contained within the synthesized memories.
And with all of this
I just wanted to point out that open source gaming is so not the last
frontier, but it is a definite prove that the open source movement is
itself strong enough to evolve to freedom.
31 August 2010 - upload to subversion
For the adventurous I have uploaded the new code to subversion. This is the first truely open source release of an electronics simulator that allows you to drag and drop components on a schematic and intersect pins, and is targeted to embedded software development. The number of supported components is still limited however. This number will be increased in the near future.
31 August 2010 - finally getting better
After an enormous amount of work, the new interface seems to work quite well now. I will be implementing a few other components, like LEDs, buttons, analog inputs, before making a new release. But the serious work has been done now.
It has been a lot of work getting the new simulator up and running. But I am convinced that it brings emulare up there with the best of simulators. On a par with such systems as proteus vsm and virtual breadboard. Although, actually, the first one is hugely expensive and the second one crashed on download for me.
25 August 2010 - teaser
Here is a teaser of the upcomming emulare 1.7:
20 August 2010 - huge changes
Seems it has been a few days since I last updated the blog. I have been working very hard on the program lately. I am building a completely new interface that will completely change the scope of emulare.
The idea that has been maturing for a few weeks now is to have a hardware simulator for the ATMEGA class microcontrollers. The new interface will allow you to drag and drop components on a schematic in the middle of the program screen. And then connect them up with lines between pins. For example it will be possible to drop a ATMEGA 328p controller and an LCD on the schematic and then connect the pins with lines. It is the intention to have board files that contain a visual representation and the necessary components to simulare entire boards. An example would probably a file called uzebox.board, that would contain the simulation for the uzebox.
I know of only one other software package that allows you to do this. It is the hugely expensive proteus VSM. I think the idea of proteus VSM is good but it doesn't work to well. I tried debugging programs with it and somehow it never really worked. I am confident that emulare will be a lot better and best of all free and open source.
05 August 2010 - getting simulation working in eclipse and a new idea
I have been working
today on getting the simulator to work together with eclipse. I have
written a new utility to upload a binary to a gdb server. With this you
should be able to upload any binary to any gdb server. It would not
just work on AVR. This should allow the data on the simulator to be
changed each time you do a compile.
This is something
that does not work in the gdb build in eclipse. The author of eclipse
AVR has written that it might have something to do with his hardware
setup. But I checked and the gdb commands for uploading data are simply
not called. This was easy for me since I have my own gdb server.
Further more, it's time for me to come up with the idea of break-out modules for the simulator. The idea would be that there was an API that would allow you to write your own programs that would implement the simulation for a break-out board. The entire thing would run more or less like in real hardware. You have a main simulation of the arduino and the other boards that can be simulated are other programs you can load.
Eventually it would be nice to have a break-out module that would integrate with gEDA. This would then be the first open source implementation of something very similar to labview proteus vsm.
05 August 2010 - been working in linux
I have been testing
in linux today. Seems mono doesn't have any problems running the
simulation. It did however mess up the winforms user interface. It
seems it insists on drawing windows too high. This doesn't work well if
you have graphics in your system.
I have been able to
fix it mostly now anyway.
Also I have checked
in the source code in subversion now. You can all go take a look at the
code if you wish.
And then I had to make an installer for windows. Seems I had forgotten to include a DLL in the zip file. It works well with the installer, altough traditionally there are two more pages that need to provide info on what it does.
03 August 2010 - released 1.5
I updated the documentation now. It was high time I explained to people how to use emulare. I have added some information on how to program the AVR microcontroller. I hope I can add a lot more information here about how to program the AVR.
01 August 2010 - working towards 1.5
The next version of emulare is going to have some major improvements. It will be the first version where the windows will update automatically to the program running on the emulator. It will be possible to see the pins, registers change while the program is running.
It will feature a much improved internal terminal. This terminal will also feature a 'CR' feature, where you can choose wether or not to send the ending CR.
I am also working on an osciloscope. It will be possible to see the signals of all the pins over time. I don't know wether this will be done for the following version, but it will be finished soon.
© COPYRIGHT 2010 Imre Leber