This is question to USB exerts (especially @Paul)
I'm playing with MTP and got the experimental MTP running T3.5/6 with PC-Win10
but I realized that Paul implemted usb_desc differently than @hubbe
In particular I have
So my question is while Paul has chosen Seremu und common MTP_RX, MTP_TX endpoint (this is obviously question for @Paul)
I realize the Serial port works but all is very choppy (CDC and MTP transfers are in large chunks)
Now if Seremu is better, is there any Linux solution beyond Teensyduino that allows to interface with HID based Seremu?
More precise I need a solution that works on a headless ARM based embedded computer.
I'm playing with MTP and got the experimental MTP running T3.5/6 with PC-Win10
but I realized that Paul implemted usb_desc differently than @hubbe
In particular I have
Code:
#elif defined(USB_MTPDISK)
//#define PJRC_
#if defined(PJRC_)
#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
#define ENDPOINT4_CONFIG ENDPOINT_RECEIVE_ONLY
#else
#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 6
#define NUM_USB_BUFFERS 20
#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 MTP_INTERFACE 2 // MTP Disk
#define MTP_TX_ENDPOINT 4
#define MTP_TX_SIZE 64
#define MTP_RX_ENDPOINT 5
#define MTP_RX_SIZE 64
#define MTP_EVENT_ENDPOINT 6
#define MTP_EVENT_SIZE 16
#define MTP_EVENT_INTERVAL 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_RECEIVE_ONLY
#define ENDPOINT6_CONFIG ENDPOINT_RECEIVE_ONLY
#endif
So my question is while Paul has chosen Seremu und common MTP_RX, MTP_TX endpoint (this is obviously question for @Paul)
I realize the Serial port works but all is very choppy (CDC and MTP transfers are in large chunks)
Now if Seremu is better, is there any Linux solution beyond Teensyduino that allows to interface with HID based Seremu?
More precise I need a solution that works on a headless ARM based embedded computer.