diff options
author | Uwe Hermann <uwe@hermann-uwe.de> | 2020-01-01 18:09:51 +0100 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2020-01-10 20:50:15 +0100 |
commit | 44d058f3524e8c34bb72bd2f0c0c02740c190c7a (patch) | |
tree | e4c7673653ea6894c416280cd33e9885c61afdfc /decoders | |
parent | 927e2ba624b780e8b846ce3cc2b013afac6fa751 (diff) | |
download | libsigrokdecode-44d058f3524e8c34bb72bd2f0c0c02740c190c7a.tar.gz libsigrokdecode-44d058f3524e8c34bb72bd2f0c0c02740c190c7a.zip |
spiflash: Use SrdIntEnum for annotation classes.
Also, automate construction of the Ann SrdIntEnum.
This avoids having to remember to manually keep two lists in sync.
Diffstat (limited to 'decoders')
-rw-r--r-- | decoders/spiflash/lists.py | 3 | ||||
-rw-r--r-- | decoders/spiflash/pd.py | 12 |
2 files changed, 6 insertions, 9 deletions
diff --git a/decoders/spiflash/lists.py b/decoders/spiflash/lists.py index c6e07bf..80ca27d 100644 --- a/decoders/spiflash/lists.py +++ b/decoders/spiflash/lists.py @@ -1,7 +1,7 @@ ## ## This file is part of the libsigrokdecode project. ## -## Copyright (C) 2015 Uwe Hermann <uwe@hermann-uwe.de> +## Copyright (C) 2015-2020 Uwe Hermann <uwe@hermann-uwe.de> ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -21,7 +21,6 @@ from collections import OrderedDict # OrderedDict which maps command IDs to their names and descriptions. # Please keep this sorted by command ID. -# Don't forget to update 'Ann' in pd.py if you add/remove items here. cmds = OrderedDict([ (0x01, ('WRSR', 'Write status register')), (0x02, ('PP', 'Page program')), diff --git a/decoders/spiflash/pd.py b/decoders/spiflash/pd.py index 33fe229..26f3a24 100644 --- a/decoders/spiflash/pd.py +++ b/decoders/spiflash/pd.py @@ -1,7 +1,7 @@ ## ## This file is part of the libsigrokdecode project. ## -## Copyright (C) 2011-2016 Uwe Hermann <uwe@hermann-uwe.de> +## Copyright (C) 2011-2020 Uwe Hermann <uwe@hermann-uwe.de> ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -18,16 +18,14 @@ ## import sigrokdecode as srd +import re +from common.srdhelper import SrdIntEnum from .lists import * L = len(cmds) -# Don't forget to keep this in sync with 'cmds' in lists.py. -class Ann: - WRSR, PP, READ, WRDI, RDSR, WREN, FAST_READ, SE, RDSCUR, WRSCUR, \ - RDSR2, CE, ESRY, DSRY, WRITE1, WRITE2, REMS, RDID, RDP_RES, CP, ENSO, DP, \ - READ2X, EXSO, CE2, STATUS, BE, REMS2, \ - BIT, FIELD, WARN = range(L + 3) +a = [re.sub('\/', '_', c[0]).replace('2READ', 'READ2X') for c in cmds.values()] + ['BIT', 'FIELD', 'WARN'] +Ann = SrdIntEnum.from_list('Ann', a) def cmd_annotation_classes(): return tuple([tuple([cmd[0].lower(), cmd[1]]) for cmd in cmds.values()]) |