]> sigrok.org Git - libsigrokdecode.git/commitdiff
ir_sirc: use common bitpack() variant with array access
authorGerhard Sittig <redacted>
Thu, 23 Jul 2020 15:27:17 +0000 (17:27 +0200)
committerGerhard Sittig <redacted>
Sun, 26 Jul 2020 12:38:18 +0000 (14:38 +0200)
This eliminates array copies and indexed access to bit values in the
calling decoder. Prefer common helpers instead.

decoders/ir_sirc/pd.py

index d4fed659f6c5eb06e949bdfb29bec60bb2a34d11..14ba63f0d10a75a0be3289a5111e05566bf8d832 100644 (file)
@@ -17,7 +17,7 @@
 ## along with this program; if not, see <http://www.gnu.org/licenses/>.
 ##
 
-from common.srdhelper import bitpack
+from common.srdhelper import bitpack_lsb
 from .lists import ADDRESSES
 import sigrokdecode as srd
 
@@ -168,8 +168,8 @@ class Decoder(srd.Decoder):
                     raise SIRCError('incorrect bits count {}'.format(len(bits)))
                 break
 
-        command_num = bitpack([b[0] for b in command])
-        address_num = bitpack([b[0] for b in address])
+        command_num = bitpack_lsb(command, 0)
+        address_num = bitpack_lsb(address, 0)
         command_str = '0x{:02X}'.format(command_num)
         address_str = '0x{:02X}'.format(address_num)
         self.putg(command[0][1], command[-1][2], Ann.CMD, [
@@ -182,7 +182,7 @@ class Decoder(srd.Decoder):
         ])
         extended_num = None
         if extended:
-            extended_num = bitpack([b[0] for b in extended])
+            extended_num = bitpack_lsb(extended, 0)
             extended_str = '0x{:02X}'.format(extended_num)
             self.putg(extended[0][1], extended[-1][2], Ann.EXT, [
                 'Extended: {}'.format(extended_str),