Ask help from Teensyduino expert about (composite Device & usb_desc.h)

Status
Not open for further replies.

charnjit

Active member
I am using system with Window7-32bit /Arduino 1.8.13 / Teensyduino 1.53
And trying to make composite device (Usb_keyboard&Mouse+usb_midi+serial)
For this i got some info and modified usb_desc.h file.
I think this set of interface is supported for my device

Code:
#elif defined(USB_SERIAL_HID)     //     My  composite Device (serial+kbd & Mouse + usb Midi)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0487
  #define DEVICE_CLASS		0xEF
  #define DEVICE_SUBCLASS	0x02
  #define DEVICE_PROTOCOL	0x01
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'S','e','r','i','a','l','/','K','e','y','b','o','a','r','d','/','M','o','u','s','e','/','U','S','B','','M','I','D','i'}
  #define PRODUCT_NAME_LEN	30
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS		7
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		6
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	2
  #define CDC_RX_ENDPOINT       3
  #define CDC_TX_ENDPOINT       4
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define KEYBOARD_INTERFACE    2	// Keyboard
  #define KEYBOARD_ENDPOINT     1
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    5	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     7
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define MOUSE_INTERFACE       3	// Mouse
  #define MOUSE_ENDPOINT        5
  #define MOUSE_SIZE            8
  #define MOUSE_INTERVAL        2
  #define MIDI_INTERFACE        0	// MIDI
  #define MIDI_NUM_CABLES       1
  #define MIDI_TX_ENDPOINT      8
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      9
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT7_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT8_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT9_CONFIG	ENDPOINT_RECEIVE_ONLY

after modify usb_desc.h this way .
i am not seeing this new collection of devices in usb Type in tools menu.
Is it correct ???
If yes, how to enable it in Tools/usb Type : “ “
If NO , what code should be relpace, & remove from orginal file “ usb_desc.h ” ???
Please see it in attachments ???
And what will be next step for me??? Or tell me full procedure step by step to create teensyLC as (serial+keyboard+mouse+MIDI)???

and original Usb_desc.h is this

Code:
/* Teensyduino Core Library
 * http://www.pjrc.com/teensy/
 * Copyright (c) 2017 PJRC.COM, LLC. Mayajaal
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * 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
 * included in all copies or substantial portions of the Software.
 *
 * 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.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

#ifndef _usb_desc_h_
#define _usb_desc_h_

// 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.

#include <stdint.h>
#include <stddef.h>

#define ENDPOINT_UNUSED			0x00
#define ENDPOINT_TRANSMIT_ONLY		0x15
#define ENDPOINT_RECEIVE_ONLY		0x19
#define ENDPOINT_TRANSMIT_AND_RECEIVE	0x1D
#define ENDPOINT_RECEIVE_ISOCHRONOUS	0x18
#define ENDPOINT_TRANSMIT_ISOCHRONOUS	0x14

/*
Each group of #define lines below corresponds to one of the
settings in the Tools > USB Type menu.  This file defines what
type of USB device is actually created for each of those menu
options.

Each "interface" is a set of functionality your PC or Mac will
use and treat as if it is a unique device.  Within each interface,
the "endpoints" are the actual communication channels.  Most
interfaces use 1, 2 or 3 endpoints.  By editing only this file,
you can customize the USB Types to be any collection of interfaces.

To modify a USB Type, delete the XYZ_INTERFACE lines for any
interfaces you wish to remove, and copy them from another USB Type
for any you want to add.

Give each interface a unique number, and edit NUM_INTERFACE to
reflect the total number of interfaces.

Next, assign unique endpoint numbers to all the endpoints across
all the interfaces your device has.  You can reuse an endpoint
number for transmit and receive, but the same endpoint number must
not be used twice to transmit, or twice to receive.

Most endpoints also require their maximum size, and some also
need an interval specification (the number of milliseconds the
PC will check for data from that endpoint).  For existing
interfaces, usually these other settings should not be changed.

Edit NUM_ENDPOINTS to be at least the largest endpoint number used.

Edit NUM_USB_BUFFERS to control how much memory the USB stack will
allocate.  At least 2 should be used for each endpoint.  More
memory will allow higher throughput for user programs that have
high latency (eg, spending time doing things other than interacting
with the USB).

Edit the ENDPOINT*_CONFIG lines so each endpoint is configured
the proper way (transmit, receive, or both).

If you are using existing interfaces (making your own device with
a different set of interfaces) the code in all other files should
automatically adapt to the new endpoints you specify here.

If you need to create a new type of interface, you'll need to write
the code which sends and receives packets, and presents an API to
the user.  Usually, a pair of files are added for the actual code,
and code is also added in usb_dev.c for any control transfers,
interrupt-level code, or other very low-level stuff not possible
from the packet send/receive functons.  Code also is added in
usb_inst.c to create an instance of your C++ object.  This message
gives a quick summary of things you will need to know:
https://forum.pjrc.com/threads/49045?p=164512&viewfull=1#post164512

You may edit the Vendor and Product ID numbers, and strings.  If
the numbers are changed, Teensyduino may not be able to automatically
find and reboot your board when you click the Upload button in
the Arduino IDE.  You will need to press the Program button on
Teensy to initiate programming.

Some operating systems, especially Windows, may cache USB device
info.  Changes to the device name may not update on the same
computer unless the vendor or product ID numbers change, or the
"bcdDevice" revision code is increased.

If these instructions are missing steps or could be improved, please
let me know?  http://forum.pjrc.com/forums/4-Suggestions-amp-Bug-Reports
*/


#if defined(USB_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0483
  #define DEVICE_CLASS		2	// 2 = Communication Class
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'U','S','B',' ','S','e','r','i','a','l'}
  #define PRODUCT_NAME_LEN	10
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS		4
  #define NUM_USB_BUFFERS	12
  #define NUM_INTERFACE		2
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1
  #define CDC_ACM_ENDPOINT	2
  #define CDC_RX_ENDPOINT       3
  #define CDC_TX_ENDPOINT       4
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_DUAL_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x048B
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'D','u','a','l',' ','S','e','r','i','a','l'}
  #define PRODUCT_NAME_LEN	11
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS		7
  #define NUM_USB_BUFFERS	22
  #define NUM_INTERFACE		4
  #define CDC_IAD_DESCRIPTOR	1	// Serial
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1
  #define CDC_ACM_ENDPOINT	2
  #define CDC_RX_ENDPOINT	3
  #define CDC_TX_ENDPOINT	4
  #define CDC_ACM_SIZE		16
  #define CDC_RX_SIZE		64
  #define CDC_TX_SIZE		64
  #define CDC2_STATUS_INTERFACE	2	// SerialUSB1
  #define CDC2_DATA_INTERFACE	3
  #define CDC2_ACM_ENDPOINT	5
  #define CDC2_RX_ENDPOINT	6
  #define CDC2_TX_ENDPOINT	7
  #define CDC2_ACM_SIZE		16
  #define CDC2_RX_SIZE		64
  #define CDC2_TX_SIZE		64
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT7_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_TRIPLE_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x048C
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','r','i','p','l','e',' ','S','e','r','i','a','l'}
  #define PRODUCT_NAME_LEN	13
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS		10
  #define NUM_USB_BUFFERS	32
  #define NUM_INTERFACE		6
  #define CDC_IAD_DESCRIPTOR	1	// Serial
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1
  #define CDC_ACM_ENDPOINT	2
  #define CDC_RX_ENDPOINT	3
  #define CDC_TX_ENDPOINT	4
  #define CDC_ACM_SIZE		16
  #define CDC_RX_SIZE		64
  #define CDC_TX_SIZE		64
  #define CDC2_STATUS_INTERFACE	2	// SerialUSB1
  #define CDC2_DATA_INTERFACE	3
  #define CDC2_ACM_ENDPOINT	5
  #define CDC2_RX_ENDPOINT	6
  #define CDC2_TX_ENDPOINT	7
  #define CDC2_ACM_SIZE		16
  #define CDC2_RX_SIZE		64
  #define CDC2_TX_SIZE		64
  #define CDC3_STATUS_INTERFACE	4	// SerialUSB2
  #define CDC3_DATA_INTERFACE	5
  #define CDC3_ACM_ENDPOINT	8
  #define CDC3_RX_ENDPOINT	9
  #define CDC3_TX_ENDPOINT	10
  #define CDC3_ACM_SIZE		16
  #define CDC3_RX_SIZE		64
  #define CDC3_TX_SIZE		64
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT7_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT8_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT9_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT10_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_KEYBOARDONLY)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x04D0
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'K','e','y','b','o','a','r','d'}
  #define PRODUCT_NAME_LEN	8
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	14
  #define NUM_INTERFACE		3
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define KEYBOARD_INTERFACE    0	// Keyboard
  #define KEYBOARD_ENDPOINT     3
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    2	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     4
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_HID)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0482
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'K','e','y','b','o','a','r','d','/','M','o','u','s','e','/','J','o','y','s','t','i','c','k'}
  #define PRODUCT_NAME_LEN	23
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         6
  #define NUM_USB_BUFFERS	24
  #define NUM_INTERFACE		5
  #define SEREMU_INTERFACE      2	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define KEYBOARD_INTERFACE    0	// Keyboard
  #define KEYBOARD_ENDPOINT     3
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    4	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     6
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define MOUSE_INTERFACE       1	// Mouse
  #define MOUSE_ENDPOINT        5
  #define MOUSE_SIZE            8
  #define MOUSE_INTERVAL        1
  #define JOYSTICK_INTERFACE    3	// Joystick
  #define JOYSTICK_ENDPOINT     4
  #define JOYSTICK_SIZE         12	//  12 = normal, 64 = extreme joystick
  #define JOYSTICK_INTERVAL     2
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_SERIAL_HID)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0487
  #define DEVICE_CLASS		0xEF
  #define DEVICE_SUBCLASS	0x02
  #define DEVICE_PROTOCOL	0x01
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'S','e','r','i','a','l','/','K','e','y','b','o','a','r','d','/','M','o','u','s','e','/','J','o','y','s','t','i','c','k'}
  #define PRODUCT_NAME_LEN	30
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS		7
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		6
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	2
  #define CDC_RX_ENDPOINT       3
  #define CDC_TX_ENDPOINT       4
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define KEYBOARD_INTERFACE    2	// Keyboard
  #define KEYBOARD_ENDPOINT     1
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    5	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     7
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define MOUSE_INTERFACE       3	// Mouse
  #define MOUSE_ENDPOINT        5
  #define MOUSE_SIZE            8
  #define MOUSE_INTERVAL        2
  #define JOYSTICK_INTERFACE    4	// Joystick
  #define JOYSTICK_ENDPOINT     6
  #define JOYSTICK_SIZE         12	//  12 = normal, 64 = extreme joystick
  #define JOYSTICK_INTERVAL     1
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT7_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_TOUCHSCREEN)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x04D3
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'K','e','y','b','o','a','r','d','/','T','o','u','c','h','s','c','r','e','e','n'}
  #define PRODUCT_NAME_LEN	20
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	15
  #define NUM_INTERFACE		4
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define KEYBOARD_INTERFACE    0	// Keyboard
  #define KEYBOARD_ENDPOINT     3
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    2	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     4
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define MULTITOUCH_INTERFACE  3	// Touchscreen
  #define MULTITOUCH_ENDPOINT   5
  #define MULTITOUCH_SIZE       16
  #define MULTITOUCH_FINGERS    10
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_HID_TOUCHSCREEN)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x04D4
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'K','e','y','b','o','a','r','d','/','M','o','u','s','e','/','T','o','u','c','h','s','c','r','e','e','n'}
  #define PRODUCT_NAME_LEN	26
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         6
  #define NUM_USB_BUFFERS	20
  #define NUM_INTERFACE		5
  #define SEREMU_INTERFACE      2	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define KEYBOARD_INTERFACE    0	// Keyboard
  #define KEYBOARD_ENDPOINT     3
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define KEYMEDIA_INTERFACE    3	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     4
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define MOUSE_INTERFACE       1	// Mouse
  #define MOUSE_ENDPOINT        6
  #define MOUSE_SIZE            8
  #define MOUSE_INTERVAL        2
  #define MULTITOUCH_INTERFACE  4	// Touchscreen
  #define MULTITOUCH_ENDPOINT   5
  #define MULTITOUCH_SIZE       16
  #define MULTITOUCH_FINGERS    10
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ONLY

