Module: AutomationCodeList
- Defined in:
- lib/automation_code_list.rb
Class Method Summary collapse
-
._inverse(code, code_length, num) ⇒ Object
反码处理 code 待处理的编码 num 处理后几位作为反码.
- .dispose(protocol, code) ⇒ Object
- .inverse(code, num) ⇒ Object
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 |