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 anni fa
PaulStoffregen
f1bb020282
Fix print() & println() conflict with Arduino Print class
7 anni fa
PaulStoffregen
5ea0d568a1
Fix scheduling of hub control transfers
7 anni fa
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 anni fa
PaulStoffregen
5935deb8ce
Device driver constructors compatible with UHS library
7 anni fa
PaulStoffregen
ea75a1c673
Rename header file to USBHost_t36.h
7 anni fa
PaulStoffregen
be1004e0f4
Disconnect downstream deviecs with hub disconnects
7 anni fa
PaulStoffregen
0443ab8db6
Device drivers contribute the memory they will require
7 anni fa
PaulStoffregen
98701a268f
Handle disconnect device from hub
7 anni fa
PaulStoffregen
920f71e768
Fix hub debounce timer port status requests
7 anni fa
PaulStoffregen
86c1bbe6ee
Add reset-enumeration mutual exclusion
7 anni fa
PaulStoffregen
2e1e9748e0
Hub driver (finally) creates devices
7 anni fa
PaulStoffregen
05582c91a0
Trim hud driver memory usage
7 anni fa
PaulStoffregen
ba0e6f495b
Do only 1 control transfer at a time to hubs, clear other change status
7 anni fa
PaulStoffregen
81f30ecd5f
Begin work in hub port state machine & debounce wait
7 anni fa
PaulStoffregen
d0ee653192
Restructure hub driver to stateless approach
7 anni fa
PaulStoffregen
8ee6d28432
Implement driver timers
7 anni fa
PaulStoffregen
b30d8a4f48
Define timer API for device drivers
7 anni fa
PaulStoffregen
80225dfe22
Add to periodic sched using interval+offset & binary tree
7 anni fa
PaulStoffregen
656765bac6
All debug printing through USBHost class
7 anni fa
PaulStoffregen
57f958c368
Drivers claim interface & add Keyboard driver claim
7 anni fa
PaulStoffregen
4eaeb84a82
Parse hub port status, work-in-progress...
7 anni fa
PaulStoffregen
ce2fafd18c
Minor device driver API simplifications
7 anni fa
PaulStoffregen
a6352852ed
Respond to hub interrupt pipe by read & clear status
7 anni fa
PaulStoffregen
252b9a2f24
(bare bones) Interrupt transfer support
7 anni fa
PaulStoffregen
1b300c9051
Rename transfer functions from "new" to "queue"
7 anni fa
PaulStoffregen
de69cf9af2
Separate setup data for enumeration & drivers
7 anni fa
PaulStoffregen
4b2258e5a7
Separate functions for data vs control transfer
7 anni fa
PaulStoffregen
93c40091da
initialize hubs
7 anni fa
PaulStoffregen
5d39664c89
Simplify and document USB device driver interface
7 anni fa
PaulStoffregen
326ecbe228
Read hub descriptor
7 anni fa
PaulStoffregen
eb807023db
Add driver claiming at the device level
7 anni fa
PaulStoffregen
dc87eeaaf6
Convert to C++ classes
7 anni fa
PaulStoffregen
2a2f745dc1
Group code into cpp files
7 anni fa
PaulStoffregen
f1c0481d89
Turn on PHY support for low speed
7 anni fa
PaulStoffregen
03fb64e1ab
Request string descriptors during enumeration
7 anni fa
PaulStoffregen
6122604f55
Use PHY's high-speed disconnect detector
7 anni fa
PaulStoffregen
91e1ceb0eb
Read device & config descriptors
7 anni fa
PaulStoffregen
a649cbe12b
Fix backward followup linking when creating a qTD group
7 anni fa
PaulStoffregen
46324071f0
Fix adding to follup lists while also processing them
7 anni fa
PaulStoffregen
38dea38146
Begin work on USB enumeration state machine
7 anni fa
PaulStoffregen
600166af4c
Add transfer callbacks
7 anni fa
PaulStoffregen
7997b07157
Memory management functions
7 anni fa
PaulStoffregen
36ca432baa
Add MIT license and a few extra comments
7 anni fa
PaulStoffregen
33151ad6cf
Add qTD followup lists
7 anni fa
PaulStoffregen
897cf23bf3
Add halt qTD and race-free qTD queuing method
7 anni fa
PaulStoffregen
f4d60b7594
Put QH into schedule when creating pipe
7 anni fa
PaulStoffregen
92404ec121
Fix wLength for first control transfer test
7 anni fa
PaulStoffregen
727a7c01ae
Setting qTD active bit needed to actually do anything!
7 anni fa
PaulStoffregen
d58e0c207e
Add even more debugging stuff, still no workie :(
7 anni fa