]> sigrok.org Git - libsigrokdecode.git/commitdiff
amulet_ascii: Use SrdIntEnum for annotation classes.
authorUwe Hermann <redacted>
Wed, 1 Jan 2020 13:50:12 +0000 (14:50 +0100)
committerUwe Hermann <redacted>
Fri, 10 Jan 2020 17:55:24 +0000 (18:55 +0100)
Also, automate construction of the Ann SrdIntEnum.
This avoids having to remember to manually keep two lists in sync.

decoders/amulet_ascii/pd.py

index 41fbcad6029121a4277e5a9dcab1a13bf1290df2..719532344727f98e566aeba51347644395b60907 100644 (file)
 
 import sigrokdecode as srd
 from math import ceil
+from common.srdhelper import SrdIntEnum
 from .lists import *
 
 L = len(cmds)
 RX = 0
 TX = 1
 
-# Don't forget to keep this in sync with 'cmds' is lists.py.
-class Ann:
-    PAGE, GBV, GWV, GSV, GLV, GRPC, SBV, SWV, SSV, RPC, LINE, RECT, FRECT, \
-    PIXEL, GBVA, GWVA, SBVA, GBVR, GWVR, GSVR, GLVR, GRPCR, SBVR, SWVR, SSVR, \
-    RPCR, LINER, RECTR, FRECTR, PIXELR, GBVAR, GWVAR, SBVAR, ACK, NACK, SWVA, \
-    SWVAR, GCV, GCVR, SCV, SCVR, BIT, FIELD, WARN = range(L + 3)
+Ann = SrdIntEnum.from_list('Ann',
+    [c[0] for c in cmds.values()] + ['BIT', 'FIELD', 'WARN'])
 
 def cmd_annotation_classes():
     return tuple([tuple([cmd[0].lower(), cmd[1]]) for cmd in cmds.values()])