Mercurial > ~darius > hgwebdir.cgi > tempctrl
view testugen.c @ 41:5898fba6593c
Add temperature control.
- Split out console stuff to cons.[ch]. Set up stdio so we can use printf etc.
- Use \r\n as the line terminator consistently.
- Add OWGetTemp to get temperatures from a device.
- Load/save settings in EEPROM, defaults loaded from flash.
Nearly feature complete except you can't edit ROM IDs without a programming tool :)
(To be fixed)
Needs more testing.
author | darius@inchoate.localdomain |
---|---|
date | Sun, 06 Jul 2008 22:19:53 +0930 |
parents | d5a265299a4b |
children |
line wrap: on
line source
#include <sys/types.h> #include <sys/ioctl.h> #include <dev/usb/usb.h> #include <sys/errno.h> #include <sys/uio.h> #include <unistd.h> #include <fcntl.h> #include <stdio.h> int main(int argc, char **argv) { int endpt2fd, i, len; char *endpt2name = "/dev/ugen0.2"; uint8_t data[256]; if ((endpt2fd = open(endpt2name, O_RDWR)) == -1) { fprintf(stderr, "Unable to open %s: %s\n", endpt2name, strerror(errno)); exit(1); } i = 1; if (ioctl(endpt2fd, USB_SET_SHORT_XFER, &i) == -1) { fprintf(stderr, "Unable to set short xfer on end point 2: %s\n", strerror(errno)); exit(1); } while(1) { len = read(endpt2fd, data, 256); printf("len = %d\n", len); if (len == 0) { printf("EOF\n"); continue; } if (len == -1) { printf("read error: %s\n", strerror(errno)); exit(1); } for (i = 0; i < len; i++) printf("0x%02x ", data[i]); printf("\n"); } }