#elif defined(USB_MIDI)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0485
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I'}
  #define PRODUCT_NAME_LEN	11
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	16
  #define NUM_INTERFACE		2
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define MIDI_INTERFACE        0	// MIDI
  #define MIDI_NUM_CABLES       1
  #define MIDI_TX_ENDPOINT      3
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      4
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_MIDI4)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0485
  #define BCD_DEVICE		0x0211
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','x','4'}
  #define PRODUCT_NAME_LEN	13
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	16
  #define NUM_INTERFACE		2
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define MIDI_INTERFACE        0	// MIDI
  #define MIDI_NUM_CABLES       4
  #define MIDI_TX_ENDPOINT      3
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      4
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_MIDI16)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0485
  #define BCD_DEVICE		0x0212
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','x','1','6'}
  #define PRODUCT_NAME_LEN	14
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	16
  #define NUM_INTERFACE		2
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define MIDI_INTERFACE        0	// MIDI
  #define MIDI_NUM_CABLES       16
  #define MIDI_TX_ENDPOINT      3
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      4
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_MIDI_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0489
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I'}
  #define PRODUCT_NAME_LEN	11
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		3
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       3
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       1
  #define MIDI_TX_ENDPOINT      4
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      5
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_MIDI4_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0489
  #define BCD_DEVICE		0x0211
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','x','4'}
  #define PRODUCT_NAME_LEN	13
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		3
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       3
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       4
  #define MIDI_TX_ENDPOINT      4
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      5
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_MIDI16_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0489
  #define BCD_DEVICE		0x0212
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','x','1','6'}
  #define PRODUCT_NAME_LEN	14
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		3
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       3
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       16
  #define MIDI_TX_ENDPOINT      4
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      5
  #define MIDI_RX_SIZE          64
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_RAWHID)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0486
  #define RAWHID_USAGE_PAGE	0xFFAB  // recommended: 0xFF00 to 0xFFFF
  #define RAWHID_USAGE		0x0200  // recommended: 0x0100 to 0xFFFF
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y','d','u','i','n','o',' ','R','a','w','H','I','D'}
  #define PRODUCT_NAME_LEN	18
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	12
  #define NUM_INTERFACE		2
  #define RAWHID_INTERFACE      0	// RawHID
  #define RAWHID_TX_ENDPOINT    3
  #define RAWHID_TX_SIZE        64
  #define RAWHID_TX_INTERVAL    1
  #define RAWHID_RX_ENDPOINT    4
  #define RAWHID_RX_SIZE        64
  #define RAWHID_RX_INTERVAL    1
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_FLIGHTSIM)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0488
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','F','l','i','g','h','t',' ','S','i','m',' ','C','o','n','t','r','o','l','s'}
  #define PRODUCT_NAME_LEN	26
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	20
  #define NUM_INTERFACE		2
  #define FLIGHTSIM_INTERFACE	0	// Flight Sim Control
  #define FLIGHTSIM_TX_ENDPOINT	3
  #define FLIGHTSIM_TX_SIZE	64
  #define FLIGHTSIM_TX_INTERVAL	1
  #define FLIGHTSIM_RX_ENDPOINT	4
  #define FLIGHTSIM_RX_SIZE	64
  #define FLIGHTSIM_RX_INTERVAL	1
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_FLIGHTSIM_JOYSTICK)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0488
  #define BCD_DEVICE		0x0211
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','F','l','i','g','h','t',' ','S','i','m',' ','C','o','n','t','r','o','l','s'}
  #define PRODUCT_NAME_LEN	26
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	20
  #define NUM_INTERFACE		3
  #define FLIGHTSIM_INTERFACE	0	// Flight Sim Control
  #define FLIGHTSIM_TX_ENDPOINT	3
  #define FLIGHTSIM_TX_SIZE	64
  #define FLIGHTSIM_TX_INTERVAL	1
  #define FLIGHTSIM_RX_ENDPOINT	4
  #define FLIGHTSIM_RX_SIZE	64
  #define FLIGHTSIM_RX_INTERVAL	1
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define JOYSTICK_INTERFACE    2	// Joystick
  #define JOYSTICK_ENDPOINT     5
  #define JOYSTICK_SIZE         12	//  12 = normal, 64 = extreme joystick
  #define JOYSTICK_INTERVAL     1
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY


#elif defined(USB_MTPDISK)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x04D1
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k'}
  #define PRODUCT_NAME_LEN	15
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         4
  #define NUM_USB_BUFFERS	20
  #define NUM_INTERFACE		2
  #define MTP_INTERFACE		0	// MTP Disk
  #define MTP_TX_ENDPOINT	3
  #define MTP_TX_SIZE		64
  #define MTP_RX_ENDPOINT	3
  #define MTP_RX_SIZE		64
  #define MTP_EVENT_ENDPOINT	4
  #define MTP_EVENT_SIZE	16
  #define MTP_EVENT_INTERVAL	10
  #define SEREMU_INTERFACE      1	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  // TODO: Should ENDPOINT4_CONFIG be ENDPOINT_TRANSMIT_ONLY ???
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ONLY

#elif defined(USB_AUDIO)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x04D2
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','A','u','d','i','o'}
  #define PRODUCT_NAME_LEN	12
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         5
  #define NUM_USB_BUFFERS	16
  #define NUM_INTERFACE		4
  #define SEREMU_INTERFACE      0	// Serial emulation
  #define SEREMU_TX_ENDPOINT    1
  #define SEREMU_TX_SIZE        64
  #define SEREMU_TX_INTERVAL    1
  #define SEREMU_RX_ENDPOINT    2
  #define SEREMU_RX_SIZE        32
  #define SEREMU_RX_INTERVAL    2
  #define AUDIO_INTERFACE	1	// Audio (uses 3 consecutive interfaces)
  #define AUDIO_TX_ENDPOINT     3
  #define AUDIO_TX_SIZE         180
  #define AUDIO_RX_ENDPOINT     4
  #define AUDIO_RX_SIZE         180
  #define AUDIO_SYNC_ENDPOINT	5
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS
  #define ENDPOINT4_CONFIG	ENDPOINT_RECEIVE_ISOCHRONOUS
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS

#elif defined(USB_MIDI_AUDIO_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x048A
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','/','A','u','d','i','o'}
  #define PRODUCT_NAME_LEN	17
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         8
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		6
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       3
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       1
  #define MIDI_TX_ENDPOINT      4
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      5
  #define MIDI_RX_SIZE          64
  #define AUDIO_INTERFACE	3	// Audio (uses 3 consecutive interfaces)
  #define AUDIO_TX_ENDPOINT     6
  #define AUDIO_TX_SIZE         180
  #define AUDIO_RX_ENDPOINT     7
  #define AUDIO_RX_SIZE         180
  #define AUDIO_SYNC_ENDPOINT	8
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS
  #define ENDPOINT7_CONFIG	ENDPOINT_RECEIVE_ISOCHRONOUS
  #define ENDPOINT8_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS

#elif defined(USB_MIDI16_AUDIO_SERIAL)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x048A
  #define BCD_DEVICE		0x0212
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'T','e','e','n','s','y',' ','M','I','D','I','x','1','6','/','A','u','d','i','o'}
  #define PRODUCT_NAME_LEN	20
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         8
  #define NUM_USB_BUFFERS	30
  #define NUM_INTERFACE		6
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       3
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       16
  #define MIDI_TX_ENDPOINT      4
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      5
  #define MIDI_RX_SIZE          64
  #define AUDIO_INTERFACE	3	// Audio (uses 3 consecutive interfaces)
  #define AUDIO_TX_ENDPOINT     6
  #define AUDIO_TX_SIZE         180
  #define AUDIO_RX_ENDPOINT     7
  #define AUDIO_RX_SIZE         180
  #define AUDIO_SYNC_ENDPOINT	8
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_RECEIVE_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS
  #define ENDPOINT7_CONFIG	ENDPOINT_RECEIVE_ISOCHRONOUS
  #define ENDPOINT8_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS

#elif defined(USB_EVERYTHING)
  #define VENDOR_ID		0x16C0
  #define PRODUCT_ID		0x0476
  #define RAWHID_USAGE_PAGE	0xFFAB  // recommended: 0xFF00 to 0xFFFF
  #define RAWHID_USAGE		0x0200  // recommended: 0x0100 to 0xFFFF
  #define DEVICE_CLASS		0xEF
  #define DEVICE_SUBCLASS	0x02
  #define DEVICE_PROTOCOL	0x01
  #define MANUFACTURER_NAME	{'T','e','e','n','s','y','d','u','i','n','o'}
  #define MANUFACTURER_NAME_LEN	11
  #define PRODUCT_NAME		{'A','l','l',' ','T','h','e',' ','T','h','i','n','g','s'}
  #define PRODUCT_NAME_LEN	14
  #define EP0_SIZE		64
  #define NUM_ENDPOINTS         15
  #define NUM_USB_BUFFERS	31
  #define NUM_INTERFACE		13
  #define CDC_IAD_DESCRIPTOR	1
  #define CDC_STATUS_INTERFACE	0
  #define CDC_DATA_INTERFACE	1	// Serial
  #define CDC_ACM_ENDPOINT	1
  #define CDC_RX_ENDPOINT       2
  #define CDC_TX_ENDPOINT       2
  #define CDC_ACM_SIZE          16
  #define CDC_RX_SIZE           64
  #define CDC_TX_SIZE           64
  #define MIDI_INTERFACE        2	// MIDI
  #define MIDI_NUM_CABLES       16
  #define MIDI_TX_ENDPOINT      3
  #define MIDI_TX_SIZE          64
  #define MIDI_RX_ENDPOINT      3
  #define MIDI_RX_SIZE          64
  #define KEYBOARD_INTERFACE    3	// Keyboard
  #define KEYBOARD_ENDPOINT     4
  #define KEYBOARD_SIZE         8
  #define KEYBOARD_INTERVAL     1
  #define MOUSE_INTERFACE       4	// Mouse
  #define MOUSE_ENDPOINT        5
  #define MOUSE_SIZE            8
  #define MOUSE_INTERVAL        2
  #define RAWHID_INTERFACE      5	// RawHID
  #define RAWHID_TX_ENDPOINT    6
  #define RAWHID_TX_SIZE        64
  #define RAWHID_TX_INTERVAL    1
  #define RAWHID_RX_ENDPOINT    6
  #define RAWHID_RX_SIZE        64
  #define RAWHID_RX_INTERVAL    1
  #define FLIGHTSIM_INTERFACE	6	// Flight Sim Control
  #define FLIGHTSIM_TX_ENDPOINT	9
  #define FLIGHTSIM_TX_SIZE	64
  #define FLIGHTSIM_TX_INTERVAL	1
  #define FLIGHTSIM_RX_ENDPOINT	9
  #define FLIGHTSIM_RX_SIZE	64
  #define FLIGHTSIM_RX_INTERVAL	1
  #define JOYSTICK_INTERFACE    7	// Joystick
  #define JOYSTICK_ENDPOINT     10
  #define JOYSTICK_SIZE         12	//  12 = normal, 64 = extreme joystick
  #define JOYSTICK_INTERVAL     1
/*
  #define MTP_INTERFACE		8	// MTP Disk
  #define MTP_TX_ENDPOINT	11
  #define MTP_TX_SIZE		64
  #define MTP_RX_ENDPOINT	3
  #define MTP_RX_SIZE		64
  #define MTP_EVENT_ENDPOINT	11
  #define MTP_EVENT_SIZE	16
  #define MTP_EVENT_INTERVAL	10
*/
  #define KEYMEDIA_INTERFACE    8	// Keyboard Media Keys
  #define KEYMEDIA_ENDPOINT     12
  #define KEYMEDIA_SIZE         8
  #define KEYMEDIA_INTERVAL     4
  #define AUDIO_INTERFACE	9	// Audio (uses 3 consecutive interfaces)
  #define AUDIO_TX_ENDPOINT     13
  #define AUDIO_TX_SIZE         180
  #define AUDIO_RX_ENDPOINT     13
  #define AUDIO_RX_SIZE         180
  #define AUDIO_SYNC_ENDPOINT	14
  #define MULTITOUCH_INTERFACE  12	// Touchscreen
  #define MULTITOUCH_ENDPOINT   15
  #define MULTITOUCH_SIZE       8
  #define MULTITOUCH_FINGERS    10
  #define ENDPOINT1_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT2_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT3_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT4_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT5_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT6_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT7_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT8_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT9_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT10_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT11_CONFIG	ENDPOINT_TRANSMIT_AND_RECEIVE
  #define ENDPOINT12_CONFIG	ENDPOINT_TRANSMIT_ONLY
  #define ENDPOINT13_CONFIG	(ENDPOINT_RECEIVE_ISOCHRONOUS|ENDPOINT_TRANSMIT_ISOCHRONOUS)
  #define ENDPOINT14_CONFIG	ENDPOINT_TRANSMIT_ISOCHRONOUS
  #define ENDPOINT15_CONFIG	ENDPOINT_TRANSMIT_ONLY

#endif

#ifdef USB_DESC_LIST_DEFINE
#if defined(NUM_ENDPOINTS) && NUM_ENDPOINTS > 0
// NUM_ENDPOINTS = number of non-zero endpoints (0 to 15)
extern const uint8_t usb_endpoint_config_table[NUM_ENDPOINTS];

typedef struct {
	uint16_t	wValue;
	uint16_t	wIndex;
	const uint8_t	*addr;
	uint16_t	length;
} usb_descriptor_list_t;

extern const usb_descriptor_list_t usb_descriptor_list[];
#endif // NUM_ENDPOINTS
#endif // USB_DESC_LIST_DEFINE

#endif
 
Maybe the following may help you
https://github.com/WMXZ-EU/MTP_t4
where a new device is added to USB
in order to see that modification in Arduino IDE, you must modify also boards.txt

Also modified board.txt as this
Code:
menu.usb=USB Type
menu.speed=CPU Speed
menu.opt=Optimize
menu.keys=Keyboard Layout


