Module: AutomationCodeList

Defined in:
lib/automation_code_list.rb

Class Method Summary collapse

Class Method Details

._inverse(code, code_length, num) ⇒ Object

反码处理code 待处理的编码num 处理后几位作为反码



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/automation_code_list.rb', line 9

def self._inverse(code,code_length,num)
  begin
   length = code.length
   _num = code_length/4 - length
   _num.times.each do |i|
     code = "0"+code
   end
   inverse_num = ""
   num.times.each do |i|
     inverse_num +="1"
   end
    inverse_num = "0b" + inverse_num
    ret = ""
    eval("ret=((~((code).to_i(16)))&Integer(#{inverse_num})).to_s(16)")
    (code_length/4 - ret.length).times.each do |i|
      ret = "0" + ret
    end
    return ret
   rescue => err
    raise RuntimeError, get_error_msg("get radix-minus-one complement Error,  Error msg : #{err.to_s}",{METHOD_NAME => "inverse"})
  end
end

.dispose(protocol, code) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/automation_code_list.rb', line 37

def self.dispose(protocol,code)
  protocol_array = protocol.split("#")
  ret = ""
  header = true
  protocol_array.length.times.each do |i|
    if protocol_array[i][0]=="V"
      _dispose_code = protocol_array[i].split(":")
      @code_length = _dispose_code[2].to_i
      _dispose_code[1]=eval("#{_dispose_code[1]}")
      (_dispose_code[2].to_i/4-_dispose_code[1].length).times.each do |i|
        _dispose_code[1] = "0"+_dispose_code[1]
      end
      _dispose_code[1] = "0x"+_dispose_code[1]
      protocol_array[i]=_dispose_code[0]+":"+_dispose_code[1]+":"+_dispose_code[2]
    end
    unless header
      ret += "#"+protocol_array[i]
    else
      ret +=protocol_array[i]
      header = false
    end
  end
  return ret
end

.inverse(code, num) ⇒ Object



32
33
34
# File 'lib/automation_code_list.rb', line 32

def self.inverse(code,num)
  _inverse(code,@code_length,num)
end