rmodbus 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/NEWS.md +52 -0
  2. data/README.md +87 -0
  3. data/Rakefile +22 -36
  4. data/examples/perfomance_rtu.rb +35 -37
  5. data/examples/perfomance_tcp.rb +36 -38
  6. data/examples/use_rtu_via_tcp_modbus.rb +8 -5
  7. data/examples/use_tcp_modbus.rb +10 -6
  8. data/lib/rmodbus/client.rb +52 -174
  9. data/lib/rmodbus/common.rb +45 -18
  10. data/lib/rmodbus/{exceptions.rb → errors.rb} +3 -0
  11. data/lib/rmodbus/ext.rb +25 -2
  12. data/lib/rmodbus/proxy.rb +54 -0
  13. data/lib/rmodbus/{crc16.rb → rtu.rb} +73 -2
  14. data/lib/rmodbus/rtu_client.rb +20 -116
  15. data/lib/rmodbus/rtu_server.rb +28 -57
  16. data/lib/rmodbus/rtu_slave.rb +59 -0
  17. data/lib/rmodbus/rtu_via_tcp_client.rb +22 -86
  18. data/lib/rmodbus/rtu_via_tcp_server.rb +31 -95
  19. data/lib/rmodbus/rtu_via_tcp_slave.rb +58 -0
  20. data/lib/rmodbus/{parsers.rb → server.rb} +24 -15
  21. data/lib/rmodbus/slave.rb +268 -0
  22. data/lib/rmodbus/sp.rb +45 -0
  23. data/lib/rmodbus/tcp.rb +49 -0
  24. data/lib/rmodbus/tcp_client.rb +19 -88
  25. data/lib/rmodbus/tcp_server.rb +16 -19
  26. data/lib/rmodbus/tcp_slave.rb +64 -0
  27. data/lib/rmodbus/version.rb +17 -0
  28. data/lib/rmodbus.rb +20 -4
  29. data/spec/client_spec.rb +19 -45
  30. data/spec/exception_spec.rb +26 -27
  31. data/spec/ext_spec.rb +24 -1
  32. data/spec/logging_spec.rb +31 -37
  33. data/spec/proxy_spec.rb +73 -0
  34. data/spec/read_rtu_response_spec.rb +2 -4
  35. data/spec/rtu_client_spec.rb +17 -19
  36. data/spec/rtu_server_spec.rb +1 -3
  37. data/spec/rtu_via_tcp_client_spec.rb +69 -63
  38. data/spec/slave_spec.rb +55 -0
  39. data/spec/tcp_client_spec.rb +77 -69
  40. data/spec/tcp_server_spec.rb +34 -49
  41. metadata +123 -37
  42. data/AUTHORS +0 -3
  43. data/ChangeLog +0 -82
  44. data/LICENSE +0 -675
  45. data/README +0 -53
  46. data/examples/add_new_function.rb +0 -19
metadata CHANGED
@@ -1,22 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmodbus
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
- - 5
9
9
  - 0
10
- version: 0.5.0
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - A.Timin, J. Sanders, K. Reynolds
14
- autorequire: rmodbus
14
+ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-10 00:00:00 +05:00
19
- default_executable:
18
+ date: 2011-06-27 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: serialport
@@ -26,14 +25,96 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 31
28
+ hash: 3
30
29
  segments:
31
- - 1
32
30
  - 0
33
- - 4
34
- version: 1.0.4
31
+ version: "0"
35
32
  type: :runtime
36
33
  version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rake
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ type: :development
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ type: :development
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ type: :development
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: rcov
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ type: :development
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: yard
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ type: :development
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: rdiscount
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ type: :development
117
+ version_requirements: *id007
37
118
  description:
38
119
  email: atimin@gmail.com
39
120
  executables: []
@@ -41,45 +122,49 @@ executables: []
41
122
  extensions: []
42
123
 
43
124
  extra_rdoc_files:
44
- - README
45
- - AUTHORS
46
- - LICENSE
47
- - ChangeLog
125
+ - README.md
126
+ - NEWS.md
48
127
  files:
49
128
  - lib/rmodbus.rb
50
- - lib/rmodbus/client.rb
51
- - lib/rmodbus/crc16.rb
52
- - lib/rmodbus/parsers.rb
53
- - lib/rmodbus/rtu_client.rb
129
+ - lib/rmodbus/version.rb
130
+ - lib/rmodbus/errors.rb
54
131
  - lib/rmodbus/ext.rb
55
132
  - lib/rmodbus/rtu_via_tcp_client.rb
133
+ - lib/rmodbus/sp.rb
134
+ - lib/rmodbus/tcp.rb
135
+ - lib/rmodbus/common.rb
136
+ - lib/rmodbus/client.rb
137
+ - lib/rmodbus/slave.rb
56
138
  - lib/rmodbus/tcp_server.rb
