X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Output%2FpjrcUSB%2Farm%2Fusb_dev.h;h=827f843b6f75e9837fd0cb0a6d67b0be0f153440;hb=46765e85c57e19b89754f4f9c26c8f18b35148e5;hp=4e8af8beb152ccf83218f3e195a1cc47a34f1c91;hpb=8eba0ae3541c0d55ab0ee568dfab71a7042c0992;p=kiibohd-controller.git diff --git a/Output/pjrcUSB/arm/usb_dev.h b/Output/pjrcUSB/arm/usb_dev.h index 4e8af8b..827f843 100644 --- a/Output/pjrcUSB/arm/usb_dev.h +++ b/Output/pjrcUSB/arm/usb_dev.h @@ -1,7 +1,7 @@ /* Teensyduino Core Library * http://www.pjrc.com/teensy/ * Copyright (c) 2013 PJRC.COM, LLC. - * Modifications by Jacob Alexander 2014 + * Modifications by Jacob Alexander 2014-2015 * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the @@ -11,10 +11,10 @@ * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * - * 1. The above copyright notice and this permission notice shall be + * 1. The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * - * 2. If the Software is incorporated into a build system that allows + * 2. If the Software is incorporated into a build system that allows * selection among a list of target devices, then similar target * devices manufactured by PJRC.COM must be included in the list of * target devices and selectable in the same manner. @@ -29,22 +29,39 @@ * SOFTWARE. */ -#ifndef _usb_dev_h_ -#define _usb_dev_h_ +#pragma once -// This header is NOT meant to be included when compiling -// user sketches in Arduino. The low-level functions -// provided by usb_dev.c are meant to be called only by -// code which provides higher-level interfaces to the user. +// ----- Includes ----- +// Local Includes #include "usb_mem.h" #include "usb_desc.h" + + +// ----- Defines ----- + #define usb_device_software_reset() SOFTWARE_RESET() + + +// ----- Variables ----- + +extern volatile uint8_t usb_configuration; + +extern uint16_t usb_rx_byte_count_data[NUM_ENDPOINTS]; + +extern volatile uint8_t usb_cdc_line_coding[7]; +extern volatile uint8_t usb_cdc_line_rtsdtr; +extern volatile uint8_t usb_cdc_transmit_flush_timer; + + + +// ----- Functions ----- + uint8_t usb_configured(); // is the USB port configured +uint8_t usb_init(); // Returns 1 on success, 0 if no cable is attached -void usb_init(); void usb_isr(); void usb_tx( uint32_t endpoint, usb_packet_t *packet ); void usb_tx_isr( uint32_t endpoint, usb_packet_t *packet ); @@ -54,36 +71,17 @@ uint32_t usb_tx_packet_count( uint32_t endpoint ); usb_packet_t *usb_rx( uint32_t endpoint ); -void usb_device_reload(); - -extern volatile uint8_t usb_configuration; - -extern uint16_t usb_rx_byte_count_data[NUM_ENDPOINTS]; static inline uint32_t usb_rx_byte_count(uint32_t endpoint) __attribute__((always_inline)); static inline uint32_t usb_rx_byte_count(uint32_t endpoint) { - endpoint--; - if (endpoint >= NUM_ENDPOINTS) return 0; - return usb_rx_byte_count_data[endpoint]; + endpoint--; + if ( endpoint >= NUM_ENDPOINTS ) + return 0; + return usb_rx_byte_count_data[ endpoint ]; } -#ifdef CDC_DATA_INTERFACE -extern uint32_t usb_cdc_line_coding[2]; -extern volatile uint8_t usb_cdc_line_rtsdtr; -extern volatile uint8_t usb_cdc_transmit_flush_timer; -extern void usb_serial_flush_callback(void); -#endif - - -#ifdef KEYBOARD_INTERFACE -extern uint8_t keyboard_modifier_keys; -extern uint8_t keyboard_keys[6]; -extern uint8_t keyboard_protocol; -extern uint8_t keyboard_idle_config; -extern uint8_t keyboard_idle_count; -extern volatile uint8_t keyboard_leds; -#endif - +void usb_device_reload(); +void usb_device_check(); -#endif +extern void usb_serial_flush_callback();