Friday, December 07, 2012

Tower of Glasses using OpenGL

Developed using OpenGL
-- Shows Shadow, Reflection and Texture mapping
-- Image source: Table Textures on Google Image
-- Source code: https://github.com/jenis23/TowerOfGlasses



Tower of Glasses using OpenGL

Thursday, December 06, 2012

Super Ellipsoid using OpenGL

Please use below Youtube URL to check out the output of this project. Please post your comments.
-- Source code: https://github.com/jenis23/SuperEllipsoid






Saturday, October 06, 2012

Toroidal Spiral using OpenGL

Some of My Experiments with OpenGL. I have created all of them in C language.
-- Source code: TBD






I can't upload .exe file here, otherwise you can get various other designs. I will share the code very soon with all of you. Share your comments about the post. 

Friday, May 11, 2012

TinyOS Errors and Solutions

Hi All,

I am posting here some of the errors which I get and spend so much of time in solving it as some solutions are not available on web. Again, this is my own opinion, it has no relation with anybody. I will update the post the way I get errors while using it.This way, even I can track the changes I did in my code and people can get the answers.

1. If you try to install apps using telosb on tinyos and if you use tinyos version 2.1.1 or previous, you might get error over msp430. The simple workout solution to the problem is to use version 2.1.2. you can get this version at http://tinyos-main.googlecode.com/svn/tags/release-2.1.2-rc1/
2. Please find this link for problem with sender address in Motelab. 

Install TinyOS under Ubuntu 12.04 or later

Installing TinyOS under Ubuntu 12.04 or 12.10 or 13.04 or 13.10


I am specifying 3 different methods for installing tinyos. There are different ways one can install. I prefer last method for advanced users and first two methods for simple use. Also, not to forget that There is a problem reported with MSP430-gcc version < 4.6.3. So, all users should make sure that they use MSP430-gcc version 4.6.3 for TelosB devices. If you want to download 4.6.3, please follow http://tinyprod.net/repos/debian/README-46.html .

When you try different methods, please make sure to remove previous installations (including toolchain).

Method 1:
1. Add software source, deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main to /etc/apt/sources.list

2. Type, sudo apt-get update to get new changes. Install tinyos-2.1.1 by typing sudo apt-get install tinyos-2.1.1.

3. Change the environment variables. Open the .bashrc file (sudo gedit ~/.bashrc), and add the following lines to the bashrc file:
       
       export TOSROOT=/opt/tinyos-2.1.1
       export TOSDIR=$TOSROOT/tos
       export CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.$CLASSPATH
       export MAKERULES=$TOSROOT/support/make/Makerules
       export PATH=/opt/msp430/bin:$PATH
       source /opt/tinyos-2.1.1/tinyos.sh

Use command: source ~/.bashrc to update changes. 

3. Get the access authority to the tinyos folder (sudo chown usr_name:usr_name -R /opt/tinyos-2.1.1/). Also follow this 2 steps:
  • Change the ownership on your /opt/tinyos-2.x files: chown -R <your uid> /opt/tinyos-2.x
  • Change the permissions on any serial (/dev/ttyS<N>), usb (/dev/tts/usb<N>, /dev/ttyUSB<N>), or parallel (/dev/parport) devices you are going to use: chmod 666 /dev/<devicename>

4. Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.

//optional step:
5. Generate the documents of TinyOS java tools. Go to  "$TOSROOT/support/sdk/java/" , copy the the directory to another place (e.g., /home/usr_name), open the Makefile, change "JAVADOCDIR" to the intended location. Type "make javadoc" to generate the documents.

Close all editors, restart the machine. And you are done.


Method 2:

  1. Remove tinyos using : sudo apt-get remove tinyos-2.1.2
  2. Add software source, 

deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu maverick main
deb http://tinyos.stanford.edu/tinyos/dists/ubuntu natty main

       to /etc/apt/sources.list
      Type as instructed in bullet.
      • Type, sudo apt-get update to get new changes. Install tinyos-2.1.2 by typing sudo apt-get install tinyos-2.1.2.
      • Type: cd /opt 
      • Get tinyos repository using: sudo git clone https://github.com/tinyos/tinyos-main.git 
      • sudo cp -R /opt/tinyos-main /opt/tinyos-2.x
      • Change the ownership on your /opt/tinyos-2.x files: chown -R <your uid> /opt/tinyos-2.x
      • Change the permissions on any serial (/dev/ttyS<N>), usb (/dev/tts/usb<N>, /dev/ttyUSB<N>), or parallel (/dev/parport) devices you are going to use: chmod 666 /dev/<devicename>
           4. Copy tinyos.sh file from /opt/tinyos-2.1.2/ using: sudo cp /opt/tinyos-2.1.2/tinyos.sh /opt/tinyos-2.x/tinyos.sh (if don't have tinyos.sh file under tinyos-2.1.2, get it from tinyos-2.1.1)

             5. Change permission: sudo chmod +x /opt/tinyos-2.x/tinyos.sh

             6. Open tinyos.sh file under /opt/tinyos-2.x/ and add below lines, save and exit:

      #! /usr/bin/env bash
      # Here we setup the environment
      # variables needed by the tinyos
      # make system
      echo "Setting up for TinyOS 2.x Repository Version"
      export TOSROOT=
      export TOSDIR=
      export MAKERULES=
      TOSROOT="/opt/tinyos-2.x"
      TOSDIR="$TOSROOT/tos"
      CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
      MAKERULES="$TOSROOT/support/make/Makerules"
      export TOSROOT
      export TOSDIR
      export CLASSPATH
      export MAKERULES


              7. Type sudo gedit ~/.bashrc and add below line:
                source /opt/tinyos-2.x/tinyos.sh

        8. Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.

      Close all editors, restart the machine. And you are done.

      Method 3:

      My preferred way (difficult for some people though).
      1. Get tinyos repository using: sudo git clone https://github.com/tinyos/tinyos-main.git 
        1. cd ~ ;
        2. mkdir local/src
        3. sudo git clone https://github.com/tinyos/tinyos-main.git
      2. Get required tools using TinyOS wiki step 3. You can try converting rpm to deb using simple search on Google.  
      3. Make sure you install MSP430-gcc version 4.6.3 from http://tinyprod.net/repos/debian/README-46.html. Before installing version 4.6.3, make sure to remove previous versions from your machine, otherwise you will end up having errors in your machine.  
      4. Once everything is done, install automake using sudo apt-get install automake;
      5. Use following commands: 
        1. sudo apt-get install automake
        2.  cd tinyos-2.x/tools
        3.  ./Bootstrap
        4.  ./configure --prefix=$HOME/local
        5.  make all
        6.  make install
      6. Set environment variables under bashrc:
      7. #! /usr/bin/env bash
        # Here we setup the environment
        # variables needed by the tinyos
        # make system
        echo "Setting up for TinyOS 2.x Repository Version"
        export TOSROOT=
        export TOSDIR=
        export MAKERULES=
        TOSROOT="/opt/tinyos-2.x"
        TOSDIR="$TOSROOT/tos"
        CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
        MAKERULES="$TOSROOT/support/make/Makerules"
        export TOSROOT
        export TOSDIR
        export CLASSPATH
        export MAKERULES

        You are done. Close all editors and Enjoy. 
      Method 4:

      My preferred way (Very easy to follow).

      Follow Eric Decker's link for installation. After following his steps from 1 to 4 (and of-course "Note" mentioned)


      • cd /opt/
      • Get git repos using: sudo git clone https://github.com/tinyos/tinyos-main.git 
      • sudo cp -R /opt/tinyos-main /opt/tinyos-2.x
      • Change the ownership on your /opt/tinyos-2.x files: chown -R <your uid> /opt/tinyos-2.x
      • Create tinyos.sh file under /opt/tinyos-2.x/ and add these lines:

      #! /usr/bin/env bash
      # Here we setup the environment
      # variables needed by the tinyos
      # make system
      echo "Setting up for TinyOS 2.x Repository Version"
      export TOSROOT=
      export TOSDIR=
      export MAKERULES=
      TOSROOT="/opt/tinyos-2.x"
      TOSDIR="$TOSROOT/tos"
      CLASSPATH=$CLASSPATH:$TOSROOT/support/sdk/java:.:$TOSROOT/support/sdk/java/tinyos.jar
      MAKERULES="$TOSROOT/support/make/Makerules"
      export TOSROOT
      export TOSDIR
      export CLASSPATH
      export MAKERULES

      • Type sudo gedit ~/.bashrc and add below line: source /opt/tinyos-2.x/tinyos.sh
      • Install tinyos jave tools. First install JNI by running "tos-install-jni". Go to "$TOSROOT/support/sdk/java/". If the directory has a Makefile in it, type make and make install.

      Enjoy. 


      Please post your comments and suggestions if you find this helpful.