57
- - lib/rmodbus/exceptions.rb
139
+ - lib/rmodbus/tcp_client.rb
140
+ - lib/rmodbus/proxy.rb
141
+ - lib/rmodbus/rtu_slave.rb
58
142
  - lib/rmodbus/rtu_server.rb
143
+ - lib/rmodbus/rtu.rb
144
+ - lib/rmodbus/rtu_client.rb
59
145
  - lib/rmodbus/rtu_via_tcp_server.rb
60
- - lib/rmodbus/common.rb
61
- - lib/rmodbus/tcp_client.rb
62
- - examples/add_new_function.rb
63
- - examples/use_tcp_modbus.rb
146
+ - lib/rmodbus/server.rb
147
+ - lib/rmodbus/rtu_via_tcp_slave.rb
148
+ - lib/rmodbus/tcp_slave.rb
64
149
  - examples/perfomance_tcp.rb
150
+ - examples/use_tcp_modbus.rb
65
151
  - examples/use_rtu_via_tcp_modbus.rb
66
152
  - examples/perfomance_rtu.rb
67
- - spec/ext_spec.rb
68
- - spec/exception_spec.rb
69
153
  - spec/tcp_server_spec.rb
70
154
  - spec/logging_spec.rb
71
- - spec/client_spec.rb
155
+ - spec/rtu_via_tcp_client_spec.rb
72
156
  - spec/rtu_server_spec.rb
73
157
  - spec/tcp_client_spec.rb
74
- - spec/rtu_via_tcp_client_spec.rb
75
- - spec/read_rtu_response_spec.rb
158
+ - spec/exception_spec.rb
76
159
  - spec/rtu_client_spec.rb
160
+ - spec/slave_spec.rb
161
+ - spec/client_spec.rb
162
+ - spec/read_rtu_response_spec.rb
163
+ - spec/proxy_spec.rb
164
+ - spec/ext_spec.rb
77
165
  - Rakefile
78
- - README
79
- - AUTHORS
80
- - LICENSE
81
- - ChangeLog
82
- has_rdoc: true
166
+ - README.md
167
+ - NEWS.md
83
168
  homepage: http://rmodbus.heroku.com
84
169
  licenses: []
85
170
 
@@ -89,7 +174,7 @@ rdoc_options:
89
174
  - RModBus
90
175
  - --inline-source
91
176
  - --main
92
- - README
177
+ - README.md
93
178
  require_paths:
94
179
  - lib
95
180
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -112,10 +197,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
197
  version: "0"
113
198
  requirements: []
114
199
 
115
- rubyforge_project: RModBus
116
- rubygems_version: 1.3.7
200
+ rubyforge_project:
201
+ rubygems_version: 1.7.2
117
202
  signing_key:
118
203
  specification_version: 3
119
204
  summary: RModBus - free implementation of protocol ModBus
120
205
  test_files: []
121
206
 
