X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=libdivecomputer.c;h=c08b1175fe42654e1aa4b2c128b41c39e7b885d7;hb=7d8fed4eee77ed8e011762bde6f5691f0fa81f39;hp=c95e02ac442131767d9a91b6dbfe90d03d845006;hpb=6b0bb87f5b1f6495f0d4853f5f71c5774682cc32;p=ext%2Fsubsurface.git diff --git a/libdivecomputer.c b/libdivecomputer.c index c95e02a..c08b117 100644 --- a/libdivecomputer.c +++ b/libdivecomputer.c @@ -222,6 +222,35 @@ static device_status_t device_open(const char *devname, static void event_cb (device_t *device, device_event_t event, const void *data, void *userdata) { + const device_progress_t *progress = (device_progress_t *) data; + const device_devinfo_t *devinfo = (device_devinfo_t *) data; + const device_clock_t *clock = (device_clock_t *) data; + device_data_t *devdata = (device_data_t *) userdata; + + switch (event) { + case DEVICE_EVENT_WAITING: + printf("Event: waiting for user action\n"); + break; + case DEVICE_EVENT_PROGRESS: + printf("Event: progress %3.2f%% (%u/%u)\n", + 100.0 * (double) progress->current / (double) progress->maximum, + progress->current, progress->maximum); + break; + case DEVICE_EVENT_DEVINFO: + devdata->devinfo = *devinfo; + printf("Event: model=%u (0x%08x), firmware=%u (0x%08x), serial=%u (0x%08x)\n", + devinfo->model, devinfo->model, + devinfo->firmware, devinfo->firmware, + devinfo->serial, devinfo->serial); + break; + case DEVICE_EVENT_CLOCK: + devdata->clock = *clock; + printf("Event: systime=%lld, devtime=%u\n", + clock->systime, clock->devtime); + break; + default: + break; + } } static int