Showing posts from September, 2006

Moving code from ESP8266 to ESP32

A while ago I made a mashup of Dan Royer's code CNC 2 Axis Demo with my own code for trapezoidal motion stepper and servo control for ESP8266.

I assumed porting the code to the ESP32 would be trivial, and that was true for the most part: changes like library name being Wifi.h instead of Wifi8266.h were not a problem. UDP now does not like multicharacter writes but you can use print instead. So far so good.

However, when it came to the interrupt code I was stuck with the stepper interrupt causing an exception sometimes. And to make things weirder, the servo interrupt worked flawlessly (both of them had the IRAM_ATTR directive if you ask me).

Going little by little, I could narrow down the culprit to a floating point operation during the interrupt, that would cause problems sometimes but not always. Browsing around I found this post. Where the solution was simple: do not use floats within the interrupt routines but doubles. The reason was the float calculation would be performed by…

Raahe visit

I've been visiting the School of Engineering and Business in Raahe, which belongs to Oulu University of Applied Sciences.

It's a nice place to go and it has to get quite cold during winter time. I was giving a talk on Information Security. I was lucky I did not need to fight with any computer during my stay and even skype worked as expected to get cheap phone calls home.

The most amanzing device I use there was the new Canon 5D reflex camera and 28-105mm lenses. It's worth more than $4,000 so you do not want this equipment to get lost of damaged. It seems to have very low noise 13.3 Mpixels CCD.

Have a look at some of the sample photos. It's kind of heavy weight though (at around 4Kg including the lenses).

Even Blogger has to be fought against

As you can see below, for reasons I do not know two copies of the same post are shown. I swear only one showed up when I did my original post, but somehow it appears now. Instead of deleting one I will keep it as a living proof of how many times our computer systems are unfriendly with us :-)

L.E.T.S. ?

Not sure about commercial success. But it's just awesome.

L.E.T.S. ?

Not sure about commercial success. But it's just awesome.

Simpler, better

Sometimes you bump into a new idea that solves real-life problems in a simple way. Sometimes it is even free (I do agree here with Mr. Torvalds' quote that says "Software is like sex: It's better when it's free").

Meet-o-matic is a simple web application that seems to solve the problem of scheduling a meeting. I am aware some groupware (i.e. Exchange or Lotus Notes) provides a well crafted system to do this but it is not free nor you can use it everywhere.

Meet-o-matic is a simple web page with a simple working model, no registration required. It looks good enough to me. You can give it a try to get your own opinion. You cannot lose much. In a way, I like it as much as (because no user registration is required, so no more forgotten passwords and time wasted with silly emails).

Recovering your grub boot

If you use GRUB as your Linux boot loader (it happens the same with LILO) you may notice that your boot menu is gone after installing most flavors of Windows, including Windows XP SP2. One way to avoid this problem is to install Windows first and, later, to install Linux or BSD.

Another possible solution, more general, is to fix the boot that is gone. My favourite way is to use a Knoppix CD to boot your system in Linux. Then, as the root user I mount the hard disk partition that holds / and /boot and then to chroot to the first one (/). Now you can issue the install-grub command to get your partition table boot code fixed.

Example: Boot hard drive is /dev/hda and Linux / and /boot are in /dev/hda3 partition. Open a Knoppix terminal and type:

sudo bash
mount /dev/hda3 /mnt/hda3
cd /mnt/hda3
chroot ./ /bin/bash
grub-install /dev/hda

That should be it. Do not forget to remove Knoppix CD before the next system boot.

Still more about HD repartitioning

It seems I cannot escape the yearly ritual of hard disk swapping. This year I'm getting a 250 GB IDE drive to replace my 120 GB drive at home. As usual I do not want to lose any data and I want the process to be as painless as possible. This time I used a slightly different approach: I connected the new drive to my office computer as a slave drive to copy all the data I've had at the office (back-ups are always a good thing). Then I moved the drive home. I was keeping SuSE 10.0 in my home computer but I was willing to replace it by Ubuntu's Dapper Drake. So I copied my Ubuntu install from my office and I saved myself the configuration process. I was lucky enough to get the system working (including X) without changing a bit (as have ATI graphic cards on both systems and the rest was properly auto-detected).

At home I am keeping a MS Windows Fat32 partition with some software (like taxes forms) I need to use yearly. I had a 6GB partition that was almost full, so I just did a…