Kurt Eckhardt
4e2ea2d96e
String buffers - Devices contribute buffers
instead of having each HUB have 7 buffers, which can eat up space. We have each main object contribute currently one string buffer, which than when we initialize a Device_t we try to allocate one for it, likewise we release it when the Device is released.
Hopefully less memory needed.
Also updated such that the HIDInput classes can not retrieve these strings.
Changed test program to now also have list of HIDInput objects and when I detect a new one, I again print out info on it...
7 years ago
PaulStoffregen
f1bb020282
Fix print() & println() conflict with Arduino Print class
7 years ago
PaulStoffregen
5ea0d568a1
Fix scheduling of hub control transfers
7 years ago
PaulStoffregen
a44e342703
Fix order of deferred hub control transfers (KurtE)
https://forum.pjrc.com/threads/45740-USB-Host-Mouse-Driver?p=155745&viewfull=1#post155745
7 years ago
PaulStoffregen
5935deb8ce
Device driver constructors compatible with UHS library
7 years ago
PaulStoffregen
ea75a1c673
Rename header file to USBHost_t36.h
7 years ago
PaulStoffregen
be1004e0f4
Disconnect downstream deviecs with hub disconnects
7 years ago
PaulStoffregen
0443ab8db6
Device drivers contribute the memory they will require
7 years ago
PaulStoffregen
98701a268f
Handle disconnect device from hub
7 years ago
PaulStoffregen
920f71e768
Fix hub debounce timer port status requests
7 years ago
PaulStoffregen
86c1bbe6ee
Add reset-enumeration mutual exclusion
7 years ago
PaulStoffregen
2e1e9748e0
Hub driver (finally) creates devices
7 years ago
PaulStoffregen
05582c91a0
Trim hud driver memory usage
7 years ago
PaulStoffregen
ba0e6f495b
Do only 1 control transfer at a time to hubs, clear other change status
7 years ago
PaulStoffregen
81f30ecd5f
Begin work in hub port state machine & debounce wait
7 years ago
PaulStoffregen
d0ee653192
Restructure hub driver to stateless approach
7 years ago
PaulStoffregen
8ee6d28432
Implement driver timers
7 years ago
PaulStoffregen
b30d8a4f48
Define timer API for device drivers
7 years ago
PaulStoffregen
80225dfe22
Add to periodic sched using interval+offset & binary tree
7 years ago
PaulStoffregen
656765bac6
All debug printing through USBHost class
7 years ago
PaulStoffregen
57f958c368
Drivers claim interface & add Keyboard driver claim
7 years ago
PaulStoffregen
4eaeb84a82
Parse hub port status, work-in-progress...
7 years ago
PaulStoffregen
ce2fafd18c
Minor device driver API simplifications
7 years ago
PaulStoffregen
a6352852ed
Respond to hub interrupt pipe by read & clear status
7 years ago
PaulStoffregen
252b9a2f24
(bare bones) Interrupt transfer support
7 years ago
PaulStoffregen
1b300c9051
Rename transfer functions from "new" to "queue"
7 years ago
PaulStoffregen
de69cf9af2
Separate setup data for enumeration & drivers
7 years ago
PaulStoffregen
4b2258e5a7
Separate functions for data vs control transfer
7 years ago
PaulStoffregen
93c40091da
initialize hubs
7 years ago
PaulStoffregen
5d39664c89
Simplify and document USB device driver interface
7 years ago
PaulStoffregen
326ecbe228
Read hub descriptor
7 years ago
PaulStoffregen
eb807023db
Add driver claiming at the device level
7 years ago
PaulStoffregen
dc87eeaaf6
Convert to C++ classes
7 years ago
PaulStoffregen
2a2f745dc1
Group code into cpp files
7 years ago
PaulStoffregen
f1c0481d89
Turn on PHY support for low speed
7 years ago
PaulStoffregen
03fb64e1ab
Request string descriptors during enumeration
7 years ago
PaulStoffregen
6122604f55
Use PHY's high-speed disconnect detector
7 years ago
PaulStoffregen
91e1ceb0eb
Read device & config descriptors
7 years ago
PaulStoffregen
a649cbe12b
Fix backward followup linking when creating a qTD group
7 years ago
PaulStoffregen
46324071f0
Fix adding to follup lists while also processing them
7 years ago
PaulStoffregen
38dea38146
Begin work on USB enumeration state machine
7 years ago
PaulStoffregen
600166af4c
Add transfer callbacks
7 years ago
PaulStoffregen
7997b07157
Memory management functions
7 years ago
PaulStoffregen
36ca432baa
Add MIT license and a few extra comments
7 years ago
PaulStoffregen
33151ad6cf
Add qTD followup lists
7 years ago
PaulStoffregen
897cf23bf3
Add halt qTD and race-free qTD queuing method
7 years ago
PaulStoffregen
f4d60b7594
Put QH into schedule when creating pipe
7 years ago
PaulStoffregen
92404ec121
Fix wLength for first control transfer test
7 years ago
PaulStoffregen
727a7c01ae
Setting qTD active bit needed to actually do anything!
7 years ago
PaulStoffregen
d58e0c207e
Add even more debugging stuff, still no workie :(
7 years ago