SXXXXXXX_PyBusMonitor1553/pybusmonitor1553/lib1553/messages/msg_reserved.py
2025-12-09 15:52:18 +01:00

74 lines
1.9 KiB
Python

from ..message_base import MessageBase
from ..constants import Subaddress
from ..fields import BitField
class MsgReservedBase(MessageBase):
"""
Base class for Reserved/Debug messages (B9, B10, B11).
Exposes all 32 words as raw 16-bit fields.
"""
IS_TRANSMIT = True
# Define generic accessors for all 32 words
word_01 = BitField(0, 0, 16)
word_02 = BitField(1, 0, 16)
word_03 = BitField(2, 0, 16)
word_04 = BitField(3, 0, 16)
word_05 = BitField(4, 0, 16)
word_06 = BitField(5, 0, 16)
word_07 = BitField(6, 0, 16)
word_08 = BitField(7, 0, 16)
word_09 = BitField(8, 0, 16)
word_10 = BitField(9, 0, 16)
word_11 = BitField(10, 0, 16)
word_12 = BitField(11, 0, 16)
word_13 = BitField(12, 0, 16)
word_14 = BitField(13, 0, 16)
word_15 = BitField(14, 0, 16)
word_16 = BitField(15, 0, 16)
word_17 = BitField(16, 0, 16)
word_18 = BitField(17, 0, 16)
word_19 = BitField(18, 0, 16)
word_20 = BitField(19, 0, 16)
word_21 = BitField(20, 0, 16)
word_22 = BitField(21, 0, 16)
word_23 = BitField(22, 0, 16)
word_24 = BitField(23, 0, 16)
word_25 = BitField(24, 0, 16)
word_26 = BitField(25, 0, 16)
word_27 = BitField(26, 0, 16)
word_28 = BitField(27, 0, 16)
word_29 = BitField(28, 0, 16)
word_30 = BitField(29, 0, 16)
word_31 = BitField(30, 0, 16)
word_32 = BitField(31, 0, 16)
class MsgB9(MsgReservedBase):
"""
Message B9: Reserved Message #1 (Search Target Message)
ID: B9
Subaddress: 19
Rate: 50 Hz
"""
SUBADDRESS = Subaddress.TX_RES_SEARCH
class MsgB10(MsgReservedBase):
"""
Message B10: Reserved Message #2 (Mode Data Message)
ID: B10
Subaddress: 20
Rate: 50 Hz
"""
SUBADDRESS = Subaddress.TX_RES_MODE
class MsgB11(MsgReservedBase):
"""
Message B11: Reserved TX Message (Debug Message)
ID: B11
Subaddress: 21
Rate: 50 Hz
"""
SUBADDRESS = Subaddress.TX_RES_DEBUG