|
My first camlib driver
|
|
gnome-driver.c
|
#include <gphoto2/gphoto2-library.h>
#include <string.h>
int
camera_abilities (CameraAbilitiesList *list)
{
CameraAbilities a;
memset (&a, 0, sizeof (CameraAbilities));
strcpy (a.model, "GNOME");
a.port = GP_PORT_SERIAL;
a.operations = GP_OPERATION_CAPTURE_PREVIEW;
gp_abilities_list_append (list, a);
return (GP_OK);
}
int
camera_id (CameraText *text)
{
strcpy (text->text, "GNOME");
return (GP_OK);
}
static int
camera_capture_preview (Camera *camera, CameraFile *file, GPContext *context)
{
gp_file_open (file, "/usr/share/pixmaps/gnome-logo-icon.png");
return (GP_OK);
}
int
camera_init (Camera *camera, GPContext *context)
{
camera->functions->capture_preview = camera_capture_preview;
return (GP_OK);
}
| |
Makefile
|
CFLAGS = -g -O2 -Wall `pkg-config --cflags gtk+-2.0 libgphoto2`
LDFLAGS += `pkg-config --libs gtk+-2.0 libgphoto2`
#driverdir = `pkg-config --variable driverdir libgphoto2`
driverdir = /usr/lib/gphoto2/2.1.0/
SOURCE=gnome-driver.c
TARGET=libgphoto2-gnome-driver.la
all: $(SOURCE)
libtool --mode=compile gcc $(CFLAGS) -c gnome-driver.c
libtool --mode=link ld $(CFLAGS) $(LDFLAGS) -o $(TARGET) -rpath $(driverdir) -module -avoid-version gnome-driver.lo
install:
libtool --mode=install install -c $(TARGET) $(driverdir)/$(TARGET)
libtool --finish $(driverdir)
| |
Usage
|
gphoto2 --capture-preview --camera "GNOME" --port serial:/dev/ttyS0
|
|