X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=rf433rcv%2Fteensy%2Fusb_rawhid.h;fp=rf433rcv%2Fteensy%2Fusb_rawhid.h;h=65bc4de7af1fe0a0b914fa034775b390b3cfa3fd;hp=0000000000000000000000000000000000000000;hb=deb2b278d460a716e0e2d8be370b1ee8f8963e34;hpb=1c4aea8ca6197b857498de2881b8bc594af1df49 diff --git a/rf433rcv/teensy/usb_rawhid.h b/rf433rcv/teensy/usb_rawhid.h new file mode 100644 index 0000000..65bc4de --- /dev/null +++ b/rf433rcv/teensy/usb_rawhid.h @@ -0,0 +1,85 @@ +#ifndef usb_serial_h__ +#define usb_serial_h__ + +#include + +void usb_init(void); // initialize everything +uint8_t usb_configured(void); // is the USB port configured +int8_t usb_rawhid_recv(uint8_t *buffer, uint8_t timeout); // receive a packet, with timeout +int8_t usb_rawhid_send(const uint8_t *buffer, uint8_t timeout); // send a packet, with timeout + +// This file does not include the HID debug functions, so these empty +// macros replace them with nothing, so users can compile code that +// has calls to these functions. +#define usb_debug_putchar(c) +#define usb_debug_flush_output() + + +// Everything below this point is only intended for usb_serial.c +#ifdef USB_PRIVATE_INCLUDE +#include +#include +#include + +#define EP_TYPE_CONTROL 0x00 +#define EP_TYPE_BULK_IN 0x81 +#define EP_TYPE_BULK_OUT 0x80 +#define EP_TYPE_INTERRUPT_IN 0xC1 +#define EP_TYPE_INTERRUPT_OUT 0xC0 +#define EP_TYPE_ISOCHRONOUS_IN 0x41 +#define EP_TYPE_ISOCHRONOUS_OUT 0x40 + +#define EP_SINGLE_BUFFER 0x02 +#define EP_DOUBLE_BUFFER 0x06 + +#define EP_SIZE(s) ((s) > 32 ? 0x30 : \ + ((s) > 16 ? 0x20 : \ + ((s) > 8 ? 0x10 : \ + 0x00))) + +#define MAX_ENDPOINT 4 + +#define LSB(n) (n & 255) +#define MSB(n) ((n >> 8) & 255) + +#if defined(__AVR_AT90USB162__) +#define HW_CONFIG() +#define PLL_CONFIG() (PLLCSR = ((1<