libusb 0.2.1-x86-mingw32 → 0.2.2-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +6 -0
- data/README.rdoc +3 -3
- data/Rakefile +1 -1
- data/lib/libusb-1.0.dll +0 -0
- data/lib/libusb.rb +1 -1
- data/lib/libusb/interface.rb +9 -0
- data/lib/libusb/setting.rb +1 -1
- data/test/test_libusb_mass_storage2.rb +8 -4
- metadata +16 -16
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 0.2.2 / 2012-10-19
|
2
|
+
|
3
|
+
* Add method Interface#bInterfaceNumber
|
4
|
+
* Fix methods (#claim_interface, #detach_kernel_driver) with Interface-type parameter
|
5
|
+
* update to libusbx-1.0.14 for windows build
|
6
|
+
|
1
7
|
=== 0.2.1 / 2012-09-25
|
2
8
|
|
3
9
|
* Rename Configuration#maxPower to #bMaxPower as done in libusbx-1.0.13 and in ruby-usb.gem
|
data/README.rdoc
CHANGED
@@ -39,7 +39,7 @@ by using the device descriptor attributes.
|
|
39
39
|
A {LIBUSB::Device} could have several configurations. You can then decide of which
|
40
40
|
configuration to enable. You can only enable one configuration at a time.
|
41
41
|
|
42
|
-
Each {LIBUSB::Configuration} has one or more interfaces.
|
42
|
+
Each {LIBUSB::Configuration} has one or more interfaces. These can be seen as functional group
|
43
43
|
performing a single feature of the device.
|
44
44
|
|
45
45
|
Each {LIBUSB::Interface} has at least one {LIBUSB::Setting}. The first setting is always default.
|
@@ -60,7 +60,7 @@ maximum packet size.
|
|
60
60
|
|
61
61
|
In order to use LIBUSB, you also need the libusb-1.0[http://libusbx.org] library (but not necessarily its header files).
|
62
62
|
* Debian or Ubuntu:
|
63
|
-
sudo apt-get install libusb-1.0-0
|
63
|
+
sudo apt-get install libusb-1.0-0-dev
|
64
64
|
* OS-X: install with homebrew:
|
65
65
|
brew install libusb
|
66
66
|
or macports:
|
@@ -77,7 +77,7 @@ Latest code can be used in this way:
|
|
77
77
|
|
78
78
|
In contrast to Linux, any access to an USB device by LIBUSB on Windows requires a proper driver
|
79
79
|
installed in the system. Fortunately creating such a driver is quite easy with
|
80
|
-
Zadig[http://sourceforge.net/
|
80
|
+
Zadig[http://sourceforge.net/projects/libwdi/files/zadig/]. Select the interesting USB device,
|
81
81
|
choose WinUSB driver and press "Install Driver". That's it. You may take the generated output directory
|
82
82
|
with it's INI-file and use it for driver installation on other 32 or 64 bit Windows
|
83
83
|
systems.
|
data/Rakefile
CHANGED
@@ -32,7 +32,7 @@ end
|
|
32
32
|
# LIBUSB_TARBALL = STATIC_SOURCESDIR + "libusb-#{LIBUSB_VERSION}.tar.bz2"
|
33
33
|
|
34
34
|
# Fetch tarball from libusbx
|
35
|
-
LIBUSB_VERSION = ENV['LIBUSB_VERSION'] || '1.0.
|
35
|
+
LIBUSB_VERSION = ENV['LIBUSB_VERSION'] || '1.0.14'
|
36
36
|
LIBUSB_SOURCE_URI = URI( "http://downloads.sourceforge.net/project/libusbx/releases/#{LIBUSB_VERSION[/^\d+\.\d+\.\d+/]}/source/libusbx-#{LIBUSB_VERSION}.tar.bz2" )
|
37
37
|
LIBUSB_TARBALL = STATIC_SOURCESDIR + File.basename( LIBUSB_SOURCE_URI.path )
|
38
38
|
|
data/lib/libusb-1.0.dll
CHANGED
Binary file
|
data/lib/libusb.rb
CHANGED
data/lib/libusb/interface.rb
CHANGED
@@ -22,6 +22,11 @@ module LIBUSB
|
|
22
22
|
layout :altsetting, :pointer,
|
23
23
|
:num_altsetting, :int
|
24
24
|
|
25
|
+
# Number of this interface.
|
26
|
+
def bInterfaceNumber
|
27
|
+
settings.first.bInterfaceNumber
|
28
|
+
end
|
29
|
+
|
25
30
|
def initialize(configuration, *args)
|
26
31
|
@configuration = configuration
|
27
32
|
super(*args)
|
@@ -39,6 +44,10 @@ module LIBUSB
|
|
39
44
|
end
|
40
45
|
alias settings alt_settings
|
41
46
|
|
47
|
+
def inspect
|
48
|
+
"\#<#{self.class} #{bInterfaceNumber}>"
|
49
|
+
end
|
50
|
+
|
42
51
|
# The {Device} this Interface belongs to.
|
43
52
|
def device() self.configuration.device end
|
44
53
|
# Return all endpoints of all alternative settings as Array of {Endpoint}s.
|
data/lib/libusb/setting.rb
CHANGED
@@ -22,6 +22,7 @@ class TestLibusbMassStorage2 < Test::Unit::TestCase
|
|
22
22
|
|
23
23
|
attr_accessor :usb
|
24
24
|
attr_accessor :device
|
25
|
+
attr_accessor :interface
|
25
26
|
|
26
27
|
def setup
|
27
28
|
@usb = Context.new
|
@@ -29,10 +30,13 @@ class TestLibusbMassStorage2 < Test::Unit::TestCase
|
|
29
30
|
@device = usb.devices( :bClass=>CLASS_MASS_STORAGE, :bSubClass=>[0x06,0x01], :bProtocol=>0x50 ).last
|
30
31
|
abort "no mass storage device found" unless @device
|
31
32
|
|
33
|
+
@interface = device.interfaces.first
|
34
|
+
|
32
35
|
# Ensure kernel driver is detached
|
33
36
|
device.open do |dev|
|
34
|
-
if RUBY_PLATFORM=~/linux/i && dev.kernel_driver_active?(
|
35
|
-
dev.
|
37
|
+
if RUBY_PLATFORM=~/linux/i && dev.kernel_driver_active?(interface)
|
38
|
+
assert dev.kernel_driver_active?(0), "DevHandle#kernel_driver_active? may be called with an Interface instance or a Fixnum"
|
39
|
+
dev.detach_kernel_driver(interface)
|
36
40
|
end
|
37
41
|
end
|
38
42
|
end
|
@@ -49,7 +53,7 @@ class TestLibusbMassStorage2 < Test::Unit::TestCase
|
|
49
53
|
|
50
54
|
def test_claim_interface_with_block
|
51
55
|
res = device.open do |dev|
|
52
|
-
dev.claim_interface(
|
56
|
+
dev.claim_interface(interface) do |dev2|
|
53
57
|
assert_kind_of DevHandle, dev2
|
54
58
|
assert_kind_of String, dev2.string_descriptor_ascii(1)
|
55
59
|
12345
|
@@ -59,7 +63,7 @@ class TestLibusbMassStorage2 < Test::Unit::TestCase
|
|
59
63
|
end
|
60
64
|
|
61
65
|
def test_open_interface
|
62
|
-
res = device.open_interface(
|
66
|
+
res = device.open_interface(interface) do |dev|
|
63
67
|
assert_kind_of DevHandle, dev
|
64
68
|
assert_kind_of String, dev.string_descriptor_ascii(1)
|
65
69
|
12345
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libusb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: x86-mingw32
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|
16
|
-
requirement: &
|
16
|
+
requirement: &20360580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *20360580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &20359940 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.10'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *20359940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake-compiler
|
38
|
-
requirement: &
|
38
|
+
requirement: &20359420 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0.6'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *20359420
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: hoe
|
49
|
-
requirement: &
|
49
|
+
requirement: &20358840 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '3.0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *20358840
|
58
58
|
description: LIBUSB is a Ruby binding that gives Ruby programmers access to arbitrary
|
59
59
|
USB devices
|
60
60
|
email:
|
@@ -124,13 +124,13 @@ signing_key:
|
|
124
124
|
specification_version: 3
|
125
125
|
summary: Access USB devices from Ruby via libusb-1.0
|
126
126
|
test_files:
|
127
|
-
- test/
|
127
|
+
- test/test_libusb_keyboard.rb
|
128
128
|
- test/test_libusb_gc.rb
|
129
|
-
- test/
|
129
|
+
- test/test_libusb_mass_storage2.rb
|
130
130
|
- test/test_libusb_capability.rb
|
131
|
-
- test/
|
131
|
+
- test/test_libusb_iso_transfer.rb
|
132
|
+
- test/test_libusb_mass_storage.rb
|
132
133
|
- test/test_libusb_compat.rb
|
133
|
-
- test/
|
134
|
-
- test/test_libusb_mass_storage2.rb
|
134
|
+
- test/test_libusb_compat_mass_storage.rb
|
135
135
|
- test/test_libusb_version.rb
|
136
|
-
- test/
|
136
|
+
- test/test_libusb_descriptors.rb
|