/ teensy3 / usb_inst.cpp
usb_inst.cpp
 1  /* Teensyduino Core Library
 2   * http://www.pjrc.com/teensy/
 3   * Copyright (c) 2013 PJRC.COM, LLC.
 4   *
 5   * Permission is hereby granted, free of charge, to any person obtaining
 6   * a copy of this software and associated documentation files (the
 7   * "Software"), to deal in the Software without restriction, including
 8   * without limitation the rights to use, copy, modify, merge, publish,
 9   * distribute, sublicense, and/or sell copies of the Software, and to
10   * permit persons to whom the Software is furnished to do so, subject to
11   * the following conditions:
12   *
13   * 1. The above copyright notice and this permission notice shall be 
14   * included in all copies or substantial portions of the Software.
15   *
16   * 2. If the Software is incorporated into a build system that allows 
17   * selection among a list of target devices, then similar target
18   * devices manufactured by PJRC.COM must be included in the list of
19   * target devices and selectable in the same manner.
20   *
21   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22   * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
25   * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
26   * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
27   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28   * SOFTWARE.
29   */
30  
31  #include "WProgram.h"
32  
33  #if F_CPU >= 20000000
34  
35  #ifdef USB_SERIAL
36  usb_serial_class Serial;
37  #endif
38  
39  #ifdef USB_HID
40  usb_keyboard_class Keyboard;
41  usb_mouse_class Mouse;
42  usb_joystick_class Joystick;
43  uint8_t usb_joystick_class::manual_mode = 0;
44  usb_seremu_class Serial;
45  #endif
46  
47  #ifdef USB_SERIAL_HID
48  usb_serial_class Serial;
49  usb_keyboard_class Keyboard;
50  usb_mouse_class Mouse;
51  usb_joystick_class Joystick;
52  uint8_t usb_joystick_class::manual_mode = 0;
53  #endif
54  
55  #ifdef USB_MIDI
56  usb_midi_class usbMIDI;
57  usb_seremu_class Serial;
58  #endif
59  
60  #ifdef USB_RAWHID
61  usb_rawhid_class RawHID;
62  usb_seremu_class Serial;
63  #endif
64  
65  #ifdef USB_FLIGHTSIM
66  FlightSimClass FlightSim;
67  usb_seremu_class Serial;
68  #endif
69  
70  
71  #else // F_CPU < 20 MHz
72  
73  #if defined(USB_SERIAL) || defined(USB_SERIAL_HID)
74  usb_serial_class Serial;
75  #else
76  usb_seremu_class Serial;
77  #endif
78  
79  #endif // F_CPU
80  
81  void serialEvent() __attribute__((weak));
82  void serialEvent() {}