/****************************************************************************** glovedata.c The format about which information about the glove is stored. Note that while at the moment pitch and yaw measurements are not available, they may be at some future time. Similarly for the little finger. Copyright (c) Waleed Kadous 1995. waleed@cse.unsw.edu.au http://www.cse.unsw.edu.au/~waleed/ *****************************************************************************/ #include "glovedata.h" void printglove(glovedata* gd){ printf("%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, 0x%X, 0x%X, 0x%X, 0x%X\n", gd->x, gd->y, gd->z, gd->roll, gd->pitch, gd->yaw, gd->thumb, gd->fore, gd->index, gd->ring, gd->little, gd->keycode, gd->gstat1, gd->gstat2, gd->recvals); } void fprintglove(FILE *outfile, glovedata* gd){ fprintf(outfile, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, 0x%X, 0x%X, 0x%X, 0x%X\n", gd->x, gd->y, gd->z, gd->roll, gd->pitch, gd->yaw, gd->thumb, gd->fore, gd->index, gd->ring, gd->little, gd->keycode, gd->gstat1, gd->gstat2, gd->recvals); } int readglove(glovedata* gd){ int i, kc, gs1, gs2, rv; i= scanf("%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, 0x%X, 0x%X, 0x%X, 0x%X\n", &(gd->x), &(gd->y), &(gd->z), &(gd->roll), &(gd->pitch), &(gd->yaw), &(gd->thumb), &(gd->fore), &(gd->index), &(gd->ring), &(gd->little), &kc, &gs1, &gs2, &rv); gd->keycode = (unsigned char) kc; gd->gstat1 = (unsigned char) gs1; gd->gstat2 = (unsigned char) gs2; gd->recvals = (unsigned char) rv; return i; } int freadglove(FILE *infile, glovedata* gd){ int i, kc, gs1, gs2, rv; i= fscanf(infile, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, 0x%X, 0x%X, 0x%X, 0x%X\n", &(gd->x), &(gd->y), &(gd->z), &(gd->roll), &(gd->pitch), &(gd->yaw), &(gd->thumb), &(gd->fore), &(gd->index), &(gd->ring), &(gd->little), &kc, &gs1, &gs2, &rv); gd->keycode = (unsigned char) kc; gd->gstat1 = (unsigned char) gs1; gd->gstat2 = (unsigned char) gs2; gd->recvals = (unsigned char) rv; return i; }