maybe have offset measurement

master
Dario Ernst 15 years ago
parent a302c624d2
commit 33f61a8671

@ -29,7 +29,7 @@ respectively.
#include "../firmware/masterchip/usbdrv/usbconfig.h" /* device's VID/PID and names */
void usage() {
printf("Usage: read-temp [spi|temp|dbg] [[opcode] [addr] [value]]\n");
printf("Usage:\tread-temp [spi|temp|dbg] [[opcode] [addr] [value]]\n\tread-temp [offset] [channel]\n");
}
int main(int argc, char **argv)
@ -128,7 +128,6 @@ int cnt, vid, pid;
int dbg_getchar[] = {6, 0, 0};
int *rq;
fprintf(stdout, "answer: value=0x%04x (%i)\n", 1,1);
while(1) {
// check whether we have new
rq = dbg_getchar;
@ -146,6 +145,39 @@ int cnt, vid, pid;
fflush(stdout);
}
}
} else if(strcasecmp(argv[1], "offset") == 0) {
if(argc != 3) {
usage();
return 0;
}
int chan;
int *rq;
chan = atoi(argv[2]);
int offset_start[] = {6,1,chan};
int offset_stop[] = {6,2,chan};
rq = offset_start;
fprintf(stdout, "starting offset measuring for channel %i", chan);
cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, rq[0], rq[1], rq[2], buffer, sizeof(buffer), 5000);
if(cnt < 0){
fprintf(stdout, "\nUSB error in iteration ?!?: %s\n", usb_strerror());
}
sleep(10);
rq = offset_stop;
fprintf(stdout, "stopping and retrieving...");
cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, rq[0], rq[1], rq[2], buffer, sizeof(buffer), 5000);
if(cnt < 0){
fprintf(stdout, "\nUSB error in iteration ?!?: %s\n", usb_strerror());
}
rxIndex = ((int)buffer[1] & 0xff) | (((int)buffer[0] & 0xff) << 8);
fprintf(stdout, "measured offset %i", rxIndex);
} else {
usage();
}

Loading…
Cancel
Save