diff options
Diffstat (limited to 'src/cameras')
-rw-r--r-- | src/cameras/uca_pco.c | 30 | ||||
-rw-r--r-- | src/cameras/uca_pco.h | 8 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/cameras/uca_pco.c b/src/cameras/uca_pco.c new file mode 100644 index 0000000..daba6f6 --- /dev/null +++ b/src/cameras/uca_pco.c @@ -0,0 +1,30 @@ + +#include <clser.h> +#include <libpco/libpco.h> +#include "uca.h" +#include "uca_pco.h" + +struct pco_edge_t *pco; + +static void uca_pco_destroy(struct uca_t *uca) +{ + pco_destroy(pco); +} + +uint8_t uca_pco_init(struct uca_t *uca) +{ + pco = pco_init(); + if (!pco_active(pco)) { + pco_destroy(pco); + return 0; + } + + pco_scan_and_set_baud_rate(pco); + + /* Camera found, set function pointers... */ + uca->cam_destroy = &uca_pco_destroy; + + /* ... and some properties */ + pco_get_actual_size(pco, &uca->image_width, &uca->image_height); + return 1; +} diff --git a/src/cameras/uca_pco.h b/src/cameras/uca_pco.h new file mode 100644 index 0000000..c314ffe --- /dev/null +++ b/src/cameras/uca_pco.h @@ -0,0 +1,8 @@ +#ifndef __UNIFIED_CAMERA_ACCESS_PCO_H +#define __UNIFIED_CAMERA_ACCESS_PCO_H + +struct uca_t; + +uint8_t uca_pco_init(struct uca_t *uca); + +#endif |