teensy41.name=Teensy 4.1
teensy41.upload.maximum_size=8126464
teensy41.build.board=TEENSY41
teensy41.build.flags.ld=-Wl,--gc-sections,--relax "-T{build.core.path}/imxrt1062_t41.ld"
teensy41.upload.maximum_data_size=524288
#teensy41.upload.maximum_data_size=1048576
teensy41.upload.tool=teensyloader
teensy41.upload.protocol=halfkay
teensy41.build.core=teensy4
teensy41.build.mcu=imxrt1062
teensy41.build.warn_data_percentage=99
teensy41.build.toolchain=arm/bin/
teensy41.build.command.gcc=arm-none-eabi-gcc
teensy41.build.command.g++=arm-none-eabi-g++
teensy41.build.command.ar=arm-none-eabi-gcc-ar
teensy41.build.command.objcopy=arm-none-eabi-objcopy
teensy41.build.command.objdump=arm-none-eabi-objdump
teensy41.build.command.linker=arm-none-eabi-gcc
teensy41.build.command.size=arm-none-eabi-size
teensy41.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy41.build.flags.dep=-MMD
teensy41.build.flags.optimize=-Os
teensy41.build.flags.cpu=-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
teensy41.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=153
teensy41.build.flags.cpp=-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
teensy41.build.flags.c=
teensy41.build.flags.S=-x assembler-with-cpp
teensy41.build.flags.libs=-larm_cortexM7lfsp_math -lm -lstdc++
teensy41.serial.restart_cmd=false
teensy41.menu.usb.serial=Serial
teensy41.menu.usb.serial.build.usbtype=USB_SERIAL
teensy41.menu.usb.serial2=Dual Serial
teensy41.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensy41.menu.usb.serial3=Triple Serial
teensy41.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensy41.menu.usb.keyboard=Keyboard
teensy41.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy41.menu.usb.keyboard.fake_serial=teensy_gateway
teensy41.menu.usb.touch=Keyboard + Touch Screen
teensy41.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy41.menu.usb.touch.fake_serial=teensy_gateway
teensy41.menu.usb.hidtouch=Keyboard + Mouse + Touch Screen
teensy41.menu.usb.hidtouch.build.usbtype=USB_HID_TOUCHSCREEN
teensy41.menu.usb.hidtouch.fake_serial=teensy_gateway
teensy41.menu.usb.hid=Keyboard + Mouse + Joystick
teensy41.menu.usb.hid.build.usbtype=USB_HID
teensy41.menu.usb.hid.fake_serial=teensy_gateway
teensy41.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy41.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy41.menu.usb.midi=MIDI
teensy41.menu.usb.midi.build.usbtype=USB_MIDI
teensy41.menu.usb.midi.fake_serial=teensy_gateway
teensy41.menu.usb.midi4=MIDIx4
teensy41.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy41.menu.usb.midi4.fake_serial=teensy_gateway
teensy41.menu.usb.midi16=MIDIx16
teensy41.menu.usb.midi16.build.usbtype=USB_MIDI16
teensy41.menu.usb.midi16.fake_serial=teensy_gateway
teensy41.menu.usb.serialmidi=Serial + MIDI
teensy41.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy41.menu.usb.serialmidi4=Serial + MIDIx4
teensy41.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy41.menu.usb.serialmidi16=Serial + MIDIx16
teensy41.menu.usb.serialmidi16.build.usbtype=USB_MIDI16_SERIAL
teensy41.menu.usb.audio=Audio
teensy41.menu.usb.audio.build.usbtype=USB_AUDIO
teensy41.menu.usb.audio.fake_serial=teensy_gateway
teensy41.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy41.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy41.menu.usb.serialmidi16audio=Serial + MIDIx16 + Audio
teensy41.menu.usb.serialmidi16audio.build.usbtype=USB_MIDI16_AUDIO_SERIAL
teensy41.menu.usb.mtp=MTP Disk (Experimental)
teensy41.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy41.menu.usb.mtp.fake_serial=teensy_gateway
teensy41.menu.usb.rawhid=Raw HID
teensy41.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy41.menu.usb.rawhid.fake_serial=teensy_gateway
teensy41.menu.usb.flightsim=Flight Sim Controls
teensy41.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy41.menu.usb.flightsim.fake_serial=teensy_gateway
teensy41.menu.usb.flightsimjoystick=Flight Sim Controls + Joystick
teensy41.menu.usb.flightsimjoystick.build.usbtype=USB_FLIGHTSIM_JOYSTICK
teensy41.menu.usb.flightsimjoystick.fake_serial=teensy_gateway
#teensy41.menu.usb.disable=No USB
#teensy41.menu.usb.disable.build.usbtype=USB_DISABLED

