42
42
pulses = decoder.read_pulses(pulsein)
43
43
print("Heard", len(pulses), "Pulses:", pulses)
44
44
try:
45
- code = decoder.decode_bits(pulses, debug=False )
45
+ code = decoder.decode_bits(pulses)
46
46
print("Decoded:", code)
47
47
except adafruit_irremote.IRNECRepeatException: # unusual short code!
48
48
print("NEC repeat!")
@@ -111,11 +111,9 @@ def bin_data(self, pulses):
111
111
#print(bins)
112
112
return bins
113
113
114
- def decode_bits (self , pulses , debug = False ):
114
+ def decode_bits (self , pulses ):
115
115
"""Decode the pulses into bits."""
116
116
# pylint: disable=too-many-branches,too-many-statements
117
- if debug :
118
- print ("length: " , len (pulses ))
119
117
120
118
# special exception for NEC repeat code!
121
119
if ((len (pulses ) == 3 ) and (8000 <= pulses [0 ] <= 10000 ) and
@@ -129,22 +127,16 @@ def decode_bits(self, pulses, debug=False):
129
127
del pulses [0 ]
130
128
if len (pulses ) % 2 == 1 :
131
129
del pulses [0 ]
132
- if debug :
133
- print ("new length: " , len (pulses ))
134
130
135
131
evens = pulses [0 ::2 ]
136
132
odds = pulses [1 ::2 ]
137
133
# bin both halves
138
134
even_bins = self .bin_data (evens )
139
135
odd_bins = self .bin_data (odds )
140
- if debug :
141
- print ("evenbins: " , even_bins , "oddbins:" , odd_bins )
142
136
143
137
outliers = [b [0 ] for b in (even_bins + odd_bins ) if b [1 ] == 1 ]
144
138
even_bins = [b for b in even_bins if b [1 ] > 1 ]
145
139
odd_bins = [b for b in odd_bins if b [1 ] > 1 ]
146
- if debug :
147
- print ("evenbins: " , even_bins , "oddbins:" , odd_bins , "outliers:" , outliers )
148
140
149
141
if not even_bins or not odd_bins :
150
142
raise IRDecodeException ("Not enough data" )
@@ -158,17 +150,13 @@ def decode_bits(self, pulses, debug=False):
158
150
else :
159
151
raise IRDecodeException ("Both even/odd pulses differ" )
160
152
161
- if debug :
162
- print ("Pulses:" , pulses , "& Bins:" , pulse_bins )
163
153
if len (pulse_bins ) == 1 :
164
154
raise IRDecodeException ("Pulses do not differ" )
165
155
elif len (pulse_bins ) > 2 :
166
156
raise IRDecodeException ("Only mark & space handled" )
167
157
168
158
mark = min (pulse_bins [0 ][0 ], pulse_bins [1 ][0 ])
169
159
space = max (pulse_bins [0 ][0 ], pulse_bins [1 ][0 ])
170
- if debug :
171
- print ("Space:" , space , "Mark:" , mark )
172
160
173
161
if outliers :
174
162
# skip outliers
@@ -182,8 +170,6 @@ def decode_bits(self, pulses, debug=False):
182
170
pulses [i ] = True
183
171
else :
184
172
raise IRDecodeException ("Pulses outside mark/space" )
185
- if debug :
186
- print (len (pulses ), pulses )
187
173
188
174
# convert bits to bytes!
189
175
output = [0 ] * ((len (pulses )+ 7 )// 8 )
0 commit comments