Apr 25 2011

A quick fascination with QR (Quick Response) codes

The QR codes makes our life real easy. If you have the right QR Code reader application in your mobile, you just need to show your mobile to the QR code and bingo you got the text/content/app in your mobile… You don’t need to type anything. I almost got addicted to this technology when I started using the Android Mobiles.. Just click and there you go…

More information is available from Wikipedia:

http://en.wikipedia.org/wiki/QR_code

To make our own QR codes in Ubuntu, we need to follow these steps:

First, install the Library for QR encoding: “libqrencode” :
# wget http://fukuchi.org/works/qrencode/qrencode-3.1.1.tar.bz2
# tar jxvf qrencode-3.1.1.tar.bz2
# cd qrencode-3.1.1/
# ./configure –prefix=/usr
# make
# sudo make install

This will install the “qrencode library” as well as the “qrencode” application to create the QR codes.
Eg. The following command will create the QR codes for you:
# qrencode http://www.maxinbjohn.info -o maxinbjohn.png -s 10

If you are not satisfied with this application and do some programming in Python, then go on and follow these steps:

# git clone https://github.com/bitly/pyqrencode.git
# cd pyqrencode/
# sudo python setup.py install

This will install the “qrencode” module for Python. A simple python program to create a very personal QR code:
$ cat hello.py
from qrencode import Encoder
enc = Encoder()
image = enc.encode(‘http://www.maxinbjohn.info’)
image.save(‘maxin.png’)

The output of this program :
QR code for www.maxinbjohn.info


Apr 6 2011

GNOME3 .. the awesomest gnome ever…

Gnome 3.. with its superb looks, by far, the best Desktop experience ever..

Gnome 3 in my laptop

Now, I am a gnome fan.. once again :)
I am GNOME


Apr 4 2011

Python Script to automate the Assembly Language Debugger

The Assembly Language Debugger is a tool for debugging Linux elf files (executable programs) at the assembly level.

ALD is available here: http://ald.sourceforge.net/

This script makes it easy to collect the complete disassembled output from ald : disas.py
eg:
# python disas.py ./a.out

This script uses “expect” to collect the complete disassembled output of the executable file. Without this script, the user will have to keep on pressing “enter” to collect the complete output from ald.

# This post will be moved to the random scripts page shortly


Apr 1 2011

The Man with the GPLv3 Watch

I received my Ez430 Chronos Wireless watch development kit yesterday. A watch with temperature sensor, Pressure sensor, 3 axis accelerometer and a CC430-based development system for just $49. TI just priced it right…

EZ430 Chronos Development kit

There were some programs to use the watch as Mouse , Controlling the PPTs and so on. Still, I wasn’t so happy, because I didn’t get to see what’s “inside” the watch — “The Internals of the firmware” :)

Time for building the “OpenChronos” firmware for the watch. It is licensed under GPL v3 and we will get to see the code from here:
https://github.com/poelzi/OpenChronos/

Make sure you are connected to INTERNET.

Prepare the development environment in your PC or Laptop. Lets start with the MSPGCC tool chain.
# sudo su
# apt-get install makeinfo
# git clone git://mspgcc4.git.sourceforge.net/gitroot/mspgcc4/mspgcc4
# cd mspgcc4 && perl buildgcc.pl

select the default choices for the toolchain build options.
# make
The MSP430-GCC toolchain will get installed in the default path: /opt/msp430-gcc-4.4.5

Get the OpenChronos source:
# git clone https://github.com/poelzi/OpenChronos.git

If you havent read the GPLv3 License till now, please do so from the OpenChronos directory
# vim gpl-3.txt

Export the msp430 toolchain PATH
# export PATH=$PATH:/opt/msp430-gcc-4.4.5/bin/

Go to Openchronos directory, choose the modules for the firmware and build it.
This is similar to the ‘make menuconfig’ of the Linux kernel build procedure:

# make config
# make

If everything goes well, you will get these two files in “build” directory.

eZChronos.elf
eZChronos.txt

choose the ezChronos.txt (TI specific format for the CC430)

Go to the (default) path of eZ430 Control Center.
# cd /usr/local/eZ430-Chronos Setup/Control Center/Chronos Control Center
# ./eZ430-Chronos_CC_1_1.tcl

In the Control Center’s Flash tab, Select the “eZChronos.txt”. Set the Watch into “RFBSL” mode and start flashing.

You can see the percentage of flashing process in the LCD of the watch. Within a minute, the OpenChronos firmware will kick into action.
Switch the watch to “SYNC” mode and update the date and time from your Linux PC. Now wear it.. You are the “Man with the GPLv3 Watch”

With default TI firmware:
EZ430 watch with default firmware
With OpenChronos firmware:
EZ430 watch with OpenChronos firmware

FAQ:
1. Why are you calling this post as “Man with the GPLv3 Watch”
I am a huge fan of James Bond Movies. This name is inspired by “The Man with the Golden Gun” (Roger Moore, Christopher Lee)

2. How do you understand that your watch uses the “original” TI firmware or OpenChronos firmware ?
1. Original firmware dont show the “day of the week”
2. OpenChronos firmware doesnt support the “BlueRobin” (Just press the * key to check it)
3. Most visible change is in the ‘ACC’ mode. It is shown as “ACC” in orignal firmware, where as it is “Acc” in OpenChronos firmware

Official list is as below:
* More Features that can be configured with make config
* Day of week
* Disable 12h support (saves space)
* Sleep Phase Clock – primary designed for http://github.com/poelzi/uberclock
* The wireless flashing starts differently:
Select RFBSL, Press DOWN to unlock, Press # long to start
* No BlueRobin support. BlueRobin is a closed source binary blob.
We don’t have a compatible object file for that
* Pressing STAR and UP long sets silent mode (no beep)

3. What is the use of using the GPLv3 Licensed firmware on your watch?
Technically, it gives me the freedom to read, study and modify the firmware of this watch.
Well, I just want to use Free Softwares in all the equipments that I use. This just makes me happy :)
4. Where can I get more information ?
* http://processors.wiki.ti.com/index.php/EZ430-Chronos
* http://mspgcc4.sourceforge.net/


Get Adobe Flash playerPlugin by wpburn.com wordpress themes