No Description

Per Mårtensson 292807269b Removed file 2 years ago
examples 5b76abf54c Some pipe, port and cdc rework, add HID mouse with example 2 years ago
src 292807269b Removed file 2 years ago
LICENSE 0fe097bf70 Initial commit 2 years ago
README.md 307731cc8d Update README.md 2 years ago
library.properties a87f5ca4ec Update 'library.properties' 2 years ago

README.md

Info

I would like to announce USB host library for esp32 S2 compatible with arduino, esp-idf and PIO (when pio will be updated to most recent esp-idf). I have some working library with simple host example and host mouse example is working too.

I will try to make library more user friendly and maybe in future will add more USB device class (will add CDC for sure). Here is example log with connected mouse:

start
[   575][I][port.cpp:96] init(): USB host setup properly
[   575][I][port.cpp:101] init(): Port is power ON now
[   835][I][mouse.ino:135] port_cb(): PORT event: 1
[   835][I][mouse.ino:139] port_cb(): physical connection detected
[   895][I][pipe.cpp:30] USBHostPipe(): constructor
[   895][I][pipe.cpp:82] init(): Creating pipe

[   895][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 225003
[   900][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 224903
[   901][I][mouse.ino:63] ctrl_pipe_cb(): 

[   913][I][mouse.ino:103] ctrl_pipe_cb(): address set: 2
[   918][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 224923
[   925][I][mouse.ino:98] ctrl_pipe_cb(): set current configuration: 1
[   931][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 224923

[   944][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 224667
[   951][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 224587


Config:
Number of Interfaces: 1
Attributes: 0xa0
Max power: 100 mA

Interface:
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 1
bInterfaceClass: 0x03 (HID)
bInterfaceSubClass: 0x01
bInterfaceProtocol: 0x02

Endpoint:
bEndpointAddress: 0x81
bmAttributes: 0x03
bDescriptorType: 5
wMaxPacketSize: 6
bInterval: 10 ms
[   995][I][pipe.cpp:30] USBHostPipe(): constructor
[   999][I][pipe.cpp:82] init(): Creating pipe

[  1004][I][pipe.cpp:92] init(): EP: 0x3ffc6ecb
[  1008][I][pipe.cpp:93] init(): EP: 7, 10
[  1012][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 218651
[  1019][I][mousepipe.cpp:8] inData(): EP: 0x01
[  1023][I][mouse.ino:111] ctrl_pipe_cb(): unknown request handled
[  1029][I][mouse.ino:63] ctrl_pipe_cb(): 
get descriptor 1: 8704
[  1035][I][mouse.ino:89] ctrl_pipe_cb(): HID report map
[ 14405][I][mouse.ino:24] hid_pipe_cb(): 1
[ 14406][I][mouse.ino:25] hid_pipe_cb(): 0
[ 14406][I][mouse.ino:26] hid_pipe_cb(): 0/0/0
[ 14406][I][mouse.ino:27] hid_pipe_cb(): 0

[  3017][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219307
[  3024][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 10200][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 10200][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 1
[ 10200][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 10205][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 10210][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 10217][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 10296][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 10296][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 10296][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 10301][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 10306][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 10313][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 12864][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 12864][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 2
[ 12864][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 12869][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 12874][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 12881][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 13048][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 13048][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 13048][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 13053][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 13058][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 13065][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 14632][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 14633][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 14633][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 14638][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 14643][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 14650][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 14664][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 14665][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 14665][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 48/16/254
[ 14670][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 14676][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 14683][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 14688][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 14692][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 14697][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 71/96/252
[ 14703][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 14709][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 14715][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 14720][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 14725][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 14730][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 3/32/0
[ 14736][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0

[ 14741][I][pipe.cpp:241] allocateIRP(): Creating new IRP, free memory: 219315
[ 14748][I][mousepipe.cpp:8] inData(): EP: 0x01
[ 14760][I][mouse.ino:24] hid_pipe_cb(): HID REPORT ID: 1
[ 14761][I][mouse.ino:25] hid_pipe_cb(): Mouse buttons: 0
[ 14763][I][mouse.ino:26] hid_pipe_cb(): X/Y axes(raw bytes): 0/0/0
[ 14769][I][mouse.ino:27] hid_pipe_cb(): Mouse wheel: 0