Skip to content

Commit 8f3d640

Browse files
committed
* implement data_inspect for nec format
1 parent 9628492 commit 8f3d640

1 file changed

Lines changed: 26 additions & 3 deletions

File tree

IRData.rb

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,25 +47,48 @@ def data_inspect_aeha
4747
data = @data.map{|v| (v / T[:aeha])}
4848
data_bin = ""
4949
data.each_slice(2){|a|
50+
next if a == [8,4]
5051
data_bin << "1" if a == [1,3]
5152
data_bin << "0" if a == [1,1]
53+
# TODO if a == [8,8] REPEAT
5254
}
5355

5456
data_hex = [data_bin].pack("B*").unpack("H*")[0]
5557

58+
datan = data_hex[6..data_hex.length]
59+
datan_ary = datan.each_char.each_slice(2).map{|a| a.join}
60+
datan_rev = [datan].pack("H*").unpack("B*").pack("b*").unpack("H*")[0]
61+
datan_rev_ary = datan_rev.each_char.each_slice(2).map{|a| a.join}
62+
5663
return {
5764
:customer_code => data_hex[0..3],
5865
:parity => data_hex[4],
5966
:data0 => data_hex[5],
60-
:datan => data_hex[6..data_hex.length],
61-
:datan_rev => [data_hex[6..data_hex.length]].pack("H*").unpack("B*").pack("b*").unpack("H*"),
67+
:datan => datan,
68+
:datan_ary => datan_ary,
69+
:datan_rev => datan_rev,
70+
:datan_rev_ary => datan_rev_ary,
6271
:data_hex => data_hex
6372
}
6473
end
6574

6675
def data_inspect_nec
67-
raise 'not implemented yet'
6876
data = @data.map{|v| (v / T[:nec])}
77+
data_bin = ""
78+
data.each_slice(2){|a|
79+
next if a == [16,8]
80+
data_bin << "1" if a == [1,3]
81+
data_bin << "0" if a == [1,1]
82+
}
83+
84+
data_hex = [data_bin].pack("B*").unpack("H*")[0]
85+
86+
return {
87+
:customer_code => data_hex[0..3],
88+
:datan => data_hex[4..data_hex.length],
89+
:datan_rev => [data_hex[4..data_hex.length]].pack("H*").unpack("B*").pack("b*").unpack("H*"),
90+
:data_hex => data_hex
91+
}
6992
end
7093

7194
def data_inspect_sony

0 commit comments

Comments
 (0)