EFL

From ArmadeusWiki
Revision as of 15:00, 9 March 2013 by Jorasse (Talk | contribs) (RootFS with EFL)

Jump to: navigation, search

Page under construction... Construction.png Informations on this page are not guaranteed !!

What is it ?

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

Building the librairies

Get the packages

The buildroot packages of the EFL can be downloaded there :

http://e-ghosting.com/~jujun/EFL-buildroot.tar.bz2

Compile it

Select the new options in the menuconfig and then start make

RootFS with EFL

You will need a mmc card ! the rootfs will use 29M (it is not very optimised)

10M tarball : http://www.e-ghosting.com/~jujun/armadeus/rootfs-EFL.arm.tar.bz2

  • and then uncompress the rootfs to a MMC/SD card in ext2 (or change it in the fstab), also copy the linux kernel to the rootfs /boot folder:
Note Note: The APF9328 and for the time being the APF51 do not load the kernel from the SD card but use the one in flash instead.
$ make shell_env
$ source armadeus_env.sh
$ sudo tar xvf pathtoyourdownload/rootfs-EFL.arm.tar.bz2  -C /media/mmc
$ sudo mkdir -p /media/mmct/boot
$ sudo cp $ARMADEUS_BINARIES/$ARMADEUS_BOARD_NAME-linux.bin /media/mmc/boot
$ sudo umount /media/mmc

and then in uboot :

  run mmcboot

Simple test

Screen Shoot of the example

A test using Evas and Ecore and Evas_Ecore

CodingWithEFL

The source of the above example :

#include <stdio.h>
#include <Ecore_Evas.h>
#include <Ecore.h>
#define WIDTH 320
#define HEIGHT 240

        Ecore_Evas  *   ee;
        Evas        *   evas;
        Evas_Object *   base_rect;
        Evas_Object *   base_rect_sec;
        Evas_Object *   img;

int main(){
        evas_init();
        ecore_init();
        //ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); // When you test on your host computer
        ee = ecore_evas_fb_new(NULL, 270, WIDTH, HEIGHT); //When you will run it on the board
        ecore_evas_show(ee);
        evas = ecore_evas_get(ee);

        base_rect = evas_object_rectangle_add(evas);//This is the red rectangle
        evas_object_resize(base_rect, WIDTH, HEIGHT-100);
        evas_object_color_set(base_rect, 255, 0, 0, 25);
        evas_object_show(base_rect);

        base_rect_sec = evas_object_rectangle_add(evas);//This is the blue rectangle
        evas_object_resize(base_rect_sec, WIDTH-200, HEIGHT);
        evas_object_color_set(base_rect_sec, 0, 0, 255, 25);
        evas_object_show(base_rect_sec);

        img = evas_object_image_add(evas);//This is the png
        evas_object_image_file_set(img, "e_logo.png", NULL);
        evas_object_resize(img, 241, 195);
        evas_object_image_fill_set(img, 0, 0, 241, 195);
        evas_object_layer_set(img, -999);
        evas_object_show(img);

        ecore_main_loop_begin();
        return 0;
}

As you can see, there is no "Violet" rectangle !

To Do

- "stable" buildroot packages
- Use it with the touchscreen (tslib)
- Get events from keyboard
- Edje
- Emotion (hard!)
- More examples