Skip to content

kafka_dae_control: periods: attempt to prevent invalid configurations #103

Open

Description

@Tom-Willemsen

In COMPUTER control mode:

  • If I try to set PERIODS:SP to larger than NUMPERIODS:MAX, I should get an error.
  • If I'm in period N and I try to change NUMPERIODS:MAX to less than N, put back to period 0 (user period 1)?
  • I probably shouldn't be allowed to set NUMPERIODS:MAX to zero
  • If I was previously in period N and this was done by EXTERNAL or LOOKUP control mode, then when I change to COMPUTER control mode this should be verified against NUMPERIODS:MAX and set back to something valid if N is larger than NUMPERIODS:MAX.
  • As per discussion below, NOT_USED is not a real control mode (it was meant to say that this bit-pattern does not correspond to anything in the hardware). Remove references to NOT_USED in our code.

Activity

  1. added this to the March 2027 milestone on Jul 30, 2026
  2. FreddieAkeroyd commented on Jul 30, 2026

    @FreddieAkeroyd
    Member

    Is periodmode of "not used" a hardware option? I was wondering how it differed from computer control with maxperiods of 1

  3. rerpha commented on Jul 30, 2026

    @rerpha
    Contributor

    Probably a question for @DaveTempleman

  4. DaveTempleman commented on Jul 31, 2026

    @DaveTempleman

    Are you are referring to this "bit5..4 = Period mode 00: computer, 01: look up table 10: not used), 11: external"
    If so then it should read "not currently implemented" as I haven't worked out how want to do periods with a look up table. The only stumbling block is if I can store the Look Up Table in FPGA memory or if it needs to be in DDR. Think this comes down to how big we think the Look Up Table Would need to be? In the UDP header we have space for 16bits of periods so I assume I will need to make it 16bits deep and wide?

  5. FreddieAkeroyd commented on Jul 31, 2026

    @FreddieAkeroyd
    Member

    The streaming software looked to list four specific period modes "not used", "computer", "hardware (internal)", "hardware (external)" - do you mean "not used" is not actually a period mode but that the bit pattern10 in the register is not currently used for anything? In the old system there were just three modes: computer/internal/external.

  6. DaveTempleman commented on Jul 31, 2026

    @DaveTempleman

    Yes, sorry for the confusion. There are still the same 3 modes but as using 2 bits there is an unused/undefined option.
    I copied the numbers from how DAE3 worked if you want to change it to a more logical mapping of
    00 - Computer
    01 - Hardware internal - look up table
    02 - Hardware external
    03 - unused/undefined

    Previously with DAE3 if bit 14 was set in the period number then it was dwell period. Given it's currently a 16bit number do we want to change it to the MSB (bit15) that is the dwell period flag?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions