diff options
author | Matthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de> | 2011-02-28 16:53:29 +0100 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de> | 2011-02-28 16:53:29 +0100 |
commit | f6f2bafe19fd57c56201e79be6b7692f16f16099 (patch) | |
tree | a10a1da5d9873c3d9427bbd6b905e024024aacbe | |
parent | 9d4f8e270d27556f277a14c567d516b3c090a027 (diff) | |
download | uca-f6f2bafe19fd57c56201e79be6b7692f16f16099.tar.gz uca-f6f2bafe19fd57c56201e79be6b7692f16f16099.tar.bz2 uca-f6f2bafe19fd57c56201e79be6b7692f16f16099.tar.xz uca-f6f2bafe19fd57c56201e79be6b7692f16f16099.zip |
Add grab example
-rw-r--r-- | src/grabbers/me4.c | 8 | ||||
-rw-r--r-- | test/CMakeLists.txt | 6 | ||||
-rw-r--r-- | test/enum.c (renamed from test/test.c) | 0 | ||||
-rw-r--r-- | test/grab.c | 27 |
4 files changed, 38 insertions, 3 deletions
diff --git a/src/grabbers/me4.c b/src/grabbers/me4.c index 54ac060..5b46c79 100644 --- a/src/grabbers/me4.c +++ b/src/grabbers/me4.c @@ -39,8 +39,14 @@ uint32_t uca_me4_alloc(struct uca_grabber_t *grabber, uint32_t n_buffers) uint32_t width, height; uca_me4_get_property(grabber, FG_WIDTH, &width); uca_me4_get_property(grabber, FG_HEIGHT, &height); + /* FIXME: get size of pixel */ - ((struct uca_me4_grabber_t *) grabber->user)->mem = Fg_AllocMemEx(GET_FG(grabber), n_buffers*width*height*sizeof(uint16_t), n_buffers); + dma_mem *mem = Fg_AllocMemEx(GET_FG(grabber), n_buffers*width*height*sizeof(uint16_t), n_buffers); + if (mem != NULL) { + ((struct uca_me4_grabber_t *) grabber->user)->mem = mem; + return UCA_NO_ERROR; + } + return UCA_ERR_PROP_GENERAL; } uint32_t uca_me4_init(struct uca_grabber_t **grabber) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b8dfce7..3f1e2a5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -4,6 +4,8 @@ add_definitions("--std=c99 -Wall") include_directories(${CMAKE_SOURCE_DIR}/src) -add_executable(test test.c) +add_executable(enum enum.c) +add_executable(grab grab.c) -target_link_libraries(test uca) +target_link_libraries(enum uca) +target_link_libraries(grab uca) diff --git a/test/test.c b/test/enum.c index 0649c64..0649c64 100644 --- a/test/test.c +++ b/test/enum.c diff --git a/test/grab.c b/test/grab.c new file mode 100644 index 0000000..91a3cdc --- /dev/null +++ b/test/grab.c @@ -0,0 +1,27 @@ + +#include <stdio.h> +#include "uca.h" +#include "uca-cam.h" + +int main(int argc, char *argv[]) +{ + struct uca_t *uca = uca_init(); + if (uca == NULL) { + printf("Couldn't find a camera\n"); + return 1; + } + + /* take first camera */ + struct uca_camera_t *cam = uca->cameras; + + uint32_t val = 5000; + cam->set_property(cam, UCA_PROP_EXPOSURE, &val); + val = 0; + cam->set_property(cam, UCA_PROP_DELAY, &val); + + if (uca_cam_alloc(cam, 20) != UCA_NO_ERROR) + printf("Couldn't allocate buffer memory\n"); + + uca_destroy(uca); + return 0; +} |