Oddball
Active member
I have a midi control surface, and a midi to gate converter on the same computer. They are both built on teensy LC's and they both have separate and unique names. Their names are recognized and the devices function as intended separate. However when they are both plugged in they will both be assigned the same name as whatever device is recognized last, and still function properly, they just have the same name. I'm assuming its because windows is using hardware identification and then assigning the name to that and that they share that same info. My first thought is to build some uniqueness into the name.c tab but I'm not 100% how to do that. I'd rather solve the problem on the teensy side not the windows side if that's possible. Does anyone have any suggestions? the two name.c files are included below
device one
// To give your project a unique name, this code must be
// placed into a .c file (its own tab). It can not be in
// a .cpp file or your main sketch (the .ino file).
#include "usb_names.h"
// Edit these lines to create your own name. The length must
// match the number of characters in your custom name.
#define MIDI_NAME {'P','a','g','e','s',' ', 'O',' ','P','o','t','s','2'}
#define MIDI_NAME_LEN 13
// Do not change this part. This exact format is required by USB.
struct usb_string_descriptor_struct usb_string_product_name = {
2 + MIDI_NAME_LEN * 2,
3,
MIDI_NAME
};
device two
// Edit these lines to create your own name. The length must
// match the number of characters in your custom name.
#define MIDI_NAME {'T','a','m','a',' ','T','e','c','h','s','t','a','r'}
#define MIDI_NAME_LEN 13
// Do not change this part. This exact format is required by USB.
struct usb_string_descriptor_struct usb_string_product_name = {
2 + MIDI_NAME_LEN * 2,
3,
MIDI_NAME
};
device one
// To give your project a unique name, this code must be
// placed into a .c file (its own tab). It can not be in
// a .cpp file or your main sketch (the .ino file).
#include "usb_names.h"
// Edit these lines to create your own name. The length must
// match the number of characters in your custom name.
#define MIDI_NAME {'P','a','g','e','s',' ', 'O',' ','P','o','t','s','2'}
#define MIDI_NAME_LEN 13
// Do not change this part. This exact format is required by USB.
struct usb_string_descriptor_struct usb_string_product_name = {
2 + MIDI_NAME_LEN * 2,
3,
MIDI_NAME
};
device two
// Edit these lines to create your own name. The length must
// match the number of characters in your custom name.
#define MIDI_NAME {'T','a','m','a',' ','T','e','c','h','s','t','a','r'}
#define MIDI_NAME_LEN 13
// Do not change this part. This exact format is required by USB.
struct usb_string_descriptor_struct usb_string_product_name = {
2 + MIDI_NAME_LEN * 2,
3,
MIDI_NAME
};