summaryrefslogtreecommitdiff
path: root/decoders
diff options
context:
space:
mode:
authorGerhard Sittig <gerhard.sittig@gmx.net>2020-07-20 22:21:30 +0200
committerGerhard Sittig <gerhard.sittig@gmx.net>2020-07-22 20:21:24 +0200
commitc449c5832bb560ca543b9d6c962c405d1a227312 (patch)
treecc4ed833c6bf3c0f09e3ccef5ba888a4650301c8 /decoders
parent3e10fce7f87ff1bae97241a8b8f9d3602c3bfe8a (diff)
downloadlibsigrokdecode-c449c5832bb560ca543b9d6c962c405d1a227312.tar.gz
libsigrokdecode-c449c5832bb560ca543b9d6c962c405d1a227312.zip
ir_sirc: fixup decoder boilerplate
The SIRC decoder was written to an older API, and failed to load in a recent environment (tag missing, ambiguous annotation names). Unbreak the decoder's boilerplate, and address other nits while we are here: There is no Python output. Use the same declaration syntax as in other decoders for improved maintenance (greppability). Call reset() from __init__() to avoid surprises when a future version does have vars. Do provide a doc string in the module initialization, to keep the URL for the protocol description at hand.
Diffstat (limited to 'decoders')
-rw-r--r--decoders/ir_sirc/__init__.py6
-rw-r--r--decoders/ir_sirc/pd.py22
2 files changed, 16 insertions, 12 deletions
diff --git a/decoders/ir_sirc/__init__.py b/decoders/ir_sirc/__init__.py
index 7e1342c..4061ed7 100644
--- a/decoders/ir_sirc/__init__.py
+++ b/decoders/ir_sirc/__init__.py
@@ -17,4 +17,10 @@
## along with this program; if not, see <http://www.gnu.org/licenses/>.
##
+'''
+Decoder for the Sony IR remote control protocol (SIRC).
+
+https://www.sbprojects.net/knowledge/ir/sirc.php
+'''
+
from .pd import Decoder
diff --git a/decoders/ir_sirc/pd.py b/decoders/ir_sirc/pd.py
index 9aba8a5..b713c56 100644
--- a/decoders/ir_sirc/pd.py
+++ b/decoders/ir_sirc/pd.py
@@ -33,41 +33,39 @@ class Decoder(srd.Decoder):
api_version = 3
id = 'ir_sirc'
name = 'IR SIRC'
- longname = 'IR SIRC'
- desc = 'Sony SIRC infrared remote control protocol.'
+ longname = 'Sony IR (SIRC)'
+ desc = 'Sony infrared remote control protocol (SIRC).'
license = 'gplv2+'
+ tags = ['IR']
inputs = ['logic']
- outputs = ['ir_sirc']
+ outputs = []
channels = (
- dict(id='ir', name='IR', desc='Data line'),
+ {'id': 'ir', 'name': 'IR', 'desc': 'IR data line'},
)
options = (
- dict(id='polarity', desc='Polarity', default='active-low',
- values=('active-low', 'active-high')),
+ {'id': 'polarity', 'desc': 'Polarity', 'default': 'active-low',
+ 'values': ('active-low', 'active-high')},
)
annotations = (
('bit', 'Bit'),
('agc', 'AGC'),
('pause', 'Pause'),
-
('start', 'Start'),
('command', 'Command'),
('address', 'Address'),
('extended', 'Extended'),
-
('remote', 'Remote'),
-
- ('warnings', 'Warnings'),
+ ('warning', 'Warning'),
)
annotation_rows = (
('bits', 'Bits', (0, 1, 2)),
('fields', 'Fields', (3, 4, 5, 6)),
- ('remote', 'Remote', (7,)),
+ ('remotes', 'Remotes', (7,)),
('warnings', 'Warnings', (8,)),
)
def __init__(self):
- pass
+ self.reset()
def reset(self):
pass