summaryrefslogtreecommitdiff
path: root/decoders/eeprom24xx/pd.py
AgeCommit message (Collapse)Author
2023-07-18eeprom24xx: avoid access to caller's data after validity endsGerhard Sittig
The at24 EEPROM decoder's previous implementation happened to access caller's data even after the .decode() method invocation ended, and their content has changed or the data was not valid any longer. Get deep copies for those details which broke the test suite. Prepare "generous" deep copies for other data which currently doesn't trigger exceptions, but might be waiting for an accident to happen. Careful inspection of the complex implementation and relaxing the current greed of this commit remains for future commits. Comment heavily for awareness. It is assumed that the 'databyte' name is misleading. And that much of this upper layer decoder's complexity would be obsoleted by the lower layer decoder's providing more useful packets (bytes and their ACK state, read/write phases of transfers, complete transfers up to STOP, etc). This commit does not address those readability or layering concerns.
2020-01-01All PDs: Consistently use singular/plural for annotation classes/rows.Uwe Hermann
2019-04-02decoders: Fix incorrect 'outputs' fields.Uwe Hermann
Only add items to 'outputs' if the respective PD actually has OUTPUT_PYTHON support implemented as of right now. Various decoders might get OUTPUT_PYTHON support later, but the 'outputs' field should reflect the current status.
2019-03-15decoders: Add/update tags for each PD.Uwe Hermann
2019-03-13Add PD tags handling and some tagsSoeren Apel
2017-12-22all decoders: introduce a reset() methodGerhard Sittig
Move initialization code of protocol decoders from the constructor to a new reset() helper method. The libsigrokdecode backend could run this method several times to clear the decoder's internal state, before new data from another acquisition gets fed to decode() calls.
2017-12-22eeprom 24xx: rename reset() helper methodGerhard Sittig
2017-06-16Mark all stacked decoders as being PD API version 3.Uwe Hermann
This is not really relevant for stacked PDs currently (they can be used unmodified with either PDv2 or PDv3 low-level decoders), but it'll allow us to drop PDv2 support completely.
2017-01-07license: remove FSF postal address from boiler plate license textGerhard Sittig
Remove the FSF postal address as it might change (it did in the past). Reference the gnu.org website instead which is more stable.
2016-05-15Use consistent __init__() format across all PDs.Uwe Hermann
The previous **kwargs some PDs had is not actually ever used, so drop it.
2015-12-24Use self.out_binary naming consistently across all PDs.Uwe Hermann
2015-12-24Use a Python list (not tuple) for OUT_BINARY.Uwe Hermann
This is more consistent with annotation syntax and looks slightly better in most cases.
2014-12-28Add 24xx I2C EEPROM protocol decoder.Uwe Hermann