From eb87aeae9cbcb66780c01ed2c2d17740717d7f3a Mon Sep 17 00:00:00 2001 From: Sung-Jin Park Date: Wed, 28 Aug 2019 10:14:36 +0900 Subject: [PATCH] default_backend: leave timestamp inside frame callback and make use of ani_info for tests Change-Id: I4e4aab6e885c5680ceb3c26e8a4e8fbc959f89d2 Signed-off-by: Sung-Jin Park --- backends/default_backend.c | 31 +++++++++++++++++-------------- configure.ac | 3 +-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/backends/default_backend.c b/backends/default_backend.c index 36cc4a8..4f3eb32 100644 --- a/backends/default_backend.c +++ b/backends/default_backend.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #define ANI_COLLECTION_DIR "/usr/share/pui/" @@ -96,24 +97,33 @@ _ani_backend_frame_cb(void *data, int serial) pui_ani_t *ani = (pui_ani_t *)data; pui_backend_ani_data *ani_data = NULL; pui_ani_control_buffer *buffer = NULL; + double now; ani_data = pui_backend_ani_get_ani_data(ani); default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info; - pui_info("... serial=%d\n", serial); + now = ecore_time_unix_get(); + + pui_info("[time:%.3f] serial=%d\n", now, serial); /* TODO : make use of ani_info */ (void) ani_info; buffer = pui_backend_ani_get_buffer(ani); + if (!buffer) + { + pui_err("Failed to get buffer !\n"); + return 0; + } + /* test example */ for(int i = 0; i<12; i++) { buffer->ptr[4*i] = 0; - buffer->ptr[4*i + 1] = (((serial%3) == 0) ? 0xFF:0); /* BLUE */ - buffer->ptr[4*i + 2] = (((serial%3) == 1) ? 0xFF:0); /* GREEN */ - buffer->ptr[4*i + 3] = (((serial%3) == 2) ? 0xFF:0); /* RED */ + buffer->ptr[4*i + 1] = (ani_info->frames[ani_info->key_frame_idx].leds[i].color & 0xFF0000) >> 16;//R + buffer->ptr[4*i + 2] = (ani_info->frames[ani_info->key_frame_idx].leds[i].color & 0x00FF00) >> 8;//G + buffer->ptr[4*i + 3] = ani_info->frames[ani_info->key_frame_idx].leds[i].color & 0x0000FF;//B } e = pui_backend_ani_set_buffer(ani, buffer); @@ -142,10 +152,6 @@ get_ani_info_from_ani_collection(pui_id id) { default_ani_info *ani_info = NULL; - //TODO - //ex> data->id = id; - //ex> data->interval = 30; - if (!_animations_hash) return NULL; @@ -172,15 +178,12 @@ _ani_start(pui_ani_t *ani, int repeat) pui_backend_ani_data *ani_data = NULL; ani_data = pui_backend_ani_get_ani_data(ani); - default_ani_info *info = (default_ani_info *)ani_data->ani_info; - - //TODO - (void) info; + default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info; - pui_info("... info->id: %s, repeat : %d\n", info->id, repeat); + pui_info("... info->id: %s, repeat : %d\n", ani_info->id, repeat); pui_backend_ani_status_update(ani, PUI_ANI_STATUS_STARTED); - ret = pui_backend_ani_add_frame_cb(ani, _ani_backend_frame_cb, 0.1); + ret = pui_backend_ani_add_frame_cb(ani, _ani_backend_frame_cb, (double)ani_info->interval / 1000); if (!ret) { diff --git a/configure.ac b/configure.ac index 5a36a35..832fed7 100644 --- a/configure.ac +++ b/configure.ac @@ -50,10 +50,9 @@ AC_SUBST(LIBPUI_CFLAGS) AC_SUBST(LIBPUI_LIBS) # libpui default backend -DEFAULT_BACKEND_REQUIRES="eina json-c" +DEFAULT_BACKEND_REQUIRES="eina ecore json-c" PKG_CHECK_MODULES(DEFAULT_BACKEND, $[DEFAULT_BACKEND_REQUIRES]) DEFAULT_BACKEND_CFLAGS="$DEFAULT_BACKEND_CFLAGS $LIBPUI_DIR " -#DEFAULT_BACKEND_CFLAGS="$DEFAULT_BACKEND_CFLAGS $LIBPUI_CFLAGS " DEFAULT_BACKEND_LIBS="$DEFAULT_BACKEND_LIBS $LIBPUI_LIB " AC_SUBST(DEFAULT_BACKEND_CFLAGS) -- 2.7.4