Beiträge von tero_

    Hello,
    I have two patch files (attached) for changing the 'Info' key into 'Menu' key in TimerEditor, and using the 'Info' for displaying event information.
    It is limited to showing single shot timers (not repeating).


    I know one problem with the patch that I haven't corrected:
    If you try to show event information of a past recording, that may show a info of a totally different programme because broadcaster may have reused the past recording event-id for a future event.
    An easy fix would be to check before showing that you are not trying to show a past recording info.

    My image from 27.4.2009 (DMM Experimental) has a totally different one:


    Code
    rootfs           	/                	auto   	defaults          	1 1
    proc             	/proc            	proc   	defaults          	0 0
    devpts           	/dev/pts         	devpts 	mode=0620,gid=5   	0 0
    usbdevfs         	/proc/bus/usb    	usbfs  	defaults          	0 0
    /dev/root  	/boot            	jffs2  	ro                	0 0
    tmpfs            	/var             	tmpfs  	defaults          	0 0
    tmpfs            	/tmp             	tmpfs  	defaults          	0 0
    /dev/discs/disc0/part1 /media/cf     	auto   	defaults          	0 0
    /dev/discs/disc1/part1 /media/hdd     	auto   	defaults          	0 0


    The line with /media/cf was originally /media/hdd and the following line I had to add myself.
    If I ever take the CF away, then I would have to edit the fstab again. This is not good.

    This don't work... :loudly_crying_face:


    ..and into new images the problem is not resolved !!!!

    Is this related to the thing that if you have CF mounted in the box, then /dev/discs/disc0 is is the CF?
    If you remove the CF, then /dev/discs/disc0 is actually the HDD.


    I had to change the /etc/fstab /media/hdd mount too to disc1.
    This is with Experimental image 27.4.2009, and has been quite some time!

    1) First is that after changes I have to restart Dreambox to see changes in plugin behaviour- how to recompile the source without rebooting sequence which take a lot of time?

    One trick that I have used is to force module reload every time your plugin is called.
    plugin.py will contain only the bare minimum:



    Then your actual plugin code will be in YourModule.py file.
    In this case you would have YourScreen defined there.
    All your editing would be in that file, and every time you start the plugin, the code in plugin.py reloads your module.
    If you don't want to crash the whole Enigma while testing something, you can wrap your code with try - except.

    After developped some code or plugin, currently we have to deploy to a REAL dreambox to test.
    I'm wondering is there any virtual dreambox that a emulator can simulate a real dreambox?
    Many embedded system develop kit include an emulator (cellphones, etc)

    This is not quite a Dreambox emulator, but more like Enigma2 ported to PC Linux:
    Enigma2 under Qemu
    It can be run directly over a native Linux or on a Windows PC using the Qemu to run Linux first.


    There are some limitations on what you can use it for, but Plugin testing can be done to some extent.
    I have had some PC (laptop) keyboard problems with the ported Enigma, so remote control keys mapped to my laptop keyboard doesn't work very well.

    This is great, but in order to use it for any serious testing, how do you access plugins? If menu-button is not implemented, then how about blue-button? According to keymap.xml F1 should be same as blue, but is the PC keyboard emulating Dreambox keyboard?


    Do you know if by editing the keymap.xml one could map a certaing PC key to the missing remote controller keys?

    I have used following piece of code for my plugin:



    It works very well. Just import the "_" from the module where you have these definitions into modules that need your plugin translations.


    In this case the text domain is hard-coded into _() function, so you can have normal _("text") translations in your plugin.

    OK, I got that.
    Following lines in "build/conf/local.conf" made the thing:


    Code
    PARALLEL_MAKE = "-j 3"
    BB_NUMBER_THREADS = "3"


    And to make that automatic (Makefile-opendreambox overwrites it), I changed the makefile:


    Code
    build/conf/local.conf:
            ...
            echo 'PARALLEL_MAKE = "-j 3"' >> build/conf/local.conf
            echo 'BB_NUMBER_THREADS = "3"' >> build/conf/local.conf


    The number "3" is here the number of concurrent / parallel makes.
    I'm not sure if both of these are really needed, but it doesn't hurt.

    Is it possible to build the enigma2 image with two or more CPUs concurrently?
    It takes quite a while to build the whole image from scratch, and it seems like a big waste to compile just one file at a time when I have a two CPU Linux box at use.


    When compiling Linux for my PC, the concurrency (make -j 3) makes the compilation at least twice as fast as with no concurrency.


    When you are compiling for dm7025, the architecture is mips32.
    The "nocona" architecture seems to be some kind of 64-bit intel processor.
    Just remove the "-march=nocona". As the compiler says, the "mips32" is already set.

    Hello 3c5x9,


    Would it be possible to make a new compilation of the Webcam for the current CVS-image (Boxman) using Python v2.5.1?


    If the existing Webcam plugin is installed to e.g. the 1.8.2007 version of Boxman, Enigma says that the *.pyc files have incorrect checksum. That must be due to the Python version change (Boxman uses now Python v2.5.1. The old images, e.g. the latest official Enigma release had Python v2.4.x).


    The other option would be, of couse, to release the Webcam sources, so that Enigma can compile the correct *.pyc files by itself :smiling_face:


    There is also an error in the imaging library installation:


    root@dm7025:/media/hdd/tmp# ipkg install imaging_1.0-r0_mipsel.ipk
    Installing imaging (1.0-r0) to root...
    Nothing to be done
    An error ocurred, return value: 1.
    Collected errors:
    ERROR: Cannot satisfy the following dependencies for imaging:
    libjpeg62 (>= 6b)

    I can make the installation by adding "-force-depend" option, but I don't know if that would work.
    /usr/lib has following:


    root@dm7025:/media/hdd/tmp# ls -l /usr/lib/*jpeg*
    lrwxrwxrwx 1 root root 17 Aug 1 05:17 /usr/lib/libjpeg.so.62 -> libjpeg.so.62.0.0
    -rwxr-xr-x 1 root root 171268 Jul 19 03:22 /usr/lib/libjpeg.so.62.0.0

    Zitat

    Originally posted by gnubuntux
    was mich auch irritiert: /usr/bin/enigma2 wird 3-mal gestartet.


    Hans


    Sorry for answering in English, but my German is read-only :winking_face:


    The irritation: I assume that enigma2 is threaded, so all the three instances of it share the same memory. You should see that the actual memory usage (by "top" or "ps" commands) should be exactly the same for each of the instances.


    Some things (like concurrency) are easier to implement using threads, compared to single monolithic implementation. Forking would use more memory (separate address space).

    Zitat

    Originally posted by 3c5x9
    This plugin depends on Python Image Libary (PIL). Install it manual befor the plugin or do it with the plugin :winking_face:


    I tried to install the imaging_1.0-r0_mipsel.ipk, but it seems to be corrupt.
    the rar archive seems to be OK, but the ipk inside it is not?


    root@dm7025:/media/hdd/tmp# ipkg install imaging_1.0-r0_mipsel.ipk
    ipkg: Invalid magic
    ipkg: *** Couldnt kill old gunzip process *** aborting
    root@dm7025:/media/hdd/tmp# ar -t imaging_1.0-r0_mipsel.ipk
    debian-binary
    data.tar.gz
    ar: Invalid ar header


    There should be a "control.tar.gz" in a proper ipk file, but it is missing.
    Also the included "data.tar.gz" (actual content) is only partial:


    root@dm7025:/media/hdd/tmp# gzip -dc imaging_1.0/data.tar.gz |tar tvf -
    drwxr-xr-x 0/0 0 2006-06-21 21:21:22 .
    drwxr-xr-x 0/0 0 2006-06-21 21:21:21 ./usr
    drwxr-xr-x 0/0 0 2006-06-21 21:21:21 ./usr/bin
    -rwxr-xr-x 0/0 2602 2006-06-21 21:21:21 ./usr/bin/pilfile.py
    -rwxr-xr-x 0/0 1007 2004-10-06 08:55:29 ./usr/bin/pilfont.py
    -rwxr-xr-x 0/0 2369 2006-06-21 21:21:21 ./usr/bin/pilconvert.py
    ...
    -rw-r--r-- 0/0 4536 2006-06-21 21:21:21 ./usr/lib/python2.4/site-packages/PIL/ImageChops.pyc
    -rw-r--r-- 0/0 1926 2004-10-06 08:55:26 ./usr/lib/python2.4/site-packages/PIL/ImageGrab.py
    gzip: unexpected end of file


    The PIL source is of course available, but it would somebody have this ipk already compiled?