nbus_defines.py 781 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([0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0xDD, 0xCC, 0xBB, 0xAA])
  24. NBUS_BRIDGE_DATA_HDR_SIZE: Final = len(NBUS_BRIDGE_DATA_HDR)