Low Level Commands¶
- class SynchronizeCommand(*, cookie, output, raster)[source]¶
- Parameters:
cookie (u16) – Arbitrary value for synchronization. When received, returned as-is in an USB IN frame.
output (OutputMode)
raster (bool)
- class AbortCommand[source]¶
End the current
RasterRegionCommand
- class FlushCommand[source]¶
Submits the data in the FPGA FIFO over USB, regardless of whether the FIFO is full.
- class ExternalCtrlCommand(enable)[source]¶
Enable or disable external control of the beam
- Parameters:
enable (bool)
- class BeamSelectCommand(beam_type)[source]¶
Select a beam type. Blanking will be enabled on all other beams if blanking IO is available.
- Parameters:
beam_type (BeamType)
- class BlankCommand(enable, inline=False)[source]¶
Triggers beam blanking. Pin assignment of blanking signals depends on your microscope specific pinout
- class DelayCommand(delay)[source]¶
Starts a counter, pausing execution of subsequent commands until the time is up. One unit of delay is one 48MHz clock cycle, or 20.83 ns.
- Parameters:
delay (u16)
- class RasterRegionCommand(x_range, y_range)[source]¶
Sets the region of the internal raster scanner module. Takes two DAC code ranges (X andas input.
- Parameters:
x_range (DACCodeRange)
y_range (DACCodeRange)
- class RasterPixelCommand(dwell_time, output_en=OutputEnable.Enabled)[source]¶
One pixel dwell value. The position at which this pixel is executed depends on the current
RasterRegionCommand.- Parameters:
dwell_time (DwellTime)
output_en (OutputEnable)
- class ArrayCommand(command, array_length)[source]¶
ArrayCommand allows compressing multiple payloads with the same header.
Example
Constructing an array of
RasterPixelCommand:cmds = bytearray() cmds.extend(bytes( ArrayCommand( command = RasterPixelCommand.header( output_en=OutputEnable.Enabled ), array_length = 6) )) dwells = [1,1,2,3,5,8] cmds.extend(struct.pack('>6H', *dwells))
The equivalent series of individual commands:
cmds = bytearray() dwells = [1,1,2,3,5,8] cmds.extend(bytes( RasterPixelCommand( output_en=OutputEnable.Enabled, dwell_time = dwell ), ))
- class RasterPixelRunCommand(length, dwell_time, output_en=OutputEnable.Enabled)[source]¶
One pixel dwell value, to be repeated for a specified length. The position at which these pixels are executed depends on the current
RasterRegionCommand.- Parameters:
length (u16)
dwell_time (DwellTime)
output_en (OutputEnable)
- class RasterPixelFreeRunCommand(dwell_time)[source]¶
One pixel dwell value, to be repeated indefinitely. The position at which these pixels are executed depends on the current
RasterRegionCommand.- Parameters:
dwell_time (DwellTime)