nbus_defines.py 749 B

1234567891011121314151617181920212223242526272829
  1. """
  2. Constants defining the NBUS protocol layout and addressing rules.
  3. These values are treated as immutable configuration parameters.
  4. """
  5. from typing import Final
  6. # --- General sizes ---
  7. NBUS_RX_META_SIZE: Final = 4
  8. NBUS_FMT_SIZE: Final = 4
  9. NBUS_TS_SIZE: Final = 4
  10. NBUS_CRC_SIZE: Final = 1
  11. NBUS_MA_SIZE: Final = 1
  12. NBUS_SA_SIZE: Final = 1
  13. # --- Special addresses ---
  14. NBUS_BROADCAST_ADDR: Final = 0x00
  15. NBUS_BRIDGE_ADDR: Final = 0xFF
  16. # --- Packet Index Positions ---
  17. NBUS_MA_ADDR: Final = 0
  18. NBUS_SA_ADDR: Final = 1
  19. NBUS_FC_ADDR: Final = 2
  20. NBUS_DATA0_ADDR: Final = 3
  21. NBUS_CRC_ADDR: Final = -1
  22. # --- Bridge header ---
  23. NBUS_BRIDGE_DATA_HDR: Final = bytearray([0x00] + [0xFF] * 8 + [0x00])
  24. NBUS_BRIDGE_DATA_HDR_SIZE: Final = len(NBUS_BRIDGE_DATA_HDR)