rubyserial 0.4.0 → 0.5.0
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.
- checksums.yaml +4 -4
- data/.travis.yml +16 -8
- data/Gemfile +2 -1
- data/README.md +5 -5
- data/appveyor.yml +4 -3
- data/lib/rubyserial.rb +1 -1
- data/lib/rubyserial/linux_constants.rb +7 -7
- data/lib/rubyserial/osx_constants.rb +6 -6
- data/lib/rubyserial/posix.rb +8 -8
- data/lib/rubyserial/version.rb +2 -2
- data/lib/rubyserial/windows.rb +8 -8
- data/lib/rubyserial/windows_constants.rb +8 -8
- data/spec/spec_helper.rb +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d014cad0d8238b82bf39b107e4a68c3ff7e2d16
|
4
|
+
data.tar.gz: ee8f9b64e23413ebceab097643078f0df1afb2e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4ca69b2cb366a8a86cfcd898010af66f1fb69c33b4ae53a83d52c9e7cc4e5b56ca45bd3a13bd8bef0c3a511bf7a224a9926a63269c544521d1742a5775c00a3
|
7
|
+
data.tar.gz: 22216f7ec08c00d115c1760e104304639a5d86ed721db4cc646b844b64954581e92a350df43343e4edef79d863766542e60088150c811f5bdc4a8804985cadfb
|
data/.travis.yml
CHANGED
@@ -1,20 +1,28 @@
|
|
1
|
+
dist: trusty
|
2
|
+
sudo: false
|
1
3
|
language: ruby
|
4
|
+
addons:
|
5
|
+
apt:
|
6
|
+
packages:
|
7
|
+
- socat
|
8
|
+
env:
|
9
|
+
- RUBYOPT=-rbundler/deprecate # workaround for bundler on rbx
|
2
10
|
rvm:
|
3
|
-
- 2.
|
11
|
+
- 2.4
|
12
|
+
- 2.3
|
4
13
|
- 2.2
|
5
14
|
- 2.1
|
6
15
|
- jruby-9.1.2.0
|
7
|
-
- rbx-
|
16
|
+
- rbx-3
|
8
17
|
- ruby-head
|
9
18
|
- jruby-head
|
10
19
|
matrix:
|
11
20
|
allow_failures:
|
12
|
-
- rvm:
|
21
|
+
- rvm: rbx-3
|
13
22
|
- rvm: ruby-head
|
23
|
+
- rvm: jruby-head
|
14
24
|
before_install:
|
15
|
-
- gem
|
16
|
-
install:
|
17
|
-
- sudo apt-get update && sudo apt-get install --force-yes socat
|
25
|
+
- gem install bundler --force
|
18
26
|
script:
|
19
|
-
-
|
20
|
-
-
|
27
|
+
- export CODECLIMATE_REPO_TOKEN=70754a8aa666790236dbbb910727648f4dbb1f73a28f886d0b0c9e39a36b5a79
|
28
|
+
- bundle exec ruby -rbundler/deprecate -S rspec -fd && bundle exec ruby -rbundler/deprecate -S codeclimate-test-reporter
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -28,22 +28,22 @@ serialport = Serial.new '/dev/ttyACM0', 19200, 8, :even
|
|
28
28
|
**write(data : String) -> Int**
|
29
29
|
|
30
30
|
Returns the number of bytes written.
|
31
|
-
Emits a `RubySerial::
|
31
|
+
Emits a `RubySerial::Error` on error.
|
32
32
|
|
33
33
|
**read(length : Int) -> String**
|
34
34
|
|
35
35
|
Returns a string up to `length` long. It is not guaranteed to return the entire
|
36
36
|
length specified, and will return an empty string if no data is
|
37
|
-
available. Emits a `RubySerial::
|
37
|
+
available. Emits a `RubySerial::Error` on error.
|
38
38
|
|
39
39
|
**getbyte -> Fixnum or nil**
|
40
40
|
|
41
41
|
Returns an 8 bit byte or nil if no data is available.
|
42
|
-
Emits a `RubySerial::
|
42
|
+
Emits a `RubySerial::Error` on error.
|
43
43
|
|
44
|
-
**RubySerial::
|
44
|
+
**RubySerial::Error**
|
45
45
|
|
46
|
-
A wrapper
|
46
|
+
A wrapper error type that returns the underlying system error code and inherits from IOError.
|
47
47
|
|
48
48
|
## Running the tests
|
49
49
|
|
data/appveyor.yml
CHANGED
@@ -4,7 +4,7 @@ platform:
|
|
4
4
|
install:
|
5
5
|
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
6
6
|
- ruby -v
|
7
|
-
- gem install bundler
|
7
|
+
- gem install bundler --force
|
8
8
|
- bundle install
|
9
9
|
- ps: Start-FileDownload https://github.com/hybridgroup/rubyserial/raw/appveyor_deps/com0com.cer
|
10
10
|
- ps: C:\"Program Files"\"Microsoft SDKs"\Windows\v7.1\Bin\CertMgr.exe /add com0com.cer /s /r localMachine root
|
@@ -16,13 +16,14 @@ install:
|
|
16
16
|
|
17
17
|
test_script:
|
18
18
|
- SET CODECLIMATE_REPO_TOKEN=70754a8aa666790236dbbb910727648f4dbb1f73a28f886d0b0c9e39a36b5a79
|
19
|
-
- bundle exec rspec -fd
|
19
|
+
- bundle exec rspec -fd && bundle exec codeclimate-test-reporter
|
20
20
|
|
21
21
|
environment:
|
22
22
|
matrix:
|
23
|
+
- ruby_version: 24
|
24
|
+
- ruby_version: 23
|
23
25
|
- ruby_version: 22
|
24
26
|
- ruby_version: 21
|
25
27
|
- ruby_version: 200
|
26
|
-
- ruby_version: 193
|
27
28
|
|
28
29
|
build: off
|
data/lib/rubyserial.rb
CHANGED
@@ -211,12 +211,12 @@ module RubySerial
|
|
211
211
|
:c_ospeed, :uint
|
212
212
|
end
|
213
213
|
|
214
|
-
attach_function :ioctl, [ :int, :ulong, RubySerial::Posix::Termios], :int
|
215
|
-
attach_function :tcsetattr, [ :int, :int, RubySerial::Posix::Termios ], :int
|
216
|
-
attach_function :fcntl, [:int, :int, :varargs], :int
|
217
|
-
attach_function :open, [:pointer, :int], :int
|
218
|
-
attach_function :close, [:int], :int
|
219
|
-
attach_function :write, [:int, :pointer, :int],:int
|
220
|
-
attach_function :read, [:int, :pointer, :int],:int
|
214
|
+
attach_function :ioctl, [ :int, :ulong, RubySerial::Posix::Termios], :int, blocking: true
|
215
|
+
attach_function :tcsetattr, [ :int, :int, RubySerial::Posix::Termios ], :int, blocking: true
|
216
|
+
attach_function :fcntl, [:int, :int, :varargs], :int, blocking: true
|
217
|
+
attach_function :open, [:pointer, :int], :int, blocking: true
|
218
|
+
attach_function :close, [:int], :int, blocking: true
|
219
|
+
attach_function :write, [:int, :pointer, :int],:int, blocking: true
|
220
|
+
attach_function :read, [:int, :pointer, :int],:int, blocking: true
|
221
221
|
end
|
222
222
|
end
|
@@ -179,11 +179,11 @@ module RubySerial
|
|
179
179
|
:c_ospeed, :ulong
|
180
180
|
end
|
181
181
|
|
182
|
-
attach_function :tcsetattr, [ :int, :int, RubySerial::Posix::Termios ], :int
|
183
|
-
attach_function :fcntl, [:int, :int, :varargs], :int
|
184
|
-
attach_function :open, [:pointer, :int], :int
|
185
|
-
attach_function :close, [:int], :int
|
186
|
-
attach_function :write, [:int, :pointer, :int],:int
|
187
|
-
attach_function :read, [:int, :pointer, :int],:int
|
182
|
+
attach_function :tcsetattr, [ :int, :int, RubySerial::Posix::Termios ], :int, blocking: true
|
183
|
+
attach_function :fcntl, [:int, :int, :varargs], :int, blocking: true
|
184
|
+
attach_function :open, [:pointer, :int], :int, blocking: true
|
185
|
+
attach_function :close, [:int], :int, blocking: true
|
186
|
+
attach_function :write, [:int, :pointer, :int],:int, blocking: true
|
187
|
+
attach_function :read, [:int, :pointer, :int],:int, blocking: true
|
188
188
|
end
|
189
189
|
end
|
data/lib/rubyserial/posix.rb
CHANGED
@@ -6,26 +6,26 @@ class Serial
|
|
6
6
|
@fd = RubySerial::Posix.open(address, file_opts)
|
7
7
|
|
8
8
|
if @fd == -1
|
9
|
-
raise RubySerial::
|
9
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
10
10
|
else
|
11
11
|
@open = true
|
12
12
|
end
|
13
13
|
|
14
14
|
fl = RubySerial::Posix.fcntl(@fd, RubySerial::Posix::F_GETFL, :int, 0)
|
15
15
|
if fl == -1
|
16
|
-
raise RubySerial::
|
16
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
17
17
|
end
|
18
18
|
|
19
19
|
err = RubySerial::Posix.fcntl(@fd, RubySerial::Posix::F_SETFL, :int, ~RubySerial::Posix::O_NONBLOCK & fl)
|
20
20
|
if err == -1
|
21
|
-
raise RubySerial::
|
21
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
22
22
|
end
|
23
23
|
|
24
24
|
@config = build_config(baude_rate, data_bits, parity)
|
25
25
|
|
26
26
|
err = RubySerial::Posix.tcsetattr(@fd, RubySerial::Posix::TCSANOW, @config)
|
27
27
|
if err == -1
|
28
|
-
raise RubySerial::
|
28
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -36,7 +36,7 @@ class Serial
|
|
36
36
|
def close
|
37
37
|
err = RubySerial::Posix.close(@fd)
|
38
38
|
if err == -1
|
39
|
-
raise RubySerial::
|
39
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
40
40
|
else
|
41
41
|
@open = false
|
42
42
|
end
|
@@ -49,7 +49,7 @@ class Serial
|
|
49
49
|
buff = FFI::MemoryPointer.from_string(data[n..-1].to_s)
|
50
50
|
i = RubySerial::Posix.write(@fd, buff, buff.size-1)
|
51
51
|
if i == -1
|
52
|
-
raise RubySerial::
|
52
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
53
53
|
else
|
54
54
|
n = n+i
|
55
55
|
end
|
@@ -63,7 +63,7 @@ class Serial
|
|
63
63
|
buff = FFI::MemoryPointer.new :char, size
|
64
64
|
i = RubySerial::Posix.read(@fd, buff, size)
|
65
65
|
if i == -1
|
66
|
-
raise RubySerial::
|
66
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
67
67
|
end
|
68
68
|
buff.get_bytes(0, i)
|
69
69
|
end
|
@@ -72,7 +72,7 @@ class Serial
|
|
72
72
|
buff = FFI::MemoryPointer.new :char, 1
|
73
73
|
i = RubySerial::Posix.read(@fd, buff, 1)
|
74
74
|
if i == -1
|
75
|
-
raise RubySerial::
|
75
|
+
raise RubySerial::Error, RubySerial::Posix::ERROR_CODES[FFI.errno]
|
76
76
|
end
|
77
77
|
|
78
78
|
if i == 0
|
data/lib/rubyserial/version.rb
CHANGED
data/lib/rubyserial/windows.rb
CHANGED
@@ -9,7 +9,7 @@ class Serial
|
|
9
9
|
@fd = RubySerial::Win32.CreateFileA("\\\\.\\#{address}", file_opts, 0, nil, RubySerial::Win32::OPEN_EXISTING, 0, nil)
|
10
10
|
err = FFI.errno
|
11
11
|
if err != 0
|
12
|
-
raise RubySerial::
|
12
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[err]
|
13
13
|
else
|
14
14
|
@open = true
|
15
15
|
end
|
@@ -18,7 +18,7 @@ class Serial
|
|
18
18
|
dcb[:dcblength] = RubySerial::Win32::DCB::Sizeof
|
19
19
|
err = RubySerial::Win32.GetCommState @fd, dcb
|
20
20
|
if err == 0
|
21
|
-
raise RubySerial::
|
21
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
22
22
|
end
|
23
23
|
dcb[:baudrate] = baude_rate
|
24
24
|
dcb[:bytesize] = data_bits
|
@@ -26,7 +26,7 @@ class Serial
|
|
26
26
|
dcb[:parity] = RubySerial::Win32::DCB::NOPARITY
|
27
27
|
err = RubySerial::Win32.SetCommState @fd, dcb
|
28
28
|
if err == 0
|
29
|
-
raise RubySerial::
|
29
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -38,7 +38,7 @@ class Serial
|
|
38
38
|
timeouts[:write_total_timeout_constant] = 10
|
39
39
|
err = RubySerial::Win32.SetCommTimeouts @fd, timeouts
|
40
40
|
if err == 0
|
41
|
-
raise RubySerial::
|
41
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -48,7 +48,7 @@ class Serial
|
|
48
48
|
count = FFI::MemoryPointer.new :uint32, 1
|
49
49
|
err = RubySerial::Win32.ReadFile(@fd, buff, size, count, nil)
|
50
50
|
if err == 0
|
51
|
-
raise RubySerial::
|
51
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
52
52
|
end
|
53
53
|
buff.get_bytes(0, count.read_int)
|
54
54
|
end
|
@@ -58,7 +58,7 @@ class Serial
|
|
58
58
|
count = FFI::MemoryPointer.new :uint32, 1
|
59
59
|
err = RubySerial::Win32.ReadFile(@fd, buff, 1, count, nil)
|
60
60
|
if err == 0
|
61
|
-
raise RubySerial::
|
61
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
62
62
|
end
|
63
63
|
|
64
64
|
if count.read_int == 0
|
@@ -73,7 +73,7 @@ class Serial
|
|
73
73
|
count = FFI::MemoryPointer.new :uint32, 1
|
74
74
|
err = RubySerial::Win32.WriteFile(@fd, buff, buff.size-1, count, nil)
|
75
75
|
if err == 0
|
76
|
-
raise RubySerial::
|
76
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
77
77
|
end
|
78
78
|
count.read_int
|
79
79
|
end
|
@@ -91,7 +91,7 @@ class Serial
|
|
91
91
|
def close
|
92
92
|
err = RubySerial::Win32.CloseHandle(@fd)
|
93
93
|
if err == 0
|
94
|
-
raise RubySerial::
|
94
|
+
raise RubySerial::Error, RubySerial::Win32::ERROR_CODES[FFI.errno]
|
95
95
|
else
|
96
96
|
@open = false
|
97
97
|
end
|
@@ -263,13 +263,13 @@ module RubySerial
|
|
263
263
|
:write_total_timeout_constant, :uint32
|
264
264
|
end
|
265
265
|
|
266
|
-
attach_function :CreateFileA, [:pointer, :uint32, :uint32, :pointer, :uint32, :uint32, :pointer], :pointer
|
267
|
-
attach_function :CloseHandle, [:pointer], :int
|
268
|
-
attach_function :ReadFile, [:pointer, :pointer, :uint32, :pointer, :pointer], :int32
|
269
|
-
attach_function :WriteFile, [:pointer, :pointer, :uint32, :pointer, :pointer], :int32
|
270
|
-
attach_function :GetCommState, [:pointer, RubySerial::Win32::DCB], :int32
|
271
|
-
attach_function :SetCommState, [:pointer, RubySerial::Win32::DCB], :int32
|
272
|
-
attach_function :GetCommTimeouts, [:pointer, RubySerial::Win32::CommTimeouts], :int32
|
273
|
-
attach_function :SetCommTimeouts, [:pointer, RubySerial::Win32::CommTimeouts], :int32
|
266
|
+
attach_function :CreateFileA, [:pointer, :uint32, :uint32, :pointer, :uint32, :uint32, :pointer], :pointer, blocking: true
|
267
|
+
attach_function :CloseHandle, [:pointer], :int, blocking: true
|
268
|
+
attach_function :ReadFile, [:pointer, :pointer, :uint32, :pointer, :pointer], :int32, blocking: true
|
269
|
+
attach_function :WriteFile, [:pointer, :pointer, :uint32, :pointer, :pointer], :int32, blocking: true
|
270
|
+
attach_function :GetCommState, [:pointer, RubySerial::Win32::DCB], :int32, blocking: true
|
271
|
+
attach_function :SetCommState, [:pointer, RubySerial::Win32::DCB], :int32, blocking: true
|
272
|
+
attach_function :GetCommTimeouts, [:pointer, RubySerial::Win32::CommTimeouts], :int32, blocking: true
|
273
|
+
attach_function :SetCommTimeouts, [:pointer, RubySerial::Win32::CommTimeouts], :int32, blocking: true
|
274
274
|
end
|
275
275
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start
|
3
|
+
|
3
4
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
5
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
6
|
# The generated `.rspec` file contains `--require spec_helper` which will cause this
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyserial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrian Zankich
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2017-12-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ffi
|