teensy41.menu.speed.600=600 MHz
teensy41.menu.speed.528=528 MHz
teensy41.menu.speed.450=450 MHz
teensy41.menu.speed.396=396 MHz
teensy41.menu.speed.150=150 MHz
teensy41.menu.speed.24=24 MHz
teensy41.menu.speed.720=720 MHz (overclock)
teensy41.menu.speed.816=816 MHz (overclock)
teensy41.menu.speed.912=912 MHz (overclock, cooling req'd)
teensy41.menu.speed.960=960 MHz (overclock, cooling req'd)
teensy41.menu.speed.1008=1.008 GHz (overclock, cooling req'd)
teensy41.menu.speed.1008.build.fcpu=1008000000
teensy41.menu.speed.960.build.fcpu=960000000
teensy41.menu.speed.912.build.fcpu=912000000
teensy41.menu.speed.816.build.fcpu=816000000
teensy41.menu.speed.720.build.fcpu=720000000
teensy41.menu.speed.600.build.fcpu=600000000
teensy41.menu.speed.528.build.fcpu=528000000
teensy41.menu.speed.450.build.fcpu=450000000
teensy41.menu.speed.396.build.fcpu=396000000
teensy41.menu.speed.150.build.fcpu=150000000
teensy41.menu.speed.24.build.fcpu=24000000

teensy41.menu.opt.o2std=Faster
teensy41.menu.opt.o2std.build.flags.optimize=-O2
teensy41.menu.opt.o2std.build.flags.ldspecs=
#teensy41.menu.opt.o2lto=Faster with LTO
#teensy41.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
#teensy41.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy41.menu.opt.o1std=Fast
teensy41.menu.opt.o1std.build.flags.optimize=-O1
teensy41.menu.opt.o1std.build.flags.ldspecs=
#teensy41.menu.opt.o1lto=Fast with LTO
#teensy41.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
#teensy41.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy41.menu.opt.o3std=Fastest
teensy41.menu.opt.o3std.build.flags.optimize=-O3
teensy41.menu.opt.o3std.build.flags.ldspecs=
#teensy41.menu.opt.o3purestd=Fastest + pure-code
#teensy41.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
#teensy41.menu.opt.o3purestd.build.flags.ldspecs=
#teensy41.menu.opt.o3lto=Fastest with LTO
#teensy41.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
#teensy41.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
#teensy41.menu.opt.o3purelto=Fastest + pure-code with LTO
#teensy41.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
#teensy41.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
teensy41.menu.opt.ogstd=Debug
teensy41.menu.opt.ogstd.build.flags.optimize=-Og
teensy41.menu.opt.ogstd.build.flags.ldspecs=
#teensy41.menu.opt.oglto=Debug with LTO
#teensy41.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
#teensy41.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy41.menu.opt.osstd=Smallest Code
teensy41.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy41.menu.opt.osstd.build.flags.ldspecs=
#teensy41.menu.opt.oslto=Smallest Code with LTO
#teensy41.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
#teensy41.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy41.menu.keys.en-us=US English
teensy41.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy41.menu.keys.fr-ca=Canadian French
teensy41.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy41.menu.keys.xx-ca=Canadian Multilingual
teensy41.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy41.menu.keys.cz-cz=Czech
teensy41.menu.keys.cz-cz.build.keylayout=CZECH
teensy41.menu.keys.da-da=Danish
teensy41.menu.keys.da-da.build.keylayout=DANISH
teensy41.menu.keys.fi-fi=Finnish
teensy41.menu.keys.fi-fi.build.keylayout=FINNISH
teensy41.menu.keys.fr-fr=French
teensy41.menu.keys.fr-fr.build.keylayout=FRENCH
teensy41.menu.keys.fr-be=French Belgian
teensy41.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy41.menu.keys.fr-ch=French Swiss
teensy41.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy41.menu.keys.de-de=German
teensy41.menu.keys.de-de.build.keylayout=GERMAN
teensy41.menu.keys.de-dm=German (Mac)
teensy41.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy41.menu.keys.de-ch=German Swiss
teensy41.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy41.menu.keys.is-is=Icelandic
teensy41.menu.keys.is-is.build.keylayout=ICELANDIC
teensy41.menu.keys.en-ie=Irish
teensy41.menu.keys.en-ie.build.keylayout=IRISH
teensy41.menu.keys.it-it=Italian
teensy41.menu.keys.it-it.build.keylayout=ITALIAN
teensy41.menu.keys.no-no=Norwegian
teensy41.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy41.menu.keys.pt-pt=Portuguese
teensy41.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy41.menu.keys.pt-br=Portuguese Brazilian
teensy41.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy41.menu.keys.rs-rs=Serbian (Latin Only)
teensy41.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy41.menu.keys.es-es=Spanish
teensy41.menu.keys.es-es.build.keylayout=SPANISH
teensy41.menu.keys.es-mx=Spanish Latin America
teensy41.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy41.menu.keys.sv-se=Swedish
teensy41.menu.keys.sv-se.build.keylayout=SWEDISH
teensy41.menu.keys.tr-tr=Turkish (partial)
teensy41.menu.keys.tr-tr.build.keylayout=TURKISH
teensy41.menu.keys.en-gb=United Kingdom
teensy41.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy41.menu.keys.usint=US International
teensy41.menu.keys.usint.build.keylayout=US_INTERNATIONAL



teensy40.name=Teensy 4.0
teensy40.upload.maximum_size=2031616
teensy40.build.board=TEENSY40
teensy40.build.flags.ld=-Wl,--gc-sections,--relax "-T{build.core.path}/imxrt1062.ld"
teensy40.upload.maximum_data_size=524288
#teensy40.upload.maximum_data_size=1048576
teensy40.upload.tool=teensyloader
teensy40.upload.protocol=halfkay
teensy40.build.core=teensy4
teensy40.build.mcu=imxrt1062
teensy40.build.warn_data_percentage=99
teensy40.build.toolchain=arm/bin/
teensy40.build.command.gcc=arm-none-eabi-gcc
teensy40.build.command.g++=arm-none-eabi-g++
teensy40.build.command.ar=arm-none-eabi-gcc-ar
teensy40.build.command.objcopy=arm-none-eabi-objcopy
teensy40.build.command.objdump=arm-none-eabi-objdump
teensy40.build.command.linker=arm-none-eabi-gcc
teensy40.build.command.size=arm-none-eabi-size
teensy40.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy40.build.flags.dep=-MMD
teensy40.build.flags.optimize=-Os
teensy40.build.flags.cpu=-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
teensy40.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=153
teensy40.build.flags.cpp=-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
teensy40.build.flags.c=
teensy40.build.flags.S=-x assembler-with-cpp
teensy40.build.flags.libs=-larm_cortexM7lfsp_math -lm -lstdc++
teensy40.serial.restart_cmd=false
teensy40.menu.usb.serial=Serial
teensy40.menu.usb.serial.build.usbtype=USB_SERIAL
teensy40.menu.usb.serial2=Dual Serial
teensy40.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensy40.menu.usb.serial3=Triple Serial
teensy40.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensy40.menu.usb.keyboard=Keyboard
teensy40.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy40.menu.usb.keyboard.fake_serial=teensy_gateway
teensy40.menu.usb.touch=Keyboard + Touch Screen
teensy40.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy40.menu.usb.touch.fake_serial=teensy_gateway
teensy40.menu.usb.hidtouch=Keyboard + Mouse + Touch Screen
teensy40.menu.usb.hidtouch.build.usbtype=USB_HID_TOUCHSCREEN
teensy40.menu.usb.hidtouch.fake_serial=teensy_gateway
teensy40.menu.usb.hid=Keyboard + Mouse + Joystick
teensy40.menu.usb.hid.build.usbtype=USB_HID
teensy40.menu.usb.hid.fake_serial=teensy_gateway
teensy40.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy40.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy40.menu.usb.midi=MIDI
teensy40.menu.usb.midi.build.usbtype=USB_MIDI
teensy40.menu.usb.midi.fake_serial=teensy_gateway
teensy40.menu.usb.midi4=MIDIx4
teensy40.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy40.menu.usb.midi4.fake_serial=teensy_gateway
teensy40.menu.usb.midi16=MIDIx16
teensy40.menu.usb.midi16.build.usbtype=USB_MIDI16
teensy40.menu.usb.midi16.fake_serial=teensy_gateway
teensy40.menu.usb.serialmidi=Serial + MIDI
teensy40.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy40.menu.usb.serialmidi4=Serial + MIDIx4
teensy40.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy40.menu.usb.serialmidi16=Serial + MIDIx16
teensy40.menu.usb.serialmidi16.build.usbtype=USB_MIDI16_SERIAL
teensy40.menu.usb.audio=Audio
teensy40.menu.usb.audio.build.usbtype=USB_AUDIO
teensy40.menu.usb.audio.fake_serial=teensy_gateway
teensy40.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy40.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy40.menu.usb.serialmidi16audio=Serial + MIDIx16 + Audio
teensy40.menu.usb.serialmidi16audio.build.usbtype=USB_MIDI16_AUDIO_SERIAL
teensy40.menu.usb.mtp=MTP Disk (Experimental)
teensy40.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy40.menu.usb.mtp.fake_serial=teensy_gateway
teensy40.menu.usb.rawhid=Raw HID
teensy40.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy40.menu.usb.rawhid.fake_serial=teensy_gateway
teensy40.menu.usb.flightsim=Flight Sim Controls
teensy40.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy40.menu.usb.flightsim.fake_serial=teensy_gateway
teensy40.menu.usb.flightsimjoystick=Flight Sim Controls + Joystick
teensy40.menu.usb.flightsimjoystick.build.usbtype=USB_FLIGHTSIM_JOYSTICK
teensy40.menu.usb.flightsimjoystick.fake_serial=teensy_gateway
#teensy40.menu.usb.disable=No USB
#teensy40.menu.usb.disable.build.usbtype=USB_DISABLED

teensy40.menu.speed.600=600 MHz
teensy40.menu.speed.528=528 MHz
teensy40.menu.speed.450=450 MHz
teensy40.menu.speed.396=396 MHz
teensy40.menu.speed.150=150 MHz
teensy40.menu.speed.24=24 MHz
teensy40.menu.speed.720=720 MHz (overclock)
teensy40.menu.speed.816=816 MHz (overclock)
teensy40.menu.speed.912=912 MHz (overclock, cooling req'd)
teensy40.menu.speed.960=960 MHz (overclock, cooling req'd)
teensy40.menu.speed.1008=1.008 GHz (overclock, cooling req'd)
teensy40.menu.speed.1008.build.fcpu=1008000000
teensy40.menu.speed.960.build.fcpu=960000000
teensy40.menu.speed.912.build.fcpu=912000000
teensy40.menu.speed.816.build.fcpu=816000000
teensy40.menu.speed.720.build.fcpu=720000000
teensy40.menu.speed.600.build.fcpu=600000000
teensy40.menu.speed.528.build.fcpu=528000000
teensy40.menu.speed.450.build.fcpu=450000000
teensy40.menu.speed.396.build.fcpu=396000000
teensy40.menu.speed.150.build.fcpu=150000000
teensy40.menu.speed.24.build.fcpu=24000000

teensy40.menu.opt.o2std=Faster
teensy40.menu.opt.o2std.build.flags.optimize=-O2
teensy40.menu.opt.o2std.build.flags.ldspecs=
#teensy40.menu.opt.o2lto=Faster with LTO
#teensy40.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
#teensy40.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy40.menu.opt.o1std=Fast
teensy40.menu.opt.o1std.build.flags.optimize=-O1
teensy40.menu.opt.o1std.build.flags.ldspecs=
#teensy40.menu.opt.o1lto=Fast with LTO
#teensy40.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
#teensy40.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy40.menu.opt.o3std=Fastest
teensy40.menu.opt.o3std.build.flags.optimize=-O3
teensy40.menu.opt.o3std.build.flags.ldspecs=
#teensy40.menu.opt.o3purestd=Fastest + pure-code
#teensy40.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
#teensy40.menu.opt.o3purestd.build.flags.ldspecs=
#teensy40.menu.opt.o3lto=Fastest with LTO
#teensy40.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
#teensy40.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
#teensy40.menu.opt.o3purelto=Fastest + pure-code with LTO
#teensy40.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
#teensy40.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
teensy40.menu.opt.ogstd=Debug
teensy40.menu.opt.ogstd.build.flags.optimize=-Og
teensy40.menu.opt.ogstd.build.flags.ldspecs=
#teensy40.menu.opt.oglto=Debug with LTO
#teensy40.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
#teensy40.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy40.menu.opt.osstd=Smallest Code
teensy40.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy40.menu.opt.osstd.build.flags.ldspecs=
#teensy40.menu.opt.oslto=Smallest Code with LTO
#teensy40.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
#teensy40.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy40.menu.keys.en-us=US English
teensy40.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy40.menu.keys.fr-ca=Canadian French
teensy40.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy40.menu.keys.xx-ca=Canadian Multilingual
teensy40.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy40.menu.keys.cz-cz=Czech
teensy40.menu.keys.cz-cz.build.keylayout=CZECH
teensy40.menu.keys.da-da=Danish
teensy40.menu.keys.da-da.build.keylayout=DANISH
teensy40.menu.keys.fi-fi=Finnish
teensy40.menu.keys.fi-fi.build.keylayout=FINNISH
teensy40.menu.keys.fr-fr=French
teensy40.menu.keys.fr-fr.build.keylayout=FRENCH
teensy40.menu.keys.fr-be=French Belgian
teensy40.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy40.menu.keys.fr-ch=French Swiss
teensy40.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy40.menu.keys.de-de=German
teensy40.menu.keys.de-de.build.keylayout=GERMAN
teensy40.menu.keys.de-dm=German (Mac)
teensy40.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy40.menu.keys.de-ch=German Swiss
teensy40.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy40.menu.keys.is-is=Icelandic
teensy40.menu.keys.is-is.build.keylayout=ICELANDIC
teensy40.menu.keys.en-ie=Irish
teensy40.menu.keys.en-ie.build.keylayout=IRISH
teensy40.menu.keys.it-it=Italian
teensy40.menu.keys.it-it.build.keylayout=ITALIAN
teensy40.menu.keys.no-no=Norwegian
teensy40.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy40.menu.keys.pt-pt=Portuguese
teensy40.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy40.menu.keys.pt-br=Portuguese Brazilian
teensy40.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy40.menu.keys.rs-rs=Serbian (Latin Only)
teensy40.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy40.menu.keys.es-es=Spanish
teensy40.menu.keys.es-es.build.keylayout=SPANISH
teensy40.menu.keys.es-mx=Spanish Latin America
teensy40.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy40.menu.keys.sv-se=Swedish
teensy40.menu.keys.sv-se.build.keylayout=SWEDISH
teensy40.menu.keys.tr-tr=Turkish (partial)
teensy40.menu.keys.tr-tr.build.keylayout=TURKISH
teensy40.menu.keys.en-gb=United Kingdom
teensy40.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy40.menu.keys.usint=US International
teensy40.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensy36.name=Teensy 3.6
teensy36.upload.maximum_size=1048576
teensy36.upload.maximum_data_size=262144
teensy36.upload.tool=teensyloader
teensy36.upload.protocol=halfkay
teensy36.build.board=TEENSY36
teensy36.build.core=teensy3
teensy36.build.mcu=mk66fx1m0
teensy36.build.warn_data_percentage=99
teensy36.build.toolchain=arm/bin/
teensy36.build.command.gcc=arm-none-eabi-gcc
teensy36.build.command.g++=arm-none-eabi-g++
teensy36.build.command.ar=arm-none-eabi-gcc-ar
teensy36.build.command.objcopy=arm-none-eabi-objcopy
teensy36.build.command.objdump=arm-none-eabi-objdump
teensy36.build.command.linker=arm-none-eabi-gcc
teensy36.build.command.size=arm-none-eabi-size
teensy36.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy36.build.flags.dep=-MMD
teensy36.build.flags.optimize=-Os
teensy36.build.flags.cpu=-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant
teensy36.build.flags.defs=-D__MK66FX1M0__ -DTEENSYDUINO=153
teensy36.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
teensy36.build.flags.c=
teensy36.build.flags.S=-x assembler-with-cpp
teensy36.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk66fx1m0.ld"
teensy36.build.flags.libs=-larm_cortexM4lf_math -lm -lstdc++
teensy36.serial.restart_cmd=false
teensy36.menu.usb.serial=Serial
teensy36.menu.usb.serial.build.usbtype=USB_SERIAL
teensy36.menu.usb.serial2=Dual Serial
teensy36.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensy36.menu.usb.serial3=Triple Serial
teensy36.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensy36.menu.usb.keyboard=Keyboard
teensy36.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy36.menu.usb.keyboard.fake_serial=teensy_gateway
teensy36.menu.usb.touch=Keyboard + Touch Screen
teensy36.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy36.menu.usb.touch.fake_serial=teensy_gateway
teensy36.menu.usb.hidtouch=Keyboard + Mouse + Touch Screen
teensy36.menu.usb.hidtouch.build.usbtype=USB_HID_TOUCHSCREEN
teensy36.menu.usb.hidtouch.fake_serial=teensy_gateway
teensy36.menu.usb.hid=Keyboard + Mouse + Joystick
teensy36.menu.usb.hid.build.usbtype=USB_HID
teensy36.menu.usb.hid.fake_serial=teensy_gateway
teensy36.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy36.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy36.menu.usb.midi=MIDI
teensy36.menu.usb.midi.build.usbtype=USB_MIDI
teensy36.menu.usb.midi.fake_serial=teensy_gateway
teensy36.menu.usb.midi4=MIDIx4
teensy36.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy36.menu.usb.midi4.fake_serial=teensy_gateway
teensy36.menu.usb.midi16=MIDIx16
teensy36.menu.usb.midi16.build.usbtype=USB_MIDI16
teensy36.menu.usb.midi16.fake_serial=teensy_gateway
teensy36.menu.usb.serialmidi=Serial + MIDI
teensy36.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy36.menu.usb.serialmidi4=Serial + MIDIx4
teensy36.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy36.menu.usb.serialmidi16=Serial + MIDIx16
teensy36.menu.usb.serialmidi16.build.usbtype=USB_MIDI16_SERIAL
teensy36.menu.usb.audio=Audio
teensy36.menu.usb.audio.build.usbtype=USB_AUDIO
teensy36.menu.usb.audio.fake_serial=teensy_gateway
teensy36.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy36.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy36.menu.usb.serialmidi16audio=Serial + MIDIx16 + Audio
teensy36.menu.usb.serialmidi16audio.build.usbtype=USB_MIDI16_AUDIO_SERIAL
teensy36.menu.usb.mtp=MTP Disk (Experimental)
teensy36.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy36.menu.usb.mtp.fake_serial=teensy_gateway
teensy36.menu.usb.rawhid=Raw HID
teensy36.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy36.menu.usb.rawhid.fake_serial=teensy_gateway
teensy36.menu.usb.flightsim=Flight Sim Controls
teensy36.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy36.menu.usb.flightsim.fake_serial=teensy_gateway
teensy36.menu.usb.flightsimjoystick=Flight Sim Controls + Joystick
teensy36.menu.usb.flightsimjoystick.build.usbtype=USB_FLIGHTSIM_JOYSTICK
teensy36.menu.usb.flightsimjoystick.fake_serial=teensy_gateway
teensy36.menu.usb.everything=All of the Above
teensy36.menu.usb.everything.build.usbtype=USB_EVERYTHING
teensy36.menu.usb.disable=No USB
teensy36.menu.usb.disable.build.usbtype=USB_DISABLED

teensy36.menu.speed.180=180 MHz
teensy36.menu.speed.168=168 MHz
teensy36.menu.speed.144=144 MHz
teensy36.menu.speed.120=120 MHz
teensy36.menu.speed.96=96 MHz
teensy36.menu.speed.72=72 MHz
teensy36.menu.speed.48=48 MHz
teensy36.menu.speed.24=24 MHz
teensy36.menu.speed.16=16 MHz (No USB)
teensy36.menu.speed.8=8 MHz (No USB)
teensy36.menu.speed.4=4 MHz (No USB)
teensy36.menu.speed.2=2 MHz (No USB)
teensy36.menu.speed.192=192 MHz (overclock)
teensy36.menu.speed.216=216 MHz (overclock)
teensy36.menu.speed.240=240 MHz (overclock)
teensy36.menu.speed.256=256 MHz (overclock)
teensy36.menu.speed.256.build.fcpu=256000000
teensy36.menu.speed.240.build.fcpu=240000000
teensy36.menu.speed.216.build.fcpu=216000000
teensy36.menu.speed.192.build.fcpu=192000000
teensy36.menu.speed.180.build.fcpu=180000000
teensy36.menu.speed.168.build.fcpu=168000000
teensy36.menu.speed.144.build.fcpu=144000000
teensy36.menu.speed.120.build.fcpu=120000000
teensy36.menu.speed.96.build.fcpu=96000000
teensy36.menu.speed.72.build.fcpu=72000000
teensy36.menu.speed.48.build.fcpu=48000000
teensy36.menu.speed.24.build.fcpu=24000000
teensy36.menu.speed.16.build.fcpu=16000000
teensy36.menu.speed.8.build.fcpu=8000000
teensy36.menu.speed.4.build.fcpu=4000000
teensy36.menu.speed.2.build.fcpu=2000000

teensy36.menu.opt.o2std=Faster
teensy36.menu.opt.o2std.build.flags.optimize=-O2
teensy36.menu.opt.o2std.build.flags.ldspecs=
teensy36.menu.opt.o2lto=Faster with LTO
teensy36.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
teensy36.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy36.menu.opt.o1std=Fast
teensy36.menu.opt.o1std.build.flags.optimize=-O1
teensy36.menu.opt.o1std.build.flags.ldspecs=
teensy36.menu.opt.o1lto=Fast with LTO
teensy36.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
teensy36.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy36.menu.opt.o3std=Fastest
teensy36.menu.opt.o3std.build.flags.optimize=-O3
teensy36.menu.opt.o3std.build.flags.ldspecs=
teensy36.menu.opt.o3purestd=Fastest + pure-code
teensy36.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
teensy36.menu.opt.o3purestd.build.flags.ldspecs=
teensy36.menu.opt.o3lto=Fastest with LTO
teensy36.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
teensy36.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
teensy36.menu.opt.o3purelto=Fastest + pure-code with LTO
teensy36.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
teensy36.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
teensy36.menu.opt.ogstd=Debug
teensy36.menu.opt.ogstd.build.flags.optimize=-Og
teensy36.menu.opt.ogstd.build.flags.ldspecs=
teensy36.menu.opt.oglto=Debug with LTO
teensy36.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
teensy36.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy36.menu.opt.osstd=Smallest Code
teensy36.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy36.menu.opt.osstd.build.flags.ldspecs=
teensy36.menu.opt.oslto=Smallest Code with LTO
teensy36.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
teensy36.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy36.menu.keys.en-us=US English
teensy36.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy36.menu.keys.fr-ca=Canadian French
teensy36.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy36.menu.keys.xx-ca=Canadian Multilingual
teensy36.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy36.menu.keys.cz-cz=Czech
teensy36.menu.keys.cz-cz.build.keylayout=CZECH
teensy36.menu.keys.da-da=Danish
teensy36.menu.keys.da-da.build.keylayout=DANISH
teensy36.menu.keys.fi-fi=Finnish
teensy36.menu.keys.fi-fi.build.keylayout=FINNISH
teensy36.menu.keys.fr-fr=French
teensy36.menu.keys.fr-fr.build.keylayout=FRENCH
teensy36.menu.keys.fr-be=French Belgian
teensy36.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy36.menu.keys.fr-ch=French Swiss
teensy36.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy36.menu.keys.de-de=German
teensy36.menu.keys.de-de.build.keylayout=GERMAN
teensy36.menu.keys.de-dm=German (Mac)
teensy36.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy36.menu.keys.de-ch=German Swiss
teensy36.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy36.menu.keys.is-is=Icelandic
teensy36.menu.keys.is-is.build.keylayout=ICELANDIC
teensy36.menu.keys.en-ie=Irish
teensy36.menu.keys.en-ie.build.keylayout=IRISH
teensy36.menu.keys.it-it=Italian
teensy36.menu.keys.it-it.build.keylayout=ITALIAN
teensy36.menu.keys.no-no=Norwegian
teensy36.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy36.menu.keys.pt-pt=Portuguese
teensy36.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy36.menu.keys.pt-br=Portuguese Brazilian
teensy36.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy36.menu.keys.rs-rs=Serbian (Latin Only)
teensy36.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy36.menu.keys.es-es=Spanish
teensy36.menu.keys.es-es.build.keylayout=SPANISH
teensy36.menu.keys.es-mx=Spanish Latin America
teensy36.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy36.menu.keys.sv-se=Swedish
teensy36.menu.keys.sv-se.build.keylayout=SWEDISH
teensy36.menu.keys.tr-tr=Turkish (partial)
teensy36.menu.keys.tr-tr.build.keylayout=TURKISH
teensy36.menu.keys.en-gb=United Kingdom
teensy36.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy36.menu.keys.usint=US International
teensy36.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensy35.name=Teensy 3.5
teensy35.upload.maximum_size=524288
teensy35.upload.maximum_data_size=262136
teensy35.upload.tool=teensyloader
teensy35.upload.protocol=halfkay
teensy35.build.board=TEENSY35
teensy35.build.core=teensy3
teensy35.build.mcu=mk64fx512
teensy35.build.warn_data_percentage=98
teensy35.build.toolchain=arm/bin/
teensy35.build.command.gcc=arm-none-eabi-gcc
teensy35.build.command.g++=arm-none-eabi-g++
teensy35.build.command.ar=arm-none-eabi-gcc-ar
teensy35.build.command.objcopy=arm-none-eabi-objcopy
teensy35.build.command.objdump=arm-none-eabi-objdump
teensy35.build.command.linker=arm-none-eabi-gcc
teensy35.build.command.size=arm-none-eabi-size
teensy35.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy35.build.flags.dep=-MMD
teensy35.build.flags.optimize=-Os
teensy35.build.flags.cpu=-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant
teensy35.build.flags.defs=-D__MK64FX512__ -DTEENSYDUINO=153
teensy35.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
teensy35.build.flags.c=
teensy35.build.flags.S=-x assembler-with-cpp
teensy35.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk64fx512.ld"
teensy35.build.flags.libs=-larm_cortexM4lf_math -lm -lstdc++
teensy35.serial.restart_cmd=false
teensy35.menu.usb.serial=Serial
teensy35.menu.usb.serial.build.usbtype=USB_SERIAL
teensy35.menu.usb.serial2=Dual Serial
teensy35.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensy35.menu.usb.serial3=Triple Serial
teensy35.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensy35.menu.usb.keyboard=Keyboard
teensy35.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy35.menu.usb.keyboard.fake_serial=teensy_gateway
teensy35.menu.usb.touch=Keyboard + Touch Screen
teensy35.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy35.menu.usb.touch.fake_serial=teensy_gateway
teensy35.menu.usb.hidtouch=Keyboard + Mouse + Touch Screen
teensy35.menu.usb.hidtouch.build.usbtype=USB_HID_TOUCHSCREEN
teensy35.menu.usb.hidtouch.fake_serial=teensy_gateway
teensy35.menu.usb.hid=Keyboard + Mouse + Joystick
teensy35.menu.usb.hid.build.usbtype=USB_HID
teensy35.menu.usb.hid.fake_serial=teensy_gateway
teensy35.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy35.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy35.menu.usb.midi=MIDI
teensy35.menu.usb.midi.build.usbtype=USB_MIDI
teensy35.menu.usb.midi.fake_serial=teensy_gateway
teensy35.menu.usb.midi4=MIDIx4
teensy35.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy35.menu.usb.midi4.fake_serial=teensy_gateway
teensy35.menu.usb.midi16=MIDIx16
teensy35.menu.usb.midi16.build.usbtype=USB_MIDI16
teensy35.menu.usb.midi16.fake_serial=teensy_gateway
teensy35.menu.usb.serialmidi=Serial + MIDI
teensy35.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy35.menu.usb.serialmidi4=Serial + MIDIx4
teensy35.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy35.menu.usb.serialmidi16=Serial + MIDIx16
teensy35.menu.usb.serialmidi16.build.usbtype=USB_MIDI16_SERIAL
teensy35.menu.usb.audio=Audio
teensy35.menu.usb.audio.build.usbtype=USB_AUDIO
teensy35.menu.usb.audio.fake_serial=teensy_gateway
teensy35.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy35.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy35.menu.usb.serialmidi16audio=Serial + MIDIx16 + Audio
teensy35.menu.usb.serialmidi16audio.build.usbtype=USB_MIDI16_AUDIO_SERIAL
teensy35.menu.usb.mtp=MTP Disk (Experimental)
teensy35.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy35.menu.usb.mtp.fake_serial=teensy_gateway
teensy35.menu.usb.rawhid=Raw HID
teensy35.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy35.menu.usb.rawhid.fake_serial=teensy_gateway
teensy35.menu.usb.flightsim=Flight Sim Controls
teensy35.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy35.menu.usb.flightsim.fake_serial=teensy_gateway
teensy35.menu.usb.flightsimjoystick=Flight Sim Controls + Joystick
teensy35.menu.usb.flightsimjoystick.build.usbtype=USB_FLIGHTSIM_JOYSTICK
teensy35.menu.usb.flightsimjoystick.fake_serial=teensy_gateway
teensy35.menu.usb.everything=All of the Above
teensy35.menu.usb.everything.build.usbtype=USB_EVERYTHING
teensy35.menu.usb.disable=No USB
teensy35.menu.usb.disable.build.usbtype=USB_DISABLED

teensy35.menu.speed.120=120 MHz
teensy35.menu.speed.96=96 MHz
teensy35.menu.speed.72=72 MHz
teensy35.menu.speed.48=48 MHz
teensy35.menu.speed.24=24 MHz
teensy35.menu.speed.16=16 MHz (No USB)
teensy35.menu.speed.8=8 MHz (No USB)
teensy35.menu.speed.4=4 MHz (No USB)
teensy35.menu.speed.2=2 MHz (No USB)
teensy35.menu.speed.144=144 MHz (overclock)
teensy35.menu.speed.168=168 MHz (overclock)
teensy35.menu.speed.168.build.fcpu=168000000
teensy35.menu.speed.144.build.fcpu=144000000
teensy35.menu.speed.120.build.fcpu=120000000
teensy35.menu.speed.96.build.fcpu=96000000
teensy35.menu.speed.72.build.fcpu=72000000
teensy35.menu.speed.48.build.fcpu=48000000
teensy35.menu.speed.24.build.fcpu=24000000
teensy35.menu.speed.16.build.fcpu=16000000
teensy35.menu.speed.8.build.fcpu=8000000
teensy35.menu.speed.4.build.fcpu=4000000
teensy35.menu.speed.2.build.fcpu=2000000

teensy35.menu.opt.o2std=Faster
teensy35.menu.opt.o2std.build.flags.optimize=-O2
teensy35.menu.opt.o2std.build.flags.ldspecs=
teensy35.menu.opt.o2lto=Faster with LTO
teensy35.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
teensy35.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy35.menu.opt.o1std=Fast
teensy35.menu.opt.o1std.build.flags.optimize=-O1
teensy35.menu.opt.o1std.build.flags.ldspecs=
teensy35.menu.opt.o1lto=Fast with LTO
teensy35.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
teensy35.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy35.menu.opt.o3std=Fastest
teensy35.menu.opt.o3std.build.flags.optimize=-O3
teensy35.menu.opt.o3std.build.flags.ldspecs=
teensy35.menu.opt.o3purestd=Fastest + pure-code
teensy35.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
teensy35.menu.opt.o3purestd.build.flags.ldspecs=
teensy35.menu.opt.o3lto=Fastest with LTO
teensy35.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
teensy35.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
teensy35.menu.opt.o3purelto=Fastest + pure-code with LTO
teensy35.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
teensy35.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
teensy35.menu.opt.ogstd=Debug
teensy35.menu.opt.ogstd.build.flags.optimize=-Og
teensy35.menu.opt.ogstd.build.flags.ldspecs=
teensy35.menu.opt.oglto=Debug with LTO
teensy35.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
teensy35.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy35.menu.opt.osstd=Smallest Code
teensy35.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy35.menu.opt.osstd.build.flags.ldspecs=
teensy35.menu.opt.oslto=Smallest Code with LTO
teensy35.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
teensy35.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy35.menu.keys.en-us=US English
teensy35.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy35.menu.keys.fr-ca=Canadian French
teensy35.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy35.menu.keys.xx-ca=Canadian Multilingual
teensy35.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy35.menu.keys.cz-cz=Czech
teensy35.menu.keys.cz-cz.build.keylayout=CZECH
teensy35.menu.keys.da-da=Danish
teensy35.menu.keys.da-da.build.keylayout=DANISH
teensy35.menu.keys.fi-fi=Finnish
teensy35.menu.keys.fi-fi.build.keylayout=FINNISH
teensy35.menu.keys.fr-fr=French
teensy35.menu.keys.fr-fr.build.keylayout=FRENCH
teensy35.menu.keys.fr-be=French Belgian
teensy35.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy35.menu.keys.fr-ch=French Swiss
teensy35.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy35.menu.keys.de-de=German
teensy35.menu.keys.de-de.build.keylayout=GERMAN
teensy35.menu.keys.de-dm=German (Mac)
teensy35.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy35.menu.keys.de-ch=German Swiss
teensy35.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy35.menu.keys.is-is=Icelandic
teensy35.menu.keys.is-is.build.keylayout=ICELANDIC
teensy35.menu.keys.en-ie=Irish
teensy35.menu.keys.en-ie.build.keylayout=IRISH
teensy35.menu.keys.it-it=Italian
teensy35.menu.keys.it-it.build.keylayout=ITALIAN
teensy35.menu.keys.no-no=Norwegian
teensy35.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy35.menu.keys.pt-pt=Portuguese
teensy35.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy35.menu.keys.pt-br=Portuguese Brazilian
teensy35.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy35.menu.keys.rs-rs=Serbian (Latin Only)
teensy35.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy35.menu.keys.es-es=Spanish
teensy35.menu.keys.es-es.build.keylayout=SPANISH
teensy35.menu.keys.es-mx=Spanish Latin America
teensy35.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy35.menu.keys.sv-se=Swedish
teensy35.menu.keys.sv-se.build.keylayout=SWEDISH
teensy35.menu.keys.tr-tr=Turkish (partial)
teensy35.menu.keys.tr-tr.build.keylayout=TURKISH
teensy35.menu.keys.en-gb=United Kingdom
teensy35.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy35.menu.keys.usint=US International
teensy35.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensy31.name=Teensy 3.2 / 3.1
teensy31.upload.maximum_size=262144
teensy31.upload.maximum_data_size=65536
teensy31.upload.tool=teensyloader
teensy31.upload.protocol=halfkay
teensy31.build.board=TEENSY32
teensy31.build.core=teensy3
teensy31.build.mcu=mk20dx256
teensy31.build.warn_data_percentage=97
teensy31.build.toolchain=arm/bin/
teensy31.build.command.gcc=arm-none-eabi-gcc
teensy31.build.command.g++=arm-none-eabi-g++
teensy31.build.command.ar=arm-none-eabi-gcc-ar
teensy31.build.command.objcopy=arm-none-eabi-objcopy
teensy31.build.command.objdump=arm-none-eabi-objdump
teensy31.build.command.linker=arm-none-eabi-gcc
teensy31.build.command.size=arm-none-eabi-size
teensy31.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy31.build.flags.dep=-MMD
teensy31.build.flags.optimize=-Os
teensy31.build.flags.cpu=-mthumb -mcpu=cortex-m4 -fsingle-precision-constant
teensy31.build.flags.defs=-D__MK20DX256__ -DTEENSYDUINO=153
teensy31.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
teensy31.build.flags.c=
teensy31.build.flags.S=-x assembler-with-cpp
teensy31.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx256.ld"
teensy31.build.flags.libs=-larm_cortexM4l_math -lm -lstdc++
teensy31.serial.restart_cmd=false
teensy31.menu.usb.serial=Serial
teensy31.menu.usb.serial.build.usbtype=USB_SERIAL
teensy31.menu.usb.serial2=Dual Serial
teensy31.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensy31.menu.usb.serial3=Triple Serial
teensy31.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensy31.menu.usb.keyboard=Keyboard
teensy31.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy31.menu.usb.keyboard.fake_serial=teensy_gateway
teensy31.menu.usb.touch=Keyboard + Touch Screen
teensy31.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy31.menu.usb.touch.fake_serial=teensy_gateway
teensy31.menu.usb.hidtouch=Keyboard + Mouse + Touch Screen
teensy31.menu.usb.hidtouch.build.usbtype=USB_HID_TOUCHSCREEN
teensy31.menu.usb.hidtouch.fake_serial=teensy_gateway
teensy31.menu.usb.hid=Keyboard + Mouse + Joystick
teensy31.menu.usb.hid.build.usbtype=USB_HID
teensy31.menu.usb.hid.fake_serial=teensy_gateway
teensy31.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy31.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy31.menu.usb.midi=MIDI
teensy31.menu.usb.midi.build.usbtype=USB_MIDI
teensy31.menu.usb.midi.fake_serial=teensy_gateway
teensy31.menu.usb.midi4=MIDIx4
teensy31.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy31.menu.usb.midi4.fake_serial=teensy_gateway
teensy31.menu.usb.midi16=MIDIx16
teensy31.menu.usb.midi16.build.usbtype=USB_MIDI16
teensy31.menu.usb.midi16.fake_serial=teensy_gateway
teensy31.menu.usb.serialmidi=Serial + MIDI
teensy31.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy31.menu.usb.serialmidi4=Serial + MIDIx4
teensy31.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy31.menu.usb.serialmidi16=Serial + MIDIx16
teensy31.menu.usb.serialmidi16.build.usbtype=USB_MIDI16_SERIAL
teensy31.menu.usb.audio=Audio
teensy31.menu.usb.audio.build.usbtype=USB_AUDIO
teensy31.menu.usb.audio.fake_serial=teensy_gateway
teensy31.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy31.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy31.menu.usb.serialmidi16audio=Serial + MIDIx16 + Audio
teensy31.menu.usb.serialmidi16audio.build.usbtype=USB_MIDI16_AUDIO_SERIAL
teensy31.menu.usb.mtp=MTP Disk (Experimental)
teensy31.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy31.menu.usb.mtp.fake_serial=teensy_gateway
teensy31.menu.usb.rawhid=Raw HID
teensy31.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy31.menu.usb.rawhid.fake_serial=teensy_gateway
teensy31.menu.usb.flightsim=Flight Sim Controls
teensy31.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy31.menu.usb.flightsim.fake_serial=teensy_gateway
teensy31.menu.usb.flightsimjoystick=Flight Sim Controls + Joystick
teensy31.menu.usb.flightsimjoystick.build.usbtype=USB_FLIGHTSIM_JOYSTICK
teensy31.menu.usb.flightsimjoystick.fake_serial=teensy_gateway
teensy31.menu.usb.everything=All of the Above
teensy31.menu.usb.everything.build.usbtype=USB_EVERYTHING
teensy31.menu.usb.disable=No USB
teensy31.menu.usb.disable.build.usbtype=USB_DISABLED

teensy31.menu.speed.96=96 MHz (overclock)
teensy31.menu.speed.72=72 MHz
teensy31.menu.speed.48=48 MHz
teensy31.menu.speed.24=24 MHz
teensy31.menu.speed.16=16 MHz (No USB)
teensy31.menu.speed.8=8 MHz (No USB)
teensy31.menu.speed.4=4 MHz (No USB)
teensy31.menu.speed.2=2 MHz (No USB)
teensy31.menu.speed.120=120 MHz (overclock)
#uncomment these if you want to try faster overclocking
#teensy31.menu.speed.144=144 MHz (overclock)
#teensy31.menu.speed.168=168 MHz (overclock)
teensy31.menu.speed.168.build.fcpu=168000000
teensy31.menu.speed.144.build.fcpu=144000000
teensy31.menu.speed.120.build.fcpu=120000000
teensy31.menu.speed.96.build.fcpu=96000000
teensy31.menu.speed.72.build.fcpu=72000000
teensy31.menu.speed.48.build.fcpu=48000000
teensy31.menu.speed.24.build.fcpu=24000000
teensy31.menu.speed.16.build.fcpu=16000000
teensy31.menu.speed.8.build.fcpu=8000000
teensy31.menu.speed.4.build.fcpu=4000000
teensy31.menu.speed.2.build.fcpu=2000000

teensy31.menu.opt.o2std=Faster
teensy31.menu.opt.o2std.build.flags.optimize=-O2
teensy31.menu.opt.o2std.build.flags.ldspecs=
teensy31.menu.opt.o2lto=Faster with LTO
teensy31.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
teensy31.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy31.menu.opt.o1std=Fast
teensy31.menu.opt.o1std.build.flags.optimize=-O1
teensy31.menu.opt.o1std.build.flags.ldspecs=
teensy31.menu.opt.o1lto=Fast with LTO
teensy31.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
teensy31.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy31.menu.opt.o3std=Fastest
teensy31.menu.opt.o3std.build.flags.optimize=-O3
teensy31.menu.opt.o3std.build.flags.ldspecs=
teensy31.menu.opt.o3purestd=Fastest + pure-code
teensy31.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
teensy31.menu.opt.o3purestd.build.flags.ldspecs=
teensy31.menu.opt.o3lto=Fastest with LTO
teensy31.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
teensy31.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
teensy31.menu.opt.o3purelto=Fastest + pure-code with LTO
teensy31.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
teensy31.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
teensy31.menu.opt.ogstd=Debug
teensy31.menu.opt.ogstd.build.flags.optimize=-Og
teensy31.menu.opt.ogstd.build.flags.ldspecs=
teensy31.menu.opt.oglto=Debug with LTO
teensy31.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
teensy31.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy31.menu.opt.osstd=Smallest Code
teensy31.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy31.menu.opt.osstd.build.flags.ldspecs=
teensy31.menu.opt.oslto=Smallest Code with LTO
teensy31.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
teensy31.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy31.menu.keys.en-us=US English
teensy31.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy31.menu.keys.fr-ca=Canadian French
teensy31.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy31.menu.keys.xx-ca=Canadian Multilingual
teensy31.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy31.menu.keys.cz-cz=Czech
teensy31.menu.keys.cz-cz.build.keylayout=CZECH
teensy31.menu.keys.da-da=Danish
teensy31.menu.keys.da-da.build.keylayout=DANISH
teensy31.menu.keys.fi-fi=Finnish
teensy31.menu.keys.fi-fi.build.keylayout=FINNISH
teensy31.menu.keys.fr-fr=French
teensy31.menu.keys.fr-fr.build.keylayout=FRENCH
teensy31.menu.keys.fr-be=French Belgian
teensy31.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy31.menu.keys.fr-ch=French Swiss
teensy31.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy31.menu.keys.de-de=German
teensy31.menu.keys.de-de.build.keylayout=GERMAN
teensy31.menu.keys.de-dm=German (Mac)
teensy31.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy31.menu.keys.de-ch=German Swiss
teensy31.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy31.menu.keys.is-is=Icelandic
teensy31.menu.keys.is-is.build.keylayout=ICELANDIC
teensy31.menu.keys.en-ie=Irish
teensy31.menu.keys.en-ie.build.keylayout=IRISH
teensy31.menu.keys.it-it=Italian
teensy31.menu.keys.it-it.build.keylayout=ITALIAN
teensy31.menu.keys.no-no=Norwegian
teensy31.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy31.menu.keys.pt-pt=Portuguese
teensy31.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy31.menu.keys.pt-br=Portuguese Brazilian
teensy31.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy31.menu.keys.rs-rs=Serbian (Latin Only)
teensy31.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy31.menu.keys.es-es=Spanish
teensy31.menu.keys.es-es.build.keylayout=SPANISH
teensy31.menu.keys.es-mx=Spanish Latin America
teensy31.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy31.menu.keys.sv-se=Swedish
teensy31.menu.keys.sv-se.build.keylayout=SWEDISH
teensy31.menu.keys.tr-tr=Turkish (partial)
teensy31.menu.keys.tr-tr.build.keylayout=TURKISH
teensy31.menu.keys.en-gb=United Kingdom
teensy31.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy31.menu.keys.usint=US International
teensy31.menu.keys.usint.build.keylayout=US_INTERNATIONAL

teensy31.vid.0=0x16C0
teensy31.vid.1=0x16C0
teensy31.vid.2=0x16C0
teensy31.vid.3=0x16C0
teensy31.vid.4=0x16C0
teensy31.pid.0=0x0483
teensy31.pid.1=0x0487
teensy31.pid.2=0x0489
teensy31.pid.3=0x048A
teensy31.pid.4=0x0476

teensy30.name=Teensy 3.0
teensy30.upload.maximum_size=131072
teensy30.upload.maximum_data_size=16384
teensy30.upload.tool=teensyloader
teensy30.upload.protocol=halfkay
teensy30.build.board=TEENSY30
teensy30.build.core=teensy3
teensy30.build.mcu=mk20dx128
teensy30.build.warn_data_percentage=94
teensy30.build.toolchain=arm/bin/
teensy30.build.command.gcc=arm-none-eabi-gcc
teensy30.build.command.g++=arm-none-eabi-g++
teensy30.build.command.ar=arm-none-eabi-gcc-ar
teensy30.build.command.objcopy=arm-none-eabi-objcopy
teensy30.build.command.objdump=arm-none-eabi-objdump
teensy30.build.command.linker=arm-none-eabi-gcc
teensy30.build.command.size=arm-none-eabi-size
teensy30.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensy30.build.flags.dep=-MMD
teensy30.build.flags.optimize=-Os
teensy30.build.flags.cpu=-mthumb -mcpu=cortex-m4 -fsingle-precision-constant
teensy30.build.flags.defs=-D__MK20DX128__ -DTEENSYDUINO=153
teensy30.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
teensy30.build.flags.c=
teensy30.build.flags.S=-x assembler-with-cpp
teensy30.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx128.ld"
teensy30.build.flags.ldspecs=--specs=nano.specs
teensy30.build.flags.libs=-larm_cortexM4l_math -lm -lstdc++
teensy30.serial.restart_cmd=false

teensy30.menu.usb.serial=Serial
teensy30.menu.usb.serial.build.usbtype=USB_SERIAL
teensy30.menu.usb.keyboard=Keyboard
teensy30.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensy30.menu.usb.keyboard.fake_serial=teensy_gateway
teensy30.menu.usb.hid=Keyboard + Mouse + Joystick
teensy30.menu.usb.hid.build.usbtype=USB_HID
teensy30.menu.usb.hid.fake_serial=teensy_gateway
teensy30.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy30.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy30.menu.usb.touch=Keyboard + Touch Screen
teensy30.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensy30.menu.usb.touch.fake_serial=teensy_gateway
teensy30.menu.usb.midi=MIDI
teensy30.menu.usb.midi.build.usbtype=USB_MIDI
teensy30.menu.usb.midi.fake_serial=teensy_gateway
teensy30.menu.usb.midi4=MIDIx4
teensy30.menu.usb.midi4.build.usbtype=USB_MIDI4
teensy30.menu.usb.midi4.fake_serial=teensy_gateway
teensy30.menu.usb.serialmidi=Serial + MIDI
teensy30.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensy30.menu.usb.serialmidi4=Serial + MIDIx4
teensy30.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensy30.menu.usb.audio=Audio
teensy30.menu.usb.audio.build.usbtype=USB_AUDIO
teensy30.menu.usb.audio.fake_serial=teensy_gateway
teensy30.menu.usb.serialmidiaudio=Serial + MIDI + Audio
teensy30.menu.usb.serialmidiaudio.build.usbtype=USB_MIDI_AUDIO_SERIAL
teensy30.menu.usb.mtp=MTP Disk (Experimental)
teensy30.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensy30.menu.usb.mtp.fake_serial=teensy_gateway
teensy30.menu.usb.rawhid=Raw HID
teensy30.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy30.menu.usb.rawhid.fake_serial=teensy_gateway
teensy30.menu.usb.flightsim=Flight Sim Controls
teensy30.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy30.menu.usb.flightsim.fake_serial=teensy_gateway
teensy30.menu.usb.disable=No USB
teensy30.menu.usb.disable.build.usbtype=USB_DISABLED

teensy30.menu.speed.96=96 MHz (overclock)
teensy30.menu.speed.48=48 MHz
teensy30.menu.speed.24=24 MHz
teensy30.menu.speed.96.build.fcpu=96000000
teensy30.menu.speed.48.build.fcpu=48000000
teensy30.menu.speed.24.build.fcpu=24000000

teensy30.menu.opt.o2std=Faster
teensy30.menu.opt.o2std.build.flags.optimize=-O2
teensy30.menu.opt.o2std.build.flags.ldspecs=
teensy30.menu.opt.o2lto=Faster with LTO
teensy30.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
teensy30.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensy30.menu.opt.o1std=Fast
teensy30.menu.opt.o1std.build.flags.optimize=-O1
teensy30.menu.opt.o1std.build.flags.ldspecs=
teensy30.menu.opt.o1lto=Fast with LTO
teensy30.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
teensy30.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
teensy30.menu.opt.o3std=Fastest
teensy30.menu.opt.o3std.build.flags.optimize=-O3
teensy30.menu.opt.o3std.build.flags.ldspecs=
teensy30.menu.opt.o3lto=Fastest with LTO
teensy30.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
teensy30.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
teensy30.menu.opt.ogstd=Debug
teensy30.menu.opt.ogstd.build.flags.optimize=-Og
teensy30.menu.opt.ogstd.build.flags.ldspecs=
teensy30.menu.opt.oglto=Debug with LTO
teensy30.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
teensy30.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensy30.menu.opt.osstd=Smallest Code
teensy30.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensy30.menu.opt.osstd.build.flags.ldspecs=
teensy30.menu.opt.oslto=Smallest Code with LTO
teensy30.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
teensy30.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin

teensy30.menu.keys.en-us=US English
teensy30.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy30.menu.keys.fr-ca=Canadian French
teensy30.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy30.menu.keys.xx-ca=Canadian Multilingual
teensy30.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy30.menu.keys.cz-cz=Czech
teensy30.menu.keys.cz-cz.build.keylayout=CZECH
teensy30.menu.keys.da-da=Danish
teensy30.menu.keys.da-da.build.keylayout=DANISH
teensy30.menu.keys.fi-fi=Finnish
teensy30.menu.keys.fi-fi.build.keylayout=FINNISH
teensy30.menu.keys.fr-fr=French
teensy30.menu.keys.fr-fr.build.keylayout=FRENCH
teensy30.menu.keys.fr-be=French Belgian
teensy30.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy30.menu.keys.fr-ch=French Swiss
teensy30.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy30.menu.keys.de-de=German
teensy30.menu.keys.de-de.build.keylayout=GERMAN
teensy30.menu.keys.de-dm=German (Mac)
teensy30.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy30.menu.keys.de-ch=German Swiss
teensy30.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy30.menu.keys.is-is=Icelandic
teensy30.menu.keys.is-is.build.keylayout=ICELANDIC
teensy30.menu.keys.en-ie=Irish
teensy30.menu.keys.en-ie.build.keylayout=IRISH
teensy30.menu.keys.it-it=Italian
teensy30.menu.keys.it-it.build.keylayout=ITALIAN
teensy30.menu.keys.no-no=Norwegian
teensy30.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy30.menu.keys.pt-pt=Portuguese
teensy30.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy30.menu.keys.pt-br=Portuguese Brazilian
teensy30.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy30.menu.keys.rs-rs=Serbian (Latin Only)
teensy30.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy30.menu.keys.es-es=Spanish
teensy30.menu.keys.es-es.build.keylayout=SPANISH
teensy30.menu.keys.es-mx=Spanish Latin America
teensy30.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy30.menu.keys.sv-se=Swedish
teensy30.menu.keys.sv-se.build.keylayout=SWEDISH
teensy30.menu.keys.tr-tr=Turkish (partial)
teensy30.menu.keys.tr-tr.build.keylayout=TURKISH
teensy30.menu.keys.en-gb=United Kingdom
teensy30.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy30.menu.keys.usint=US International
teensy30.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensyLC.name=Teensy LC
teensyLC.upload.maximum_size=63488
teensyLC.upload.maximum_data_size=8192
teensyLC.upload.tool=teensyloader
teensyLC.upload.protocol=halfkay
teensyLC.build.board=TEENSYLC
teensyLC.build.core=teensy3
teensyLC.build.mcu=mkl26z64
teensyLC.build.warn_data_percentage=88
teensyLC.build.toolchain=arm/bin/
teensyLC.build.command.gcc=arm-none-eabi-gcc
teensyLC.build.command.g++=arm-none-eabi-g++
teensyLC.build.command.ar=arm-none-eabi-gcc-ar
teensyLC.build.command.objcopy=arm-none-eabi-objcopy
teensyLC.build.command.objdump=arm-none-eabi-objdump
teensyLC.build.command.linker=arm-none-eabi-gcc
teensyLC.build.command.size=arm-none-eabi-size
teensyLC.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib
teensyLC.build.flags.dep=-MMD
teensyLC.build.flags.cpu=-mthumb -mcpu=cortex-m0plus -fsingle-precision-constant
teensyLC.build.flags.defs=-D__MKL26Z64__ -DTEENSYDUINO=153
teensyLC.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
teensyLC.build.flags.c=
teensyLC.build.flags.S=-x assembler-with-cpp
teensyLC.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mkl26z64.ld"
teensyLC.build.flags.libs=-larm_cortexM0l_math -lm -lstdc++
teensyLC.serial.restart_cmd=false
teensyLC.menu.usb.serial=Serial
teensyLC.menu.usb.serial.build.usbtype=USB_SERIAL
teensyLC.menu.usb.serial2=Dual Serial
teensyLC.menu.usb.serial2.build.usbtype=USB_DUAL_SERIAL
teensyLC.menu.usb.serial3=Triple Serial
teensyLC.menu.usb.serial3.build.usbtype=USB_TRIPLE_SERIAL
teensyLC.menu.usb.keyboard=Keyboard
teensyLC.menu.usb.keyboard.build.usbtype=USB_KEYBOARDONLY
teensyLC.menu.usb.keyboard.fake_serial=teensy_gateway
teensyLC.menu.usb.hid=Keyboard + Mouse + Joystick
teensyLC.menu.usb.hid.build.usbtype=USB_HID
teensyLC.menu.usb.hid.fake_serial=teensy_gateway
teensyLC.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensyLC.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensyLC.menu.usb.touch=Keyboard + Touch Screen
teensyLC.menu.usb.touch.build.usbtype=USB_TOUCHSCREEN
teensyLC.menu.usb.touch.fake_serial=teensy_gateway
teensyLC.menu.usb.midi=MIDI
teensyLC.menu.usb.midi.build.usbtype=USB_MIDI
teensyLC.menu.usb.midi.fake_serial=teensy_gateway
teensyLC.menu.usb.midi4=MIDIx4
teensyLC.menu.usb.midi4.build.usbtype=USB_MIDI4
teensyLC.menu.usb.midi4.fake_serial=teensy_gateway
teensyLC.menu.usb.serialmidi=Serial + MIDI
teensyLC.menu.usb.serialmidi.build.usbtype=USB_MIDI_SERIAL
teensyLC.menu.usb.serialmidi4=Serial + MIDIx4
teensyLC.menu.usb.serialmidi4.build.usbtype=USB_MIDI4_SERIAL
teensyLC.menu.usb.mtp=MTP Disk (Experimental)
teensyLC.menu.usb.mtp.build.usbtype=USB_MTPDISK
teensyLC.menu.usb.mtp.fake_serial=teensy_gateway
teensyLC.menu.usb.rawhid=Raw HID
teensyLC.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensyLC.menu.usb.rawhid.fake_serial=teensy_gateway
teensyLC.menu.usb.flightsim=Flight Sim Controls
teensyLC.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensyLC.menu.usb.flightsim.fake_serial=teensy_gateway
teensyLC.menu.usb.disable=No USB
teensyLC.menu.usb.disable.build.usbtype=USB_DISABLED

teensyLC.menu.speed.48=48 MHz
teensyLC.menu.speed.24=24 MHz
teensyLC.menu.speed.48.build.fcpu=48000000
teensyLC.menu.speed.24.build.fcpu=24000000

teensyLC.menu.opt.osstd=Smallest Code
teensyLC.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
teensyLC.menu.opt.osstd.build.flags.ldspecs=
teensyLC.menu.opt.oslto=Smallest Code with LTO
teensyLC.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
teensyLC.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
teensyLC.menu.opt.ogstd=Debug
teensyLC.menu.opt.ogstd.build.flags.optimize=-Og
teensyLC.menu.opt.ogstd.build.flags.ldspecs=
teensyLC.menu.opt.oglto=Debug with LTO
teensyLC.menu.opt.oglto.build.flags.optimize=-Og -flto -fno-fat-lto-objects
teensyLC.menu.opt.oglto.build.flags.ldspecs=-fuse-linker-plugin
teensyLC.menu.opt.o3std=Fastest
teensyLC.menu.opt.o3std.build.flags.optimize=-O3
teensyLC.menu.opt.o3std.build.flags.ldspecs=
teensyLC.menu.opt.o3lto=Fastest with LTO
teensyLC.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
teensyLC.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
teensyLC.menu.opt.o2std=Faster
teensyLC.menu.opt.o2std.build.flags.optimize=-O2
teensyLC.menu.opt.o2std.build.flags.ldspecs=
teensyLC.menu.opt.o2lto=Faster with LTO
teensyLC.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
teensyLC.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
teensyLC.menu.opt.o1std=Fast
teensyLC.menu.opt.o1std.build.flags.optimize=-O1
teensyLC.menu.opt.o1std.build.flags.ldspecs=
teensyLC.menu.opt.o1lto=Fast with LTO
teensyLC.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
teensyLC.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin

teensyLC.menu.keys.en-us=US English
teensyLC.menu.keys.en-us.build.keylayout=US_ENGLISH
teensyLC.menu.keys.fr-ca=Canadian French
teensyLC.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensyLC.menu.keys.xx-ca=Canadian Multilingual
teensyLC.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensyLC.menu.keys.cz-cz=Czech
teensyLC.menu.keys.cz-cz.build.keylayout=CZECH
teensyLC.menu.keys.da-da=Danish
teensyLC.menu.keys.da-da.build.keylayout=DANISH
teensyLC.menu.keys.fi-fi=Finnish
teensyLC.menu.keys.fi-fi.build.keylayout=FINNISH
teensyLC.menu.keys.fr-fr=French
teensyLC.menu.keys.fr-fr.build.keylayout=FRENCH
teensyLC.menu.keys.fr-be=French Belgian
teensyLC.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensyLC.menu.keys.fr-ch=French Swiss
teensyLC.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensyLC.menu.keys.de-de=German
teensyLC.menu.keys.de-de.build.keylayout=GERMAN
teensyLC.menu.keys.de-dm=German (Mac)
teensyLC.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensyLC.menu.keys.de-ch=German Swiss
teensyLC.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensyLC.menu.keys.is-is=Icelandic
teensyLC.menu.keys.is-is.build.keylayout=ICELANDIC
teensyLC.menu.keys.en-ie=Irish
teensyLC.menu.keys.en-ie.build.keylayout=IRISH
teensyLC.menu.keys.it-it=Italian
teensyLC.menu.keys.it-it.build.keylayout=ITALIAN
teensyLC.menu.keys.no-no=Norwegian
teensyLC.menu.keys.no-no.build.keylayout=NORWEGIAN
teensyLC.menu.keys.pt-pt=Portuguese
teensyLC.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensyLC.menu.keys.pt-br=Portuguese Brazilian
teensyLC.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensyLC.menu.keys.rs-rs=Serbian (Latin Only)
teensyLC.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensyLC.menu.keys.es-es=Spanish
teensyLC.menu.keys.es-es.build.keylayout=SPANISH
teensyLC.menu.keys.es-mx=Spanish Latin America
teensyLC.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensyLC.menu.keys.sv-se=Swedish
teensyLC.menu.keys.sv-se.build.keylayout=SWEDISH
teensyLC.menu.keys.tr-tr=Turkish (partial)
teensyLC.menu.keys.tr-tr.build.keylayout=TURKISH
teensyLC.menu.keys.en-gb=United Kingdom
teensyLC.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensyLC.menu.keys.usint=US International
teensyLC.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensypp2.name=Teensy++ 2.0
teensypp2.upload.maximum_size=130048
teensypp2.upload.maximum_data_size=8192
teensypp2.upload.tool=teensyloader
teensypp2.upload.protocol=halfkay
teensypp2.build.board=TEENSY2PP
teensypp2.build.core=teensy
teensypp2.build.mcu=at90usb1286
teensypp2.build.warn_data_percentage=94
teensypp2.build.toolchain=avr/bin/
teensypp2.build.command.gcc=avr-gcc
teensypp2.build.command.g++=avr-g++
teensypp2.build.command.ar=avr-ar
teensypp2.build.command.objcopy=avr-objcopy
teensypp2.build.command.objdump=avr-objdump
teensypp2.build.command.linker=avr-gcc
teensypp2.build.command.size=avr-size
teensypp2.build.flags.common=-g -Wall -ffunction-sections -fdata-sections
teensypp2.build.flags.dep=-MMD
teensypp2.build.flags.optimize=-Os
teensypp2.build.flags.cpu=-mmcu=at90usb1286
teensypp2.build.flags.defs=-DTEENSYDUINO=153 -DARDUINO_ARCH_AVR
teensypp2.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++11
teensypp2.build.flags.c=
teensypp2.build.flags.S=-x assembler-with-cpp
teensypp2.build.flags.ld=-Wl,--gc-sections,--relax
teensypp2.build.flags.ldspecs=
teensypp2.build.flags.libs=-lm
teensypp2.build.serial_number=true
teensypp2.serial.restart_cmd=true

teensypp2.menu.usb.serial=Serial
teensypp2.menu.usb.serial.build.usbtype=USB_SERIAL
teensypp2.menu.usb.hid=Keyboard + Mouse + Joystick
teensypp2.menu.usb.hid.build.usbtype=USB_HID
teensypp2.menu.usb.hid.fake_serial=teensy_gateway
teensypp2.menu.usb.serialhid=Serial + Keyboard + Mouse + Joystick
teensypp2.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensypp2.menu.usb.int_disk=Disk(Internal) + Keyboard
teensypp2.menu.usb.int_disk.build.usbtype=USB_DISK
teensypp2.menu.usb.int_disk.fake_serial=teensy_gateway
teensypp2.menu.usb.int_disk.build.elfpatch=mktinyfat
teensypp2.menu.usb.sd_disk=Disk(SD Card) + Keyboard
teensypp2.menu.usb.sd_disk.build.usbtype=USB_DISK_SDFLASH
teensypp2.menu.usb.sd_disk.fake_serial=teensy_gateway
teensypp2.menu.usb.midi=MIDI
teensypp2.menu.usb.midi.build.usbtype=USB_MIDI
teensypp2.menu.usb.midi.fake_serial=teensy_gateway
teensypp2.menu.usb.rawhid=Raw HID
teensypp2.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensypp2.menu.usb.rawhid.fake_serial=teensy_gateway
teensypp2.menu.usb.flightsim=Flight Sim Controls
teensypp2.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensypp2.menu.usb.flightsim.fake_serial=teensy_gateway
teensypp2.menu.speed.16=16 MHz
teensypp2.menu.speed.8=8 MHz
teensypp2.menu.speed.4=4 MHz
teensypp2.menu.speed.2=2 MHz
teensypp2.menu.speed.1=1 MHz
teensypp2.menu.speed.16.build.fcpu=16000000L
teensypp2.menu.speed.8.build.fcpu=8000000L
teensypp2.menu.speed.4.build.fcpu=4000000L
teensypp2.menu.speed.2.build.fcpu=2000000L
teensypp2.menu.speed.1.build.fcpu=1000000L

teensypp2.menu.keys.en-us=US English
teensypp2.menu.keys.en-us.build.keylayout=US_ENGLISH
teensypp2.menu.keys.fr-ca=Canadian French
teensypp2.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensypp2.menu.keys.xx-ca=Canadian Multilingual
teensypp2.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensypp2.menu.keys.cz-cz=Czech
teensypp2.menu.keys.cz-cz.build.keylayout=CZECH
teensypp2.menu.keys.da-da=Danish
teensypp2.menu.keys.da-da.build.keylayout=DANISH
teensypp2.menu.keys.fi-fi=Finnish
teensypp2.menu.keys.fi-fi.build.keylayout=FINNISH
teensypp2.menu.keys.fr-fr=French
teensypp2.menu.keys.fr-fr.build.keylayout=FRENCH
teensypp2.menu.keys.fr-be=French Belgian
teensypp2.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensypp2.menu.keys.fr-ch=French Swiss
teensypp2.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensypp2.menu.keys.de-de=German
teensypp2.menu.keys.de-de.build.keylayout=GERMAN
teensypp2.menu.keys.de-dm=German (Mac)
teensypp2.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensypp2.menu.keys.de-ch=German Swiss
teensypp2.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensypp2.menu.keys.is-is=Icelandic
teensypp2.menu.keys.is-is.build.keylayout=ICELANDIC
teensypp2.menu.keys.en-ie=Irish
teensypp2.menu.keys.en-ie.build.keylayout=IRISH
teensypp2.menu.keys.it-it=Italian
teensypp2.menu.keys.it-it.build.keylayout=ITALIAN
teensypp2.menu.keys.no-no=Norwegian
teensypp2.menu.keys.no-no.build.keylayout=NORWEGIAN
teensypp2.menu.keys.pt-pt=Portuguese
teensypp2.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensypp2.menu.keys.pt-br=Portuguese Brazilian
teensypp2.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensypp2.menu.keys.rs-rs=Serbian (Latin Only)
teensypp2.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensypp2.menu.keys.es-es=Spanish
teensypp2.menu.keys.es-es.build.keylayout=SPANISH
teensypp2.menu.keys.es-mx=Spanish Latin America
teensypp2.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensypp2.menu.keys.sv-se=Swedish
teensypp2.menu.keys.sv-se.build.keylayout=SWEDISH
teensypp2.menu.keys.tr-tr=Turkish (partial)
teensypp2.menu.keys.tr-tr.build.keylayout=TURKISH
teensypp2.menu.keys.en-gb=United Kingdom
teensypp2.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensypp2.menu.keys.usint=US International
teensypp2.menu.keys.usint.build.keylayout=US_INTERNATIONAL


teensy2.name=Teensy 2.0
teensy2.upload.maximum_size=32256
teensy2.upload.maximum_data_size=2560
teensy2.upload.tool=teensyloader
teensy2.upload.protocol=halfkay
teensy2.build.board=TEENSY2
teensy2.build.core=teensy
teensy2.build.mcu=atmega32u4
teensy2.build.warn_data_percentage=80
teensy2.build.toolchain=avr/bin/
teensy2.build.command.gcc=avr-gcc
teensy2.build.command.g++=avr-g++
teensy2.build.command.ar=avr-ar
teensy2.build.command.objcopy=avr-objcopy
teensy2.build.command.objdump=avr-objdump
teensy2.build.command.linker=avr-gcc
teensy2.build.command.size=avr-size
teensy2.build.flags.common=-g -Wall -ffunction-sections -fdata-sections
teensy2.build.flags.dep=-MMD
teensy2.build.flags.optimize=-Os
teensy2.build.flags.cpu=-mmcu=atmega32u4
teensy2.build.flags.defs=-DTEENSYDUINO=153 -DARDUINO_ARCH_AVR
teensy2.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++11
teensy2.build.flags.c=
teensy2.build.flags.S=-x assembler-with-cpp
teensy2.build.flags.ld=-Wl,--gc-sections,--relax
teensy2.build.flags.ldspecs=
teensy2.build.flags.libs=-lm
teensy2.build.serial_number=true
teensy2.serial.restart_cmd=true

teensy2.menu.usb.serial=Serial
teensy2.menu.usb.serial.build.usbtype=USB_SERIAL
teensy2.menu.usb.hid=Keyboard + Mouse + Joystick
teensy2.menu.usb.hid.build.usbtype=USB_HID
teensy2.menu.usb.hid.fake_serial=teensy_gateway
teensy2.menu.usb.serialhid=Serial + Keyboard + Mouse + USB-MIDI
teensy2.menu.usb.serialhid.build.usbtype=USB_SERIAL_HID
teensy2.menu.usb.int_disk=Disk(Internal) + Keyboard
teensy2.menu.usb.int_disk.build.usbtype=USB_DISK
teensy2.menu.usb.int_disk.fake_serial=teensy_gateway
teensy2.menu.usb.int_disk.build.elfpatch=mktinyfat
teensy2.menu.usb.sd_disk=Disk(SD Card) + Keyboard
teensy2.menu.usb.sd_disk.build.usbtype=USB_DISK_SDFLASH
teensy2.menu.usb.sd_disk.fake_serial=teensy_gateway
teensy2.menu.usb.midi=MIDI
teensy2.menu.usb.midi.build.usbtype=USB_MIDI
teensy2.menu.usb.midi.fake_serial=teensy_gateway
teensy2.menu.usb.rawhid=Raw HID
teensy2.menu.usb.rawhid.build.usbtype=USB_RAWHID
teensy2.menu.usb.rawhid.fake_serial=teensy_gateway
teensy2.menu.usb.flightsim=Flight Sim Controls
teensy2.menu.usb.flightsim.build.usbtype=USB_FLIGHTSIM
teensy2.menu.usb.flightsim.fake_serial=teensy_gateway
teensy2.menu.speed.16=16 MHz
teensy2.menu.speed.8=8 MHz
teensy2.menu.speed.4=4 MHz
teensy2.menu.speed.2=2 MHz
teensy2.menu.speed.1=1 MHz
teensy2.menu.speed.16.build.fcpu=16000000L
teensy2.menu.speed.8.build.fcpu=8000000L
teensy2.menu.speed.4.build.fcpu=4000000L
teensy2.menu.speed.2.build.fcpu=2000000L
teensy2.menu.speed.1.build.fcpu=1000000L

teensy2.menu.keys.en-us=US English
teensy2.menu.keys.en-us.build.keylayout=US_ENGLISH
teensy2.menu.keys.fr-ca=Canadian French
teensy2.menu.keys.fr-ca.build.keylayout=CANADIAN_FRENCH
teensy2.menu.keys.xx-ca=Canadian Multilingual
teensy2.menu.keys.xx-ca.build.keylayout=CANADIAN_MULTILINGUAL
teensy2.menu.keys.cz-cz=Czech
teensy2.menu.keys.cz-cz.build.keylayout=CZECH
teensy2.menu.keys.da-da=Danish
teensy2.menu.keys.da-da.build.keylayout=DANISH
teensy2.menu.keys.fi-fi=Finnish
teensy2.menu.keys.fi-fi.build.keylayout=FINNISH
teensy2.menu.keys.fr-fr=French
teensy2.menu.keys.fr-fr.build.keylayout=FRENCH
teensy2.menu.keys.fr-be=French Belgian
teensy2.menu.keys.fr-be.build.keylayout=FRENCH_BELGIAN
teensy2.menu.keys.fr-ch=French Swiss
teensy2.menu.keys.fr-ch.build.keylayout=FRENCH_SWISS
teensy2.menu.keys.de-de=German
teensy2.menu.keys.de-de.build.keylayout=GERMAN
teensy2.menu.keys.de-dm=German (Mac)
teensy2.menu.keys.de-dm.build.keylayout=GERMAN_MAC
teensy2.menu.keys.de-ch=German Swiss
teensy2.menu.keys.de-ch.build.keylayout=GERMAN_SWISS
teensy2.menu.keys.is-is=Icelandic
teensy2.menu.keys.is-is.build.keylayout=ICELANDIC
teensy2.menu.keys.en-ie=Irish
teensy2.menu.keys.en-ie.build.keylayout=IRISH
teensy2.menu.keys.it-it=Italian
teensy2.menu.keys.it-it.build.keylayout=ITALIAN
teensy2.menu.keys.no-no=Norwegian
teensy2.menu.keys.no-no.build.keylayout=NORWEGIAN
teensy2.menu.keys.pt-pt=Portuguese
teensy2.menu.keys.pt-pt.build.keylayout=PORTUGUESE
teensy2.menu.keys.pt-br=Portuguese Brazilian
teensy2.menu.keys.pt-br.build.keylayout=PORTUGUESE_BRAZILIAN
teensy2.menu.keys.rs-rs=Serbian (Latin Only)
teensy2.menu.keys.rs-rs.build.keylayout=SERBIAN_LATIN_ONLY
teensy2.menu.keys.es-es=Spanish
teensy2.menu.keys.es-es.build.keylayout=SPANISH
teensy2.menu.keys.es-mx=Spanish Latin America
teensy2.menu.keys.es-mx.build.keylayout=SPANISH_LATIN_AMERICA
teensy2.menu.keys.sv-se=Swedish
teensy2.menu.keys.sv-se.build.keylayout=SWEDISH
teensy2.menu.keys.tr-tr=Turkish (partial)
teensy2.menu.keys.tr-tr.build.keylayout=TURKISH
teensy2.menu.keys.en-gb=United Kingdom
teensy2.menu.keys.en-gb.build.keylayout=UNITED_KINGDOM
teensy2.menu.keys.usint=US International
teensy2.menu.keys.usint.build.keylayout=US_INTERNATIONAL
now i am seeing (serial+keyboard+mouse+USB-MIDI) IN USB type teensy LC
but after uploading teensyLC doing Nothing..
 
at last , i am going to share original files from my system for teensy. i don't know how to modify it . but i can relace them by modified files , if anybody will modify them to enable and use device (serial+keyboard&Mouse+usb midi). i request for help to all of you . if you get these file and re-send me after modification .
Running my sys -----win7/arduino1.8.13/teensyduino1.53
board.txt
https://drive.google.com/file/d/1Yy-5P6Topntimw-BcqEMWe9VmxrCjCRp/view?usp=sharing
usb_desc.c
https://drive.google.com/file/d/1T9eJe1oqqWFp188J8bSxX7JG2jVFtc9U/view?usp=sharing
usb_desc.h
https://drive.google.com/file/d/1zl8UbxHj0K2uLQdjQgiIiPjVgmA9ZOBO/view?usp=sharing
usb_dev.c
https://drive.google.com/file/d/1M8gKL5elIMYB1y64FBzvWB27CYnwesGs/view?usp=sharing
usb_dev.h
https://drive.google.com/file/d/17oSPKlenbIr1geQKpWiyOgmRtWwMy5xA/view?usp=sharing


and my mail-- charnjit215@gmail.com
if making composite (serial+keyboard&Mouse+usb midi). is more difficult . then i shuold gave experiment with my teensyLC

thank you all of you.........................................................
 
Status
Not open for further replies.
Back
Top