Sunday, December 17, 2006

The “tuxphone” - a DYI Open Source GSM phone


“TuxPhone is a project to develop open source (hardware and software) GSM/GPRS cellphone. Our objective is to create an open (in every sense of the word) cellphone platform that is convenient for creating novel applications. For instance, someone could take this reference design and integrate it with a small RFID reader to create a RFID enabled cellphone. Or, for that matter someone come up with a software that finds the cheapest way to make a phone call based on the available connectivity - VOIP or GSM.”

If you’re up to the challenge, I think there is enough information available now to create your very own tuxphone. You’re definately not going to save any cash, and the design is likely to look, well, a bit unpolished … but the idea of an open phone platform is an interesting one for the hobbyist, or those looking to experiment with new ideas for mobile.

Interested? Some links to check out:

  • opencellphone.org
  • dseetharam-etel-2006.ppt
  • silicon-valley-homebrew-mobile-phone-club
  • tuxphone sourceforge.net
  • FAQ
  • Tuesday, December 05, 2006

    Installing MIDlets on Series 40 and S60


    The MIDP specification allows quite a lot of variance in the installation procedure of MIDlets. The spec basically only states what the AMS (Application Management System) needs to take care of but not how it should be taken care of. So it is no wonder that installing MIDlets on Series 40 is different from installation on S60 phones.

    First of all, when you transfer MIDlets to Series 40 phones, they will get installed "on the background". The user does not need to start the installation procedure and walk through the installation - after the user navigates to the Application menu, the MIDlets is already there. On S60 phones the user has click through an installation before the MIDlet is installed on the phone. If the MIDlet was downloaded using the browser that process starts automatically. In other cases the user has to go to inbox and start the installation by clicking the JAR or JAD file. On Series 60 phones the destination of the MIDlet varies across the board. On some devices the MIDlets are installed in "My Own" folder, or in "Installations", or...

    On Series 40 phones the destination of the MIDlets has changed a little through the different models, but mainly the MIDlets can be found in the "Games" subfolder.

    One might ask how Series 40 phone user knows which of his/her MIDlets are untrusted and which are signed as no installation notifications are displayed to the user. The answer is that the user has to select the MIDlet in question and check the MIDlet settings using the Options menu.

    One thing to remember on Series 40 phones is that when upgrading a MIDlet, JAD files need to be used. If one intends to upgrade an existing MIDlet using JAR file only, the MIDlet does not get replaced but the new MIDlet gets installed next to he old existing version.

    more information read this

    Sunday, December 03, 2006

    BREW: How to use callbacks while working with BREW in C++

    Simplest Way:
    Make the callback Function member as static then this function will be treated as Global function.
    But you have to pass the this pointer to access class members. So not so good.

    Best way:
    The Below Example will explain the procedure.
    class CTimer
    {
    void startTimer();
    void doTimer();
    };

    int (* PFNCALLBACK)(void *);
    int(CTimer::*PFNMEMBERCALLBACK)();

    PFNCALLBACK functionCast( PFNMEMBERCALLBACK pMemberCallback)
    {
    union
    {
    PFNCALLBACK m_callback;
    PFNMEMBERCALLBACK m_member;
    } a;

    a.m_member = pMemberCallback;
    return a.m_callback;
    }

    void CTimer::startTimer()
    {
    ISHELL_SetTimer( pIShell, timeInterval, functionCast(&CTimer::doTImer), NULL);
    }
    So what you say.
    stats counter