malcolm.modules.ADPandABlocks.util

class malcolm.modules.ADPandABlocks.util.Trigger[source]

Convenience Enum for setting sequencer table trigger values.

These will be translated into integer values by the TablePart. The strings must match those that come from the PandA.

class malcolm.modules.ADPandABlocks.util.SequencerRow(repeats, trigger, position, time1, outa1, outb1, outc1, outd1, oute1, outf1, time2, outa2, outb2, outc2, outd2, oute2, outf2)

Create new instance of SequencerRow(repeats, trigger, position, time1, outa1, outb1, outc1, outd1, oute1, outf1, time2, outa2, outb2, outc2, outd2, oute2, outf2)

property outa1

Alias for field number 4

property outa2

Alias for field number 11

property outb1

Alias for field number 5

property outb2

Alias for field number 12

property outc1

Alias for field number 6

property outc2

Alias for field number 13

property outd1

Alias for field number 7

property outd2

Alias for field number 14

property oute1

Alias for field number 8

property oute2

Alias for field number 15

property outf1

Alias for field number 9

property outf2

Alias for field number 16

property position

Alias for field number 2

property repeats

Alias for field number 0

property time1

Alias for field number 3

property time2

Alias for field number 10

property trigger

Alias for field number 1

class malcolm.modules.ADPandABlocks.util.SequencerTable(repeats: Anno(name='ALineRepeatsArray', typ=<class 'numpy.uint16'>, description='Number of times the line will repeat'), trigger: Anno(name='ATriggerArray', typ=<class 'str'>, description='The trigger condition to start the phases'), position: Anno(name='APositionArray', typ=<class 'numpy.int32'>, description='The position that can be used in trigger condition'), time1: Anno(name='ATimeArray', typ=<class 'numpy.uint32'>, description='The time that the phase should take'), outa1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outb1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outc1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outd1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), oute1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outf1: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), time2: Anno(name='ATimeArray', typ=<class 'numpy.uint32'>, description='The time that the phase should take'), outa2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outb2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outc2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outd2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), oute2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'), outf2: Anno(name='AOutArray', typ=<class 'bool'>, description='Output value during the phase'))[source]

Convenience Table class for building sequencer tables.

Parameters
  • repeats (uint16) – Number of times the line will repeat

  • trigger (str) – The trigger condition to start the phases

  • position (int32) – The position that can be used in trigger condition

  • time1 (uint32) – The time that the phase should take

  • outa1 (bool) – Output value during the phase

  • outb1 (bool) – Output value during the phase

  • outc1 (bool) – Output value during the phase

  • outd1 (bool) – Output value during the phase

  • oute1 (bool) – Output value during the phase

  • outf1 (bool) – Output value during the phase

  • time2 (uint32) – The time that the phase should take

  • outa2 (bool) – Output value during the phase

  • outb2 (bool) – Output value during the phase

  • outc2 (bool) – Output value during the phase

  • outd2 (bool) – Output value during the phase

  • oute2 (bool) – Output value during the phase

  • outf2 (bool) – Output value during the phase

class malcolm.modules.ADPandABlocks.util.DatasetBitsTable(name: Union[Anno(name='ABitNames', typ=<class 'str'>, description='Block and Field name for the Bit'), Sequence[str]], value: Union[Anno(name='ABitValues', typ=<class 'bool'>, description='Current value for the Bit'), Sequence[bool]], capture: Union[Anno(name='ABitCaptures', typ=<class 'bool'>, description='Request this field is captured in PCAP'), Sequence[bool]], datasetName: Union[Anno(name='AAttributeNames', typ=<class 'str'>, description='NDAttribute name to be exported'), Sequence[str]], datasetType: Union[Anno(name='AAttributeTypes', typ=<enum 'AttributeDatasetType'>, description='Types of attribute dataset'), Sequence[malcolm.modules.ADCore.util.AttributeDatasetType]])[source]
Parameters
  • name (str) – Block and Field name for the Bit

  • value (bool) – Current value for the Bit

  • capture (bool) – Request this field is captured in PCAP

  • datasetName (str) – NDAttribute name to be exported

  • datasetType (AttributeDatasetType) – Types of attribute dataset

class malcolm.modules.ADPandABlocks.util.DatasetPositionsTable(name: Union[Anno(name='APositionNames', typ=<class 'str'>, description='Block and Field name for the Position'), Sequence[str]], value: Union[Anno(name='APositionValues', typ=<class 'float'>, description='Current scaled value for the Position'), Sequence[float]], units: Union[Anno(name='APositionUnits', typ=<class 'str'>, description='Units for the scaled value of the Position'), Sequence[str]], scale: Union[Anno(name='APositionScales', typ=<class 'float'>, description='Scale factor to calculate scaled value of the Position'), Sequence[float]], offset: Union[Anno(name='APositionOffsets', typ=<class 'float'>, description='Offset to calculate scaled value of the Position'), Sequence[float]], capture: Union[Anno(name='APositionCaptures', typ=<enum 'PositionCapture'>, description='Whether and what to capture with PCAP'), Sequence[malcolm.modules.pandablocks.util.PositionCapture]], datasetName: Union[Anno(name='AAttributeNames', typ=<class 'str'>, description='NDAttribute name to be exported'), Sequence[str]], datasetType: Union[Anno(name='AAttributeTypes', typ=<enum 'AttributeDatasetType'>, description='Types of attribute dataset'), Sequence[malcolm.modules.ADCore.util.AttributeDatasetType]])[source]
Parameters
  • name (str) – Block and Field name for the Position

  • value (float) – Current scaled value for the Position

  • units (str) – Units for the scaled value of the Position

  • scale (float) – Scale factor to calculate scaled value of the Position

  • offset (float) – Offset to calculate scaled value of the Position

  • capture (PositionCapture) – Whether and what to capture with PCAP

  • datasetName (str) – NDAttribute name to be exported

  • datasetType (AttributeDatasetType) – Types of attribute dataset