4
#include <pcilib/error.h>
10
pcilib_event_id_t evid;
11
ipecamera_event_info_t info;
12
ipecamera_t *ipecamera;
17
pcilib_t *pcilib = pcilib_open("/dev/fpga0", "ipecamera");
18
if (!pcilib) pcilib_error("Error opening device");
20
ipecamera = (ipecamera_t*)pcilib_get_event_engine(pcilib);
21
if (!ipecamera) pcilib_error("Failed to get ipecamera event engine");
23
err = ipecamera_set_buffer_size(ipecamera, 8);
24
if (err) pcilib_error("Error (%i) setting buffer size", err);
26
err = pcilib_start(pcilib, PCILIB_EVENTS_ALL, PCILIB_EVENT_FLAGS_DEFAULT);
27
if (err) pcilib_error("Error (%i) starting event engine", err);
29
err = pcilib_trigger(pcilib, PCILIB_EVENT0, 0, NULL);
30
if (err) pcilib_error("Error (%i) triggering event", err);
32
err = pcilib_get_next_event(pcilib, 100000, &evid, sizeof(info), (pcilib_event_info_t*)&info);
33
if (err) pcilib_error("Error (%i) while waiting for event", err);
35
data = pcilib_get_data(pcilib, evid, PCILIB_EVENT_DATA, &size);
36
if (!data) pcilib_error("Error getting event data");
38
printf("Writting %zu bytes to /dev/null\n", size);
39
f = fopen("/dev/null", "w");
41
fwrite(data, 1, size, f);
45
err = pcilib_return_data(pcilib, evid, PCILIB_EVENT_DATA, data);
46
if (err) pcilib_error("Error returning data, data is possibly corrupted");
48
pcilib_stop(pcilib, PCILIB_EVENT_FLAGS_DEFAULT);