PaulStoffregen
133d082760
Clean up bandwidth usage info when deleting a pipe
pirms 7 gadiem
Kurt Eckhardt
5737d12b62
Fix hang part 2...
I am not sure if you can also get the same hang in the periodic update list as well, but to be on the safe side added same checks as the one that was hanging.
pirms 7 gadiem
Kurt Eckhardt
ca070ebcd4
Fix delete delete hang on serial ports
Found the issue where it was freeing transfers from the follow up list, that were also on the QH list which also tried to free it again.
Fix was in the first free list, it checks to see if the item is also in the qh list and does not free it then.
pirms 7 gadiem
Kurt Eckhardt
704d511c81
PL2303 support
This commit should start to allow some Prolific PL2303 devices to work.
Tis device has a rather more complex initialization process than some
of the other devices.
I have tested this some with one device that I used to use to program
some older RS232 based boards plus talk to an SSC-32 device.
Test case is I am able to talk to SSC-32 and if I type in ver<cr>
It does properly return the version number.
The data I am seeing is pretty close to what
was documented in: https://gist.github.com/tommie/89011c5ac06553d5cdb8
as well as what the Linux driver outputs.
I also incorperated Frank's configuration options.
pirms 7 gadiem
Frank
52ad568b07
let user choose PERIODIC_LIST_SIZE
pirms 7 gadiem
PaulStoffregen
f1bb020282
Fix print() & println() conflict with Arduino Print class
pirms 7 gadiem
PaulStoffregen
9840e82db8
FTDI transmit, improve performance for fast output
pirms 7 gadiem
PaulStoffregen
5575f9fcae
FTDI transmit, add partial packet output
pirms 7 gadiem
PaulStoffregen
a1cde4e568
Print less low-level EHCI info when USBHOST_PRINT_DEBUG defined
pirms 7 gadiem
PaulStoffregen
78a466c362
Fix adding pipes to periodic schedule
pirms 7 gadiem
PaulStoffregen
e345c0360d
Add error recovery for async schedule errors & halted pipes
pirms 7 gadiem
PaulStoffregen
50016717b3
Fix periodic list init when diffent sizes used
pirms 7 gadiem
PaulStoffregen
3355eab2a2
Add documentation (in source code comments)
pirms 7 gadiem
PaulStoffregen
ea75a1c673
Rename header file to USBHost_t36.h
pirms 7 gadiem
PaulStoffregen
b18ee4ea06
Add define to enable/disable all debug printing
pirms 7 gadiem
PaulStoffregen
86c1bbe6ee
Add reset-enumeration mutual exclusion
pirms 7 gadiem
PaulStoffregen
d0ee653192
Restructure hub driver to stateless approach
pirms 7 gadiem
PaulStoffregen
edb04e60e7
Fix interrupt pipe bug when running at 480 Mbit/sec
pirms 7 gadiem
PaulStoffregen
8ee6d28432
Implement driver timers
pirms 7 gadiem
PaulStoffregen
b30d8a4f48
Define timer API for device drivers
pirms 7 gadiem
PaulStoffregen
430e24ba54
Free transfers and pipe when deleting from periodic schedule
pirms 7 gadiem
PaulStoffregen
fe5cf3e4cd
Remove to-be-deleted pipes from periodic schedule
pirms 7 gadiem
PaulStoffregen
80225dfe22
Add to periodic sched using interval+offset & binary tree
pirms 7 gadiem
PaulStoffregen
1c5d403aba
Clearer bandwidth allocation code & store in Pipe_t
pirms 7 gadiem
PaulStoffregen
7658caa281
Add ability to remove & free pipes from async schedule
pirms 7 gadiem
PaulStoffregen
b4905f40ef
Keep list of pipes to be deleted when device disconnects
pirms 7 gadiem
PaulStoffregen
08ed25eb49
Disconnect drivers and free device when cable unplugged
pirms 7 gadiem
PaulStoffregen
656765bac6
All debug printing through USBHost class
pirms 7 gadiem
PaulStoffregen
57f958c368
Drivers claim interface & add Keyboard driver claim
pirms 7 gadiem
PaulStoffregen
4eaeb84a82
Parse hub port status, work-in-progress...
pirms 7 gadiem
PaulStoffregen
97f728e83c
Find (hopefully) best interrupt pipe bandwidth allocation
pirms 7 gadiem
PaulStoffregen
4b4ce19dc6
Print less debug info, now that EHCI is kinda working
pirms 7 gadiem
PaulStoffregen
252b9a2f24
(bare bones) Interrupt transfer support
pirms 7 gadiem
PaulStoffregen
448910a94f
Configurable periodic frame list size
pirms 7 gadiem
PaulStoffregen
84752f8310
Add data (non-control) transfer function
pirms 7 gadiem
PaulStoffregen
1b300c9051
Rename transfer functions from "new" to "queue"
pirms 7 gadiem
PaulStoffregen
de69cf9af2
Separate setup data for enumeration & drivers
pirms 7 gadiem
PaulStoffregen
4b2258e5a7
Separate functions for data vs control transfer
pirms 7 gadiem
PaulStoffregen
eb807023db
Add driver claiming at the device level
pirms 7 gadiem
PaulStoffregen
dc87eeaaf6
Convert to C++ classes
pirms 7 gadiem
PaulStoffregen
2a2f745dc1
Group code into cpp files
pirms 7 gadiem
PaulStoffregen
f1c0481d89
Turn on PHY support for low speed
pirms 7 gadiem
PaulStoffregen
03fb64e1ab
Request string descriptors during enumeration
pirms 7 gadiem
PaulStoffregen
6122604f55
Use PHY's high-speed disconnect detector
pirms 7 gadiem
PaulStoffregen
91e1ceb0eb
Read device & config descriptors
pirms 7 gadiem
PaulStoffregen
a649cbe12b
Fix backward followup linking when creating a qTD group
pirms 7 gadiem
PaulStoffregen
46324071f0
Fix adding to follup lists while also processing them
pirms 7 gadiem
PaulStoffregen
38dea38146
Begin work on USB enumeration state machine
pirms 7 gadiem
PaulStoffregen
600166af4c
Add transfer callbacks
pirms 7 gadiem
PaulStoffregen
7997b07157
Memory management functions
pirms 7 gadiem