diff options
author | Uwe Hermann <uwe@hermann-uwe.de> | 2010-04-24 01:04:20 +0200 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2010-04-24 01:04:20 +0200 |
commit | 5c55017c401002c18b1d43dad61200df17ab3321 (patch) | |
tree | 95700d32f0666f0817d78fa6b7aae5e5d04f6d80 /scripts/i2c.py | |
parent | 31b82285e5ca1fbd6a33eaaaa95bf83862b69eb1 (diff) | |
download | libsigrokdecode-5c55017c401002c18b1d43dad61200df17ab3321.tar.gz libsigrokdecode-5c55017c401002c18b1d43dad61200df17ab3321.zip |
Various Python decoder infrastructure improvements.
- Introduce 'struct sigrokdecode_decoder'.
- Decoders are now handled via two C functions:
- sigrokdecode_load_decoder(): Fills a 'struct sigrokdecode_decoder'.
- sigrokdecode_run_decoder(): Runs a decoder function.
- There are now two decoder API functions a script needs to implement:
- register(): Returns a Python dict with certain metadata.
- decode(): Runs the actual decoder code.
- libsigrokdecode: Add and use some more #defines for errors:
- SIGROKDECODE_ERR_ARGS
- SIGROKDECODE_ERR_PYTHON
- Various other smaller Python decode script infrastructure issues.
Diffstat (limited to 'scripts/i2c.py')
-rw-r--r-- | scripts/i2c.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/scripts/i2c.py b/scripts/i2c.py index 0854895..602b010 100644 --- a/scripts/i2c.py +++ b/scripts/i2c.py @@ -68,7 +68,7 @@ # TODO: Return two buffers, one with structured data for the GUI to parse # and display, and one with human-readable ASCII output. -def sigrokdecode_i2c(inbuf): +def decode(inbuf): """I2C protocol decoder""" # FIXME: This should be passed in as metadata, not hardcoded here. @@ -153,20 +153,20 @@ def register(): return { 'id': 'i2c', 'name': 'I2C', - 'description': 'Inter-Integrated Circuit (I2C) bus', - 'function': 'sigrokdecode_i2c', + 'desc': 'Inter-Integrated Circuit (I2C) bus', + 'func': 'decode', 'inputformats': ['raw'], 'signalnames': { 'SCL': 'Serial clock line', 'SDA': 'Serial data line', }, - 'ouputformats': ['i2c', 'ascii'], + 'outputformats': ['i2c', 'ascii'], } # Use psyco (if available) as it results in huge performance improvements. try: import psyco - psyco.bind(sigrokdecode_i2c) + psyco.bind(decode) except ImportError: pass |