@@ -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