Skip to content

ds: UDP header format updates - #232

Open
Tom-Willemsen wants to merge 6 commits into
masterfrom
newer_header_format
Open

ds: UDP header format updates#232
Tom-Willemsen wants to merge 6 commits into
masterfrom
newer_header_format

Conversation

@Tom-Willemsen

Copy link
Copy Markdown
Member

Header format updates from @DaveTempleman

@Tom-Willemsen Tom-Willemsen changed the title header_updates ds: UDP header format updates Jul 23, 2026
Comment thread doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md

If all bits are high, this packet is a neutron data packet.
- **Bits 0..7**: Length of header, in 32-bit words (max 255 *too many?*)
- **Bits 8..23**: Header Type (max 65535 *too many?*)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need some docs somewhere of what the different "header types" are...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the intention is that these correspond to the information that's currently in wiring .csv such as PacketType = DIM_OUT, SW_Pos and CH, so that the "wiring table" is just left with an IP -> detector ID offset mapping?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jack's off on leave at the moment but when he's back we'll get the Header Types doc created.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess if it is intended to encode permutations of PacketType, SW_POS, CH, etc, then 65535 is probably sensible - it's plausible we could end up with a good few permutations.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What you have suggested last is what I envisaged for the packet type. Then have a look up table on the PC that works out what to do with the rest of the header and how the data all splits up.
I did consider trying to include that information in the header but I can see situations where we will end up with 128 bits of data. with 8 different types of data being sent out and I'm not sure we can encode that sort of flexibility directly into the header.
(could either be lots of diagnostics data or the pulse heigh of the surrounding 6 fibres in a Wavelength Shifting Fibre Detecor for position reconstruction)

Comment thread doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md Outdated
Clarified PCB Board Number encoding in UDP packet format documentation.
- **Bit 4**: ISIS slow *-awaiting clarity what this is*
- **Bit 5**: period overflow veto *-awaiting clarity what this is*
- **Bit 6**: run sig veto *-not sure if this will be needed when not using DAE3*
- **Bit 7**: pause veto

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would like a runcontrol veto somewhere in addition to "pause veto" I think

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that bit 6?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what would you like the "runcontrol veto" to show?
Currently it is configured to be active when the streaming board is configured to run but DAE2/3 isn't

@Tom-Willemsen Tom-Willemsen Jul 27, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the "runcontrol veto" and the "paused veto" would be toggled by software, just under different circumstances. From the hardware/firmware side, what we need is to be able to write to "runcontrol" or "paused" registers (or a mask) in the SCB, and for events to:

  • Not get emitted if we configured it as a hard veto
  • Get emitted with the corresponding veto bit set if we configured it as a soft veto

Comment thread doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants