Monday, February 16, 2009

At last some news

It has been a while since my last post, mainly because I have been very busy with school and stuff, but know I finished most of my school duties and I can now focus on my personal projects.

Needless to say, I had a lot of time to think about new projects, and some of them seem interesting, but first things first, I have to finish what I have started a few months ago and that is my Etch a Sketch embedded clone.

Las time I wrote in this blog, the hardware part was finished, all that was left was the software, both the embedded software and the computer software. Let me specify that I have worked on this project in my spare time(very limited indeed) and some things have changed, my previous post has now become veryyy obsolete, and as a lesson learned, I will reframe myself from posting code until it is working 100%.

The main changes are as follows:
  • OpenGL was not needed for this project
  • I used Visual C# to write the computer frontend
  • The embedded software now waits for a request for data from the computer, acquires the data from the 2 potentiometers, and sends it back to the computer software, this repeats several times a second
I have learned some important lessons in hardware design like how to arrange wires as to not interfere with each other. This is important because the approach I used in my last software design was to send data through the wire only when the data read was different that the last reading. In theory this sounded perfect, the simulator worked perfect, but as I was told again and again, a simulator never replaces the real thing. In real world operation the data read was very gettered, and oscillated between several very close values, and ended up that the hardware was sending data very often, the exact thing I was trying to avoid.

I will begin work again to finish this project and to move on to another. In order to consider this project finished, I have to implement an error detection system on the computer side to ensure that the data read from the hardware is formated correctly. At the moment the software sometimes goes nuts and displays strange lines as a result of bad input.