Join Today
+ Reply to Thread
Results 1 to 7 of 7
  1. #1

    Default iReminder by iniro

    Hello everybody
    Here is my first little application.
    I hope that somebody takes useful.

    -------------
    INTRODUCTION
    -------------
    iReminder is a shell linux application. iReminder let the user to define a group of events and a
    frecuency of execution for them.

    ------------
    FUNCIONALITY
    ------------
    The iReminder managed events will be defined in a file or in a group of files that will be
    created in a configurable directory. Everytime the program is executed, iReminder will check all
    selected directory files and will determine which ones must be showed.

    By default the program will be executed every hour, althought iReminder let modify this variable
    to determine a new execution frecuency.

    If the program determines that an event must be shown, a message box will apear and the user
    will have two options:
    - Show the event again in the next execution (Snooze).
    - Do not show the event since the next date (Done).

    In adition to this, if there is a pass event that has not been executed in the corresponding date
    (f.e. if the cellular has been switched of that day)it will be shown in the next progam execution.

    ----------------------
    GENERATING A NEW EVENT
    ----------------------
    iReminder will execute the events defined in a file or in a group of files. The events definition
    must be this way:

    desc1;desc2;desc3;e:frecuency

    - There must be one event per line.
    - The event will have a group of decriptions and a execution frecuency.
    - The separator character for each element will be ";" and during the
    event execution the ";" will be replaced with carrier return.
    - The date format will be "e:yyyymmdd"(yearmonthday).
    - File must end with a carrier return.

    -------------------------------------
    EVENTS EXECUTION FRECUENCY DEFINITION
    -------------------------------------
    The events execution frecuency definition can be done in diferent ways. You can give an event
    execution concrete date or you can use wild cards to specify any year, any month or any day.

    --------
    EXAMPLES
    --------
    Example1:

    iniro;Birtdhay 21/01/1980;e:????0121

    This event will be shown every January 21st of every year.


    Example2:

    bank payment;every month;e:??????31

    This event will be shown every month of every year.


    -----------
    INSTALATION
    -----------
    To install iReminder you must execute iReminderInstaller.lin. In this file there are two
    configuration variables:

    - The install folder (InstallFolder)
    - The reminders folder(RemindersFolder).

    ---------
    TODO list
    ---------
    - Change app sleep to run periodically.
    - Set the application focus (or top most) when needed.
    - When mobile is connected in mass storage mode, app ends



    Thanks to everybody again and sorry for my english
    Attached Files Attached Files

  2. #2

    Default

    that's great idea to create such an application and you did it well....
    however it might be better to create more user friendly interface instead of forcing user to creating some files, putting them into specified folder...
    think about the interface
    greetings

  3. #3
    Join Date
    Jan 2006
    Location
    Celebes, Macazzarth
    Posts
    317

    Default

    nice found bro

  4. #4
    Join Date
    Jun 2006
    Location
    Bangalore, India
    Posts
    200

    Default

    By default the program will be executed every hour, althought iReminder let modify this variable
    to determine a new execution frecuency.
    Good start..great work iniro.

    But I've a question.

    You claim that the program executes automatically every one hour. I see some technical difficulty in implementing it. How do you programmatically wakeup every one hour? If you are depending on the sleep system call (or even select/pselect with timeout), it would never wake up on time, when your phone is running in power saving mode.

    Having said all this, I am talking about A780 only. I am not sure if this problem exists in other phones too. To me, this is how an embedded linux should work, to optimize battery usage.

    Please let me know, if you are still able to do it correctly, bcoz I am also looking for such a solution. It is not a simple problem according to me.
    /* Gerald Naveen A */

  5. #5
    Join Date
    Nov 2005
    Location
    Pakistan
    Posts
    860

    Default

    i do not have exact idea of implementing such things, but how about using a CRON job for schedule checks?
    i think its possible after some tweaking and it will sound more LINUX like
    --------------------
    -->E680i... ROX.
    --------------------

  6. #6

    Default

    yes i tried implementing a cron daemon in this way

    Launch this script at startup:

    ./home/native/.profile
    sleep 0.5
    mkdir /var/spool
    mkdir /var/spool/cron
    mkdir /var/spool/cron/crontabs
    cp /diska/.system/cron/root /var/spool/cron/crontabs/root
    #/diska/.system/bin/busybox crond -L /diska/logCron.txt -l 2
    /sbin/start-stop-daemon -s 0 -S -c root -x /diska/.system/bin/busybox -- crond -L /diska/log.txt -l 2

    and this is /var/spool/cron/crontabs/root file content:

    * */1 * * * echo "HOLA" >> /diska/1.txt
    */1 * * * * /mmc/mmca1/iCron/iPrueba.lin

    this cron works, but when mobile enters in battery save mode, this programs gets is suspended state.

    I found that in mobile is a folder named /etc/cron.daily
    can we make a folder /etc/cron.hourly
    it will works?

  7. #7
    Join Date
    Jun 2006
    Location
    Bangalore, India
    Posts
    200

    Default

    sorry, but my guess is that cron wont help; If cron can do it, we can as well do it.

    there is a way around which I figured out sometime back when I was working on an app for A780 (but had to drop bcoz i couldnt do this sleep thingy). we can talk to the hardware clock (not the CPU's) and ask it to wake us up (this is how alarm, calendar etc., work now) on time. But unfortunately, the existing A780 app (/usr/SYSqtapp/.../misc1) holds a lock on the hardware clock all the time, making it unusuable for other apps. afaik, it is anyway a problem because the hardware clock can be used by only app at a time. The driver for hardware clock (atleast) on E680/A780 does not support multiple clients simultanenously.

    I have an idea, but looks tedious. The one way I can think of now is if we can write a hardware-clock-abstraction layer, which would be the only client to the *real* hardware clock, and all other apps should use our layer (pbly thru UNIX domain sockets?) However, that also means, before even we can think of writing any new apps, we should duplicate misc1 app, which handles all the timer related stuff in A780 - so that basic features of the phone remain intact. This is where I thought it might take sometime and stopped btw, do u remember A780 projects are just my freelance projects.
    /* Gerald Naveen A */


 
+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Single Sign On provided by vBSSO

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1