axpert_rs232 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: a54fab8227bba54bc259b6f3a70c0cb68dc743c5
4
- data.tar.gz: c0d3ee2125751022a2081a63acb0b66429064872
3
+ metadata.gz: a55f87bf3885c55d1f3d8765a6692ad24cb23b6f
4
+ data.tar.gz: a428611424453e3d2822bf6a063ef5896551ac54
5
5
  SHA512:
6
- metadata.gz: af93589884350570a72090645722128917e62c78a6ac1dfaad45a3f17a4820548b9acd281b2359ebb0077a6ce002a1721e5f45fdb82dac59794d76fa7abca971
7
- data.tar.gz: 8f7c3d21859b22d17539555d8105121cabdeb71fe21df02e003c171c4f36df76711d05d6a4209b31da470ed0a852011dc85b5bf3d443054e0f07277adc3f8e6b
6
+ metadata.gz: 61875ef2d1849dfb505269808f3451e4632e84f9abeaafb53acf4571c98eaebd0cb3f7a1d1a9e701861deeda3013ab3e8cdb6323a05945cd7d9580378a60133f
7
+ data.tar.gz: 001c759d71bb3b6ab3a286204ba7a97bfa672868bba935b664c636c371e5399e2f906df17f8863e330ff077a947daaacbb8cb7ba2f2a316569e49cf475ca68d7
@@ -275,9 +275,9 @@ module AxpertCommands
275
275
  # Returns:
276
276
  # # A Hash containing parallel device status information
277
277
  # { grid_voltage: 230.5, grid_current: 11.2, .. }
278
- PARALLEL_DEVICE_STATUS = OP.new(command: lambda { |i = 0| "QPGS#{Integer(i, 10)}" }, parser: lambda do |r|
278
+ PARALLEL_DEVICE_STATUS = OP.new(command: lambda { |i = 0| "QPGS#{Integer(i)}" }, parser: lambda do |r|
279
279
  r = r.data[1..-1].split(' ')
280
- status = r[19].chars
280
+ status = r[19].chars.to_a
281
281
  { parallel_number_exists: Boolean(r[0]),
282
282
  serial_number: r[1],
283
283
  device_mode: CONS::DEVICE_MODE[r[2]],
@@ -329,7 +329,7 @@ module AxpertCommands
329
329
  # Returns:
330
330
  # # A Boolean indicating if the frequency was set succesfully
331
331
  # true # Example
332
- SET_OUTPUT_FREQUENCY = OP.new(command: lambda { |input| "F#{Integer(input, 10).to_s.rjust(2, '0')}" }, error_on_nak: false, parser: lambda { |r| (r.data == '(ACK') })
332
+ SET_OUTPUT_FREQUENCY = OP.new(command: lambda { |input| "F#{Integer(input).to_s.rjust(2, '0')}" }, error_on_nak: false, parser: lambda { |r| (r.data == '(ACK') })
333
333
 
334
334
  ##
335
335
  # Set device output source priority
@@ -380,7 +380,7 @@ module AxpertCommands
380
380
  # true # Example
381
381
  SET_CHARGER_SOURCE_PRIORITY = OP.new(command: lambda do |mode, parallel_machine_number = nil|
382
382
  if parallel_machine_number.nil?
383
- "PPCP#{Integer(parallel_machine_number, 10).to_s}#{CONS::CHARGER_SOURCE_PRIORITY.key(mode).to_s.rjust(2, '0')}"
383
+ "PPCP#{Integer(parallel_machine_number).to_s}#{CONS::CHARGER_SOURCE_PRIORITY.key(mode).to_s.rjust(2, '0')}"
384
384
  else
385
385
  "PCP#{CONS::CHARGER_SOURCE_PRIORITY.key(mode).to_s.rjust(2, '0')}"
386
386
  end
@@ -481,11 +481,11 @@ module AxpertCommands
481
481
  # # A Boolean indicating if the maximum charging current was set successfully
482
482
  # true # Example
483
483
  SET_MAXIMUM_CHARGING_CURRENT = OP.new(command: lambda do |current, parallel_machine_number = 0|
484
- current = Integer(current, 10)
484
+ current = Integer(current)
485
485
  if (current >= 100)
486
- "MNCHGC#{Integer(parallel_machine_number, 10).to_s}#{current.to_s.rjust(3, '0')}"
486
+ "MNCHGC#{Integer(parallel_machine_number).to_s}#{current.to_s.rjust(3, '0')}"
487
487
  else
488
- "MCHGC#{Integer(parallel_machine_number, 10).to_s}#{current.to_s.rjust(2, '0')}"
488
+ "MCHGC#{Integer(parallel_machine_number).to_s}#{current.to_s.rjust(2, '0')}"
489
489
  end
490
490
  end, error_on_nak: false, parser: lambda { |r| (r.data == '(ACK') })
491
491
 
@@ -503,7 +503,7 @@ module AxpertCommands
503
503
  # # A Boolean indicating if the maximum charging current for utility was set successfully
504
504
  # true # Example
505
505
  SET_MAXIMUM_UTILITY_CHARGING_CURRENT = OP.new(command: lambda do |current, parallel_machine_number = 0|
506
- "MUCHGC#{Integer(parallel_machine_number, 10).to_s}#{Integer(current, 10).to_s.rjust(2, '0')}"
506
+ "MUCHGC#{Integer(parallel_machine_number).to_s}#{Integer(current).to_s.rjust(2, '0')}"
507
507
  end, error_on_nak: false, parser: lambda { |r| (r.data == '(ACK') })
508
508
 
509
509
  ##
@@ -520,7 +520,7 @@ module AxpertCommands
520
520
  # # A Boolean indicating if the parallel output mode was set successfully
521
521
  # true # Example
522
522
  SET_OUTPUT_MODE = OP.new(command: lambda do |mode, parallel_machine_number = 0|
523
- "POPM#{CONS::OUTPUT_MODE.key(mode)}#{Integer(parallel_machine_number, 10).to_s}"
523
+ "POPM#{CONS::OUTPUT_MODE.key(mode)}#{Integer(parallel_machine_number).to_s}"
524
524
  end, error_on_nak: false, parser: lambda { |r| (r.data == '(ACK') })
525
525
 
526
526
  require 'axpert_constants'
@@ -42,7 +42,7 @@ class VoltronicDeviceOperation
42
42
  ##
43
43
  # Issue a command to the device and parse the output result
44
44
  def issue_command(serial, *args)
45
- serial.read_timeout = -1 # Prevent locking on serial
45
+ serial.read_timeout = -1 rescue nil # Prevent locking on serial
46
46
 
47
47
  serial.write(command(*args).bytes)
48
48
  result = begin
@@ -51,12 +51,12 @@ class VoltronicDeviceOperation
51
51
  while(true)
52
52
  ch = serial.getc # Retrieve a single character from Serial port
53
53
  if ch.nil?
54
+ raise ::IOError.new("IO read timeout reached, giving up") if (Time.now.to_i > read_timeout)
54
55
  sleep 0.1 # 100ms pause before polling again
55
56
  next
56
57
  end
57
58
  parse += ch
58
59
  break if (@termination_character == ch)
59
- raise ::IOError.new("IO read timeout reached, giving up") if (Time.now.to_i > read_timeout)
60
60
  end
61
61
  parse
62
62
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axpert_rs232
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johan van der Vyver