Tuesday 17 June 2014

Microcontrollers and Random Stuff

It's really been ages since I wrote anything significant on my blog. So I think it's time that I breathed some new life into it. I couldn't find much time to write anything during the semester but I think I'll put in some effort to keep this blog updated at least during the holidays.

I've been working with microcontrollers for over a year now and I've become reasonably familiar with  them. One thing I've discovered after working with them for so long is that it's really really annoying to get it to work with libraries that other people wrote. It's not that they don't work but it's not easy to figure out exactly what's going on. And sometimes, the function names can be a bit weird. This is just my personal opinion though. Maybe others have had different experiences with libraries.

Anyway, I was recently working on a little project in which I had to display text on a 20x4 LCD module and I was finding it difficult to get libraries to work exactly the way I wanted them to. So I decided to go ahead and write my own library for it. And yes, I realize that what I'm doing is probably best described by this:

Source: http://xkcd.com/927/



But it's a good learning experience and if this library helps someone (who thinks like me) else out then that's a good thing. The library is just a single file and all you need to do is include it in your main source file to use its functions.

So if anyone's interested they can go here to download the library.

And finally, here's a short video of the library in action.



Monday 16 June 2014

The Eudyptula Challenge

So I've decided to take the Eudyptula Challenge!!

The challenge is a set of tasks of slowly increasing difficulty that teaches a person how to write kernel modules. I've always wanted to learn about the linux kernel. I just didn't know where to start. This looks like the perfect opportunity for me to start learning.

The challenge is very strict about not posting the code that I write on websites. So I won't be doing that. I think I will give general updates about my progress though.

The first task is to write a simple hello world kernel module. Looks like I need to start off by finding out how to write a kernel module.

Looks like I'm going to have an interesting time ahead!