After a while I had time to look into this, now I have LaunchControl XL
First, the LaunchControl XL works great with the InputFunctions USB Host example. I.e all controls provide clear and what seems correct printout on serial monitor.
When looking the LaunchControl XL on the Apple MIDI (audio devices) it has only one MIDI port.
The Teensy 4.1 I use shows 16 ports, though I am using the Serial + MIDI (not x16)?
The manufacturer name comes as set on name.c but I did not succeed changing the manufacturer yet, it shows teensyuino.
There is probably few other things I need to change like the Manufacturer ID. This is what I get with InputFunctions, when debug print is on
Code:
USB Host InputFunctions example
USB2 PLL running
reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20003000
periodictable = 20003000
port change: 10001803
connect
begin reset
port change: 10001005
port enabled
end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 00 00 00 40 35 12 61 00 00 00 01 02 00 01
VendorID = 1235, ProductID = 0061, Version = 0000
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Focusrite A.E. Ltd
enumeration:
Product: Launch Control XL
enumeration:
Config data length = 99
enumeration:
Configuration Descriptor:
09 02 63 00 02 01 00 80 32
NumInterfaces = 2
ConfigurationValue = 1
09 04 00 00 00 01 01 00 03
Interface = 0
Number of endpoints = 0
Class/Subclass/Protocol = 1 / 1 / 0
09 24 01 00 01 09 00 01 01
09 04 01 00 02 01 03 00 03
Interface = 1
Number of endpoints = 2
Class/Subclass/Protocol = 1 / 3 / 0
07 24 01 00 01 3F 00
06 24 02 01 01 05
06 24 02 01 04 04
09 24 03 01 02 01 01 01 05
09 24 03 01 03 01 02 02 04
07 05 81 02 40 00 01
Endpoint = 1 IN
Type = Bulk
Max Size = 64
Polling Interval = 1
06 25 01 02 02 03
07 05 02 02 40 00 01
Endpoint = 2 OUT
Type = Bulk
Max Size = 64
Polling Interval = 1
06 25 01 02 01 04
enumeration:
USBHub memory usage = 960
USBHub claim_device this=200031E0
USBHub memory usage = 960
USBHub claim_device this=200035A0
Descriptor 4 = INTERFACE
MIDIDevice claim this=20003960
len = 90
Interface is unknown (might be Yahama)
type: 36, len: 9
MIDI Header (ignored)
type: 4, len: 9
Descriptor 36 = ???
Descriptor 4 = INTERFACE
MIDIDevice claim this=20003960
len = 72
Interface is MIDI
type: 36, len: 7
MIDI Header (ignored)
type: 36, len: 6
MIDI IN Jack (ignored)
type: 36, len: 6
MIDI IN Jack (ignored)
type: 36, len: 9
MIDI OUT Jack (ignored)
type: 36, len: 9
MIDI OUT Jack (ignored)
type: 5, len: 7
MIDI Endpoint: 81
rx_size = 64
type: 37, len: 6
MIDI Endpoint Jack Association (ignored)
type: 5, len: 7
MIDI Endpoint: 2
tx_size = 64
type: 37, len: 6
MIDI Endpoint Jack Association (ignored)
new_Pipe
new_Pipe
Descriptor 36 = ???
Descriptor 36 = ???
Descriptor 36 = ???
Descriptor 36 = ???
Descriptor 36 = ???
Descriptor 5 = ENDPOINT
Descriptor 37 = ???
Descriptor 5 = ENDPOINT
Descriptor 37 = ???
Any suggestions how to start making the teensy 4.1 as LaunchControl XL towards computer? Is the only way to edit the USB host library?
There likely is then also some of that communication that needs to be taken care of.