207
+ has_rdoc:
data/AUTHORS DELETED
@@ -1,3 +0,0 @@
1
- Timin Aleksey
2
- James Sanders
3
- Kelley Reynolds
data/ChangeLog DELETED
@@ -1,82 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- 2009-03-5 Timin Aleksey <atimin@gmail.com>
4
- * lib/rmodbus/ext.rb: Added.
5
- * lib/rmodbus/*.rb, spec/*_spec.rb: Have done
6
- refactoring. Now using pack\unpack methods.
7
- * CHANGES: Delete.
8
- * ChageLog: Start new log of shanges.
9
-
10
- 2009-03-6 Timin Aleksey <atimin@gmail.com>
11
- * lib/rmodbus/rtu_client.rb, spec/rtu_client_spec.rb: Have completed to
12
- design of ModBus::RTUClient class.
13
-
14
- 2009-04-17 James Sanders <sanderjd@gmail.com>
15
- * lib/rmodbus/exceptions.rb: Inherit from StandardError instead of
16
- Exception
17
- 2010-01-7 Timin Aleksey <atimin@gmail.com>
18
- * lib/rmodbus/tcp_client.rb: Fixed bug of overflow transaction counter (thanks
19
- Tallak Tveide)
20
- 2010-01-8 Timin Aleksey <atimin@gmail.com>
21
- * lib/rmodbus/tcp_client.rb: Added new method TCPClient::connect,
22
- TCPClient#ipaddr, TCPClient#port, TCPClient#slave
23
- * lib/rmodbus/rtu_client.rb: Added new methods RTUClient::connect,
24
- RTUClient#close, RTUClient#port, RTUClient#baud, RTUClient#slave
25
- 2010-01-9 Timin Aleksey <atimin@gmail.com>
26
- * rmodbus.gemspec: Added Rakefile into gem, dependencie on
27
- serialport-0.8.0.gem
28
- * spec/logging_spec.rb: Added specs for debug logging
29
- * lib/rmodbus/client.rb, lib/rmodbus/tcp_client.rb,
30
- lib/rmodbus/rtu_client.rb: Added debug logging functional
31
- 2010-01-12 Timin Aleksey <atimin@gmail.com>
32
- * lib/rmodbus/rtu_client.rb: RTUClient is live!
33
- 2010-01-14 Timin Aleksey <atimin@gmail.com>
34
- * lib/rmodbus/crc16.rb: Added module for calculation CRC16
35
- * lib/rmodbus/parsers.rb: Added module for parsing requiest from clients
36
- * lib/rmodbus/rtu_server.rb: Added RTUServer class
37
- * rmodbus.gemspec: Update verison => 0.4.0
38
- * README: Update information about project
39
- 2010-01-16 Timin Aleksey <atimin@gmail.com>
40
- * lib/rmodbus/ext.rb, lib/rmodbus/client.rb: Fixed for ruby-1.8.6 compatibility
41
- * lib/rmodbus/parsers.rb: Fixed bug for response on write requests
42
- * lib/rmodbus/rtu_client.rb: Fixed bug in verifing CRC
43
- * lib/rmodbus/rtu_server.rb: Reanimation RTUServer
44
- * examples/perfomance_rtu.rb: Added test perfomance for ModBus RTU
45
- 2010-01-17 Timin Aleksey <atimin@gmail.com>
46
- * lib/rmodbus/rtu_server, lib/rmodbus/tcp_server.rb: Fixed typo
47
- discret_inputs -> discrete_inputs
48
- * examples/perfomance_tcp.rb: Added test perfomance for ModBus TCP
49
- * lib/rmodbus/tcp_client.rb: Added method TCPClient#closed?
50
- * lib/rmodbus/rtu_client.rb: Added method RTUClient#closed?
51
- 2010-01-18 Timin Aleksey <atimin@gmail.com>
52
- * lib/rmodbus/rtu_client.rb, lib/rmodbus/rtu_server.rb: Added support
53
- modem parameters - :data_bits => 5..8, :stop_bits => 1 or 2, :parity =>
54
- SerialPort::NONE, SerialPort::EVEN, SerialPort::ODD
55
- 2010-01-20 Timin Aleksey <atimin@gmail.com>
56
- * lib/rmodbus/ext.rb: Fixed bug for divisible 8 data in Array#pack_to_word
57
- 2010-02-6 Timin Aleksey <atimin@gmail.com>
58
- * lib/rmodbus/client.rb, lib/rmodbus/tcp_client.rb: Client#connection_retries don't use more
59
- 2010-07-16 Timin Aleksey <atimin@gmail.com>
60
- * lib/rmodbus/rtu_client.rb: Added option read_timeout and accessor RTUClient#read_timeout
61
- 2010-07-28 Kelley Reynolds <kelley@insidesystems.net>
62
- * lib/rmodbus/rtu_via_tcp_client.rb: Added the ability to send RTU commands via TCP Serial Gateway
63
- 2010-07-31 Kelley Reynolds <kelley@insidesystems.net>
64
- * examples/use_rtu_via_tcp_modbus.rb: Added example for using RTUViaTCP client and server
65
- * examples/use_tcp_modbus.rb: Misc cleanups
66
- * lib/rmodbus.rb: Include the RTUViaTCPServer and Common files
67
- * lib/rmodbus/client.rb: Move logging to Common
68
- * lib/rmodbus/common.rb: File which houses common logging methods
69
- * lib/rmodbus/rtu_client.rb: Logging updates
70
- * lib/rmodbus/rtu_via_tcp_client.rb: Added RTUViaTCPClient#read_modbus_rtu_response() to abstract reading the correct number of bytes for RTU via TCP
71
- * lib/rmodbus/rtu_via_tcp_server.rb: Added RTUViaTCPServer for use with testing RTUViaTCPClient
72
- * lib/rmodbus/tcp_client.rb: Logging updates
73
- * lib/rmodbus/tcp_server.rb: Logging updates
74
- * spec/logging_spec.rb: Updated to new logging
75
- 2011-02-02 Timin Aleksey <atimin@gmail>
76
- * lib/rmodbus/client.rb, lib/rmodbus/rtu_client.rb : Remove RTUViaTCPClient#read_mb_rtu_response -> Client#read_rtu_response. Added support for exception and mask sunction.
77
- * lib/rmodbus/rtu_client.rb : use #read_rtu_response for read pdu
78
- * spec/read_rtu_response_spec.rb : add test for Client#read_rtu_response method
79
- * spec/rtu_via_tcp_client_spec.rb : add test for RTUViaTCP class
80
- 2011-02-10 Timin Aleksey <atimin@gmail.com>
81
- * lib/rmodbus/client.rb : Fixed retry of request after end timeout. Added property #read_retry_timeout.
82
- * rmodbus.gemspec : New 0.5.0 release