ur-sock 1.0 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77f86804b68a66dbe0f5c547004d2bb58e0a84385a8f57d4b0dab4c60d7b1baf
4
- data.tar.gz: d96c731d006689f1dd80f3052e84084d3219964e8670a9f40afaac97f38710bb
3
+ metadata.gz: e42a30b3ef1a76030ccc48fb1e798e36257b8895ada222ae2a26f642fcd56982
4
+ data.tar.gz: 704231d423421a281694495e6f12f87a7356e800ec7b6da2ef674ede8d449595
5
5
  SHA512:
6
- metadata.gz: e48eadd3e4f07cd3fab23c3c77e397ed7ed91ca350251683944552a8759b1086487c4e4933bb5aaa068b4949b54ff69379f64d72cb39accdcb1c5086bc7254ac
7
- data.tar.gz: c770cbc905113eac5fa35ec8f658ee215f24ea5076e85aa4520a12e2aa88eb893ff79d4f53a84380d769abf98859009de462f932a10466a00e4d9ad70f59e22c
6
+ metadata.gz: fe512a2e363cbd4f4ded1a7c2b3a3242240fced5bb1ad16e377495f0a984bf20abb4929de1fffcc7c49380e7c2dc9fccdae745080c4bb3b2b9407e0ea23f0b7d
7
+ data.tar.gz: 8dbbe957f7f0d4a441f4aba8651648886961f5b521beda8817ed01a9da1b43a4d4602b5d4627282349b139cb06b47d4ee13e3980d621f42022a9133f51cd1d33
@@ -344,7 +344,7 @@ module UR
344
344
  true
345
345
  elsif line.match(/^could not understand/)
346
346
  @logger.warn'Could not execute restart_safety: Please upgrade to current version'
347
- line
347
+ nil
348
348
  else
349
349
  @logger.error line
350
350
  raise UR::Dash::Reconnect.new('Cant restart safety. Dashboard server down or not in Remote Mode')
@@ -359,12 +359,13 @@ module UR
359
359
  line
360
360
  elsif line == "NONE"
361
361
  @logger.warn'No password set, so no modes variable is available'
362
+ nil
362
363
  elsif line.match(/^could not understand/)
363
364
  @logger.warn'Could not execute get_operational_mode: Please upgrade to current version'
364
- line
365
+ nil
365
366
  else
366
367
  @logger.error line
367
- raise UR::Dash::Reconnect.new('Cant restart safety. Dashboard server down or not in Remote Mode')
368
+ raise UR::Dash::Reconnect.new('Cant get operational mode. Dashboard server down or not in Remote Mode')
368
369
  end
369
370
  end
370
371
 
@@ -373,10 +374,13 @@ module UR
373
374
  line = @sock.gets.strip
374
375
  if line.match(/^could not understand/)
375
376
  @logger.warn'Could not execute is_in_remote_control: Please upgrade to current version'
376
- line
377
- else
377
+ nil
378
+ elsif line == 'true' || line == 'false'
378
379
  @logger.debug line
379
- line
380
+ line == 'true'
381
+ else
382
+ @logger.error line
383
+ raise UR::Dash::Reconnect.new('Cant determine if robot is in remote control mode. Dashboard server down maybe down')
380
384
  end
381
385
  end
382
386
 
@@ -385,10 +389,13 @@ module UR
385
389
  line = @sock.gets.strip
386
390
  if line.match(/^could not understand/)
387
391
  @logger.warn'Could not execute get_serial_number: Please upgrade to current version'
388
- line
389
- else
392
+ nil
393
+ elsif line.match(/^\d+$/)
390
394
  @logger.debug line
391
395
  line
396
+ else
397
+ @logger.error line
398
+ raise UR::Dash::Reconnect.new('Cant get serial number. Dashboard server down maybe down or not in Remote Mode')
392
399
  end
393
400
  end
394
401
 
@@ -397,10 +404,13 @@ module UR
397
404
  line = @sock.gets.strip
398
405
  if line.match(/^could not understand/)
399
406
  @logger.warn'Could not execute get_robot_model: Please upgrade to current version'
400
- line
401
- else
407
+ nil
408
+ elsif line.match(/^UR/)
402
409
  @logger.debug line
