Commit Graph

39 Commits

Author SHA1 Message Date
Sebastian Zagrodzki
1fd4e7f4c4 Check if the device is already closed and if the interface is already
claimed.
2017-04-29 00:27:51 +02:00
Sebastian Zagrodzki
0cfaee3514 Fail operations if Close was called before. 2017-04-29 00:18:26 +02:00
Sebastian Zagrodzki
5f122b4dcd Introduce two more layers between device and endpoint:
device -> active config -> claimed interface -> endpoints.
Device can have at most one active config. A config can have
multiple claimed interfaces, each with a specific alt setting.
An interface with an alt setting defines a list of endpoints.
2017-04-29 00:01:11 +02:00
Sebastian Zagrodzki
83276566fc Replace uint8 with Go-idiomatic int, where it makes sense. 2017-04-26 22:22:07 +02:00
Sebastian Zagrodzki
128c206986 Move EndpointInfo to endpoint.go 2017-04-09 20:51:47 +02:00
Sebastian Zagrodzki
aaef575b06 rename Setups to AltSettings 2017-04-09 20:45:35 +02:00
Sebastian Zagrodzki
f668df87df OpenEndpoint for now takes an address - a device can have two endpoints
with the same number...
2017-04-09 19:08:42 +02:00
Sebastian Zagrodzki
f58798160d make addr() part of EndpointInfo 2017-04-09 18:55:41 +02:00
Sebastian Zagrodzki
3d62929e05 Replace EndpointDirection with a bool 2017-04-09 18:51:51 +02:00
Sebastian Zagrodzki
168b501d53 Rename IfClass/IfSubClass/IfProtocol to Class/SubClass/Protocol, these
fields occur within an interface descriptor.
2017-04-09 18:44:32 +02:00
Sebastian Zagrodzki
f91d53931a Use Protocol type for USB interface protocol. 2017-04-09 18:42:04 +02:00
Sebastian Zagrodzki
af00028b97 more comments, add Milliamperes type. 2017-04-09 18:15:48 +02:00
Sebastian Zagrodzki
c437b39ef7 comments for endpointinfo type fields 2017-04-09 16:56:36 +02:00
Sebastian Zagrodzki
3e59eeac6c replace class/subclass with Class type 2017-04-09 16:41:38 +02:00
Sebastian Zagrodzki
e0f30623b3 Modify EndpointInfo to provide meaningful data rather than raw USB
descriptor values. E.g. for the user, the distinction between
MaxIsoPkt and MaxPktSize is irrelevant, only the calculated max packet
size matters.
2017-04-08 23:49:10 +02:00
Sebastian Zagrodzki
f3b2f37e3a Rename the rest of the constants. 2017-03-27 22:33:29 +02:00
Sebastian Zagrodzki
36241e869e more constants 2017-03-27 22:29:24 +02:00
Sebastian Zagrodzki
b70848cf73 start renaming the constants to Go-style. 2017-03-27 22:23:47 +02:00
Sebastian Zagrodzki
389ae4e2b3 EndpointInfo tests 2017-03-10 08:48:21 -05:00
Sebastian Zagrodzki
cc135fe616 move all libusb wrappers to libusb.go. 2017-02-23 10:25:02 +01:00
Sebastian Zagrodzki
16f99ed0b0 Merge remote-tracking branch 'origin/master' into async_transfers_everywhere 2017-02-14 01:12:35 +01:00
Sebastian Zagrodzki
d4d7011a44 Don't assume libusb headers are always in libusb-1.0.
Use pkg-config to add correct include paths for libusb regardless of the
platform.
2017-02-13 17:08:46 +01:00
Sebastian Zagrodzki
87abb704d7 Make all transfer types use a generic endpoint.transfer() function
that uses libusb's asynchronous interface.
2017-02-10 22:06:57 +01:00
Sebastian Zagrodzki
beb4fdbac5 Update copyright notes for multiple contributors. 2017-02-07 07:37:57 +01:00
Sebastian Zagrodzki
9849c8088e Add a reference to libusb ticket on incorrect max iso packet size. 2017-02-05 16:49:02 +01:00
Sebastian Zagrodzki
f13728c6e1 Set the MaxIsoPacket field in the endpoint info if the endpoint is
an isochronous endpoint. Use MaxIsoPacket as the iso packet size
when preparing the iso transfer.
2017-02-05 16:20:58 +01:00
Kyle Lemons
96f1a0a774 Update LICENSE 2013-08-14 19:22:55 -07:00
Kyle Lemons
1723f5a08d gofmt 2012-07-22 23:40:25 -07:00
Kyle Lemons
9849a972c6 Added isochronous transfer 2012-04-12 20:15:30 -07:00
Kyle Lemons
71bbb57904 Checkpoint 2012-04-09 17:37:25 -07:00
Kyle Lemons
c8d19d2d0f Renames 2012-03-27 20:30:16 -07:00
Kyle Lemons
e5a0531ed2 Cleanup 2012-03-27 19:40:22 -07:00
Kyle Lemons
25c01a9f60 Remove (*Config).Close() 2012-03-27 18:40:32 -07:00
Kyle Lemons
be26b2f34b Tweaks and renames 2012-03-27 18:34:56 -07:00
Kyle Lemons
8a56742c74 Improve documentation 2012-03-27 00:09:18 -07:00
Kyle Lemons
2da2ce1e17 gofmt 2012-03-26 22:51:47 -07:00
Kyle Lemons
86ebf94158 Output cleanup 2012-03-26 22:51:37 -07:00
Kyle Lemons
0f572675c9 Tidy up interfaces and pretty printing 2012-03-26 22:37:25 -07:00
Kyle Lemons
ba2dd5404f Add config, interfaces, endpoints, etc 2012-03-26 00:06:53 -07:00