-class Pins:
- (SYNC, BIT_CLK, SDATA_OUT, SDATA_IN, RESET) = range(5)
-
-class Ann:
- (
- BITS_OUT, BITS_IN,
- SLOT_OUT_RAW, SLOT_OUT_TAG, SLOT_OUT_ADDR, SLOT_OUT_DATA,
- SLOT_OUT_03, SLOT_OUT_04, SLOT_OUT_05, SLOT_OUT_06,
- SLOT_OUT_07, SLOT_OUT_08, SLOT_OUT_09, SLOT_OUT_10,
- SLOT_OUT_11, SLOT_OUT_IO,
- SLOT_IN_RAW, SLOT_IN_TAG, SLOT_IN_ADDR, SLOT_IN_DATA,
- SLOT_IN_03, SLOT_IN_04, SLOT_IN_05, SLOT_IN_06,
- SLOT_IN_07, SLOT_IN_08, SLOT_IN_09, SLOT_IN_10,
- SLOT_IN_11, SLOT_IN_IO,
- WARN, ERROR,
- ) = range(32)
- (
- BIN_FRAME_OUT,
- BIN_FRAME_IN,
- BIN_SLOT_RAW_OUT,
- BIN_SLOT_RAW_IN,
- ) = range(4)
+Pin = SrdIntEnum.from_str('Pin', 'SYNC BIT_CLK SDATA_OUT SDATA_IN RESET')
+
+slots = 'TAG ADDR DATA 03 04 05 06 07 08 09 10 11 IO'.split()
+a = 'BITS_OUT BITS_IN SLOT_RAW_OUT SLOT_RAW_IN WARN ERROR'.split() + \
+ ['SLOT_OUT_' + s for s in slots] + ['SLOT_IN_' + s for s in slots]
+Ann = SrdIntEnum.from_list('Ann', a)
+
+Bin = SrdIntEnum.from_str('Bin', 'FRAME_OUT FRAME_IN SLOT_RAW_OUT SLOT_RAW_IN')