403
410
  line
411
+ else
412
+ @logger.error line
413
+ raise UR::Dash::Reconnect.new('Cant get robot model. Dashboard server down maybe down or not in Remote Mode')
404
414
  end
405
415
  end
406
416
  end
data/lib/psi.rb CHANGED
@@ -6,6 +6,8 @@ require 'uri'
6
6
  module UR
7
7
 
8
8
  class Psi
9
+ class Reconnect < Exception; end
10
+
9
11
  module ConnectionState
10
12
  DISCONNECTED = 0
11
13
  CONNECTED = 1
@@ -41,18 +43,35 @@ module UR
41
43
  @sock.close
42
44
  @sock = nil
43
45
  @conn_state = ConnectionState::DISCONNECTED
44
- @logger.info "Connection closed " + @hostname + ":" + @port.to_s
46
+ @logger.info 'Connection closed ' + @hostname + ':' + @port.to_s
45
47
  end
46
48
  end
47
49
 
48
- def transfer(filename)
49
- File.open(filename) do |file|
50
- while not file.eof?
51
- @sock.write(file.read(1024))
50
+ def execute_ur_script_file(filename)
51
+ @logger.info 'Executing UR Script File: ' + filename
52
+ begin
53
+ File.open(filename) do |file|
54
+ while not file.eof?
55
+ @sock.write(file.readline)
56
+ line = @sock.gets.strip
57
+ @logger.debug line
58
+ end
52
59
  end
60
+ rescue => e
61
+ raise UR::Psi::Reconnect.new('UR Script can not be got. PSI server down or not in Remote Mode')
53
62
  end
54
63
  end
55
64
 
65
+ def execute_ur_script(str)
66
+ @logger.info 'Executing UR Script ...'
67
+ begin
68
+ @sock.write(str)
69
+ line = @sock.gets.strip
70
+ @logger.debug line
71
+ rescue => e
72
+ raise UR::Psi::Reconnect.new('UR Script can not be got. PSI server down or not in Remote Mode')
73
+ end
74
+ end
56
75
  end
57
76
 
58
77
  end
@@ -120,8 +120,8 @@ module UR
120
120
  l = []
121
121
  l.append @recipe_id if @recipe_id
122
122
  names.each do |i|
123
- raise RuntimeError.new('Uninitialized parameter: ' + i) unless @values[i]
124
- l.push *@values[i]
123
+ raise RuntimeError.new('Uninitialized parameter: ' + i) if @values[i].nil?
124
+ l.push *(!!@values[i] == @values[i] ? (@values[i] == true ? 1 : 0) : @values[i])
125
125
  end
126
126
  l
127
127
  end
@@ -153,11 +153,11 @@ module UR
153
153
  elsif i == 'UINT8'
154
154
  rmd.fmt += 'C'
155
155
  elsif i == 'BOOL'
156
- rmd.fmt += '?'
156
+ rmd.fmt += 'c'
157
157
  elsif i == 'IN_USE'
158
- #raise TypeError 'An input parameter is already in use.'
158
+ raise 'An input parameter is already in use.'
159
159
  else
160
- #raise TypeError 'Unknown data type: ' + i
160
+ raise 'Unknown data type: ' + i
161
161
  end
162
162
  end
163
163
  rmd
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "ur-sock"
3
- s.version = "1.0"
3
+ s.version = "1.0.5"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of Universal Robot (UR) Socket Communication."
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ur-sock
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Pauker
8
8
  - Juergen eTM Mangler
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-06-05 00:00:00.000000000 Z
12
+ date: 2021-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: xml-smart
@@ -52,7 +52,7 @@ homepage: https://github.com/fpauker/ur-sock
52
52
  licenses:
53
53
  - LGPL-3.0
54
54
  metadata: {}
55
- post_install_message:
55
+ post_install_message:
56
56
  rdoc_options: []
57
57
  require_paths:
58
58
  - lib
@@ -67,8 +67,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.1.2
71
- signing_key:
70
+ rubygems_version: 3.1.4
71
+ signing_key:
72
72
  specification_version: 4
73
73
  summary: Preliminary release of Universal Robot (UR) Socket Communication.
74
74
  test_files: []