52fdcdd9f3
A mis-triggered row cannot be written as it arrived — v6 declares n_frames per row in the header and has no per-row length field, so a short or long row would shift every later row in the file. Until now the only policy was to square it up, which keeps the scan running but leaves the affected row indistinguishable from a good one afterwards: nothing in the file records that it was padded. strict_rows selects the other trade. On any frame-count mismatch the scan stops instead of writing the row, so a data run either produces rows that mean what the header says they mean or fails loudly. Default stays pad, so existing behaviour is unchanged. _warn_frame_delta becomes _check_frame_delta, since it now decides rather than just reports. Both acquisition paths already call it before writing anything for the row (CH1 leads SCAN_CHANNELS, and the burst path checks every row up front), so an abort leaves the file on a whole-row boundary rather than a half-written row — test_strict_row_packing_writes_nothing_for_the_failed_row pins that. Plumbed through QtScanController to a checkbox in the scan panel, persisted in ScanDefaults alongside burst_mode. scan_format.md documents both policies and notes that the choice is not recorded in the file. The row-clipping setup in the padding test is now a _clip_one_row helper, reused by the strict tests. 92 tests passing, ruff clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1084 lines
33 KiB
XML
Executable File
1084 lines
33 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>MainWindow</class>
|
|
<widget class="QMainWindow" name="MainWindow">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>1016</width>
|
|
<height>1184</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>MainWindow</string>
|
|
</property>
|
|
<widget class="QWidget" name="centralwidget">
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QLabel" name="label">
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed Medium</family>
|
|
<pointsize>36</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Scanengine3 - AUI</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_8">
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>16</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Geometry Data</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="3" column="3">
|
|
<widget class="QLabel" name="label_26">
|
|
<property name="text">
|
|
<string>Scan Save Directory:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QLineEdit" name="y_start_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QLineEdit" name="x_start_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>YS:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="4">
|
|
<widget class="QLineEdit" name="y_delta_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="3">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>YD:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="3">
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string>XD:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<widget class="QLineEdit" name="num_angles_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="label_25">
|
|
<property name="text">
|
|
<string>Scan File Prefix:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string>NumAngles:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>XS:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1" colspan="2">
|
|
<widget class="QLineEdit" name="scan_prefix_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>350</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="4">
|
|
<widget class="QLineEdit" name="row_spacing_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="3">
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string>RowSpacing:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="4">
|
|
<widget class="QLineEdit" name="x_delta_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<spacer name="horizontalSpacer_8">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="3" column="4" colspan="2">
|
|
<widget class="QLineEdit" name="scan_save_dir_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>350</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="6">
|
|
<widget class="QPushButton" name="save_dir_browse_btn">
|
|
<property name="text">
|
|
<string>Browse</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="5">
|
|
<spacer name="horizontalSpacer_7">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_16">
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>16</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Communication Settings:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="1" column="2">
|
|
<widget class="QPushButton" name="bbd202_connect_toggle">
|
|
<property name="text">
|
|
<string>Connect</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLineEdit" name="t3r_comport_edit"/>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLineEdit" name="bbd202_comport_edit"/>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<widget class="QPushButton" name="oscope_connect_toggle">
|
|
<property name="text">
|
|
<string>Connect</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_9">
|
|
<property name="text">
|
|
<string>T3R Port:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QPushButton" name="t3r_connect_toggle">
|
|
<property name="text">
|
|
<string>Connect</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_10">
|
|
<property name="text">
|
|
<string>BBD202 Port:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_22">
|
|
<property name="text">
|
|
<string>Oscilloscope IP Address:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QLineEdit" name="oscope_ip_edit"/>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_17">
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>16</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>T3RSL Manual Controls:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_3">
|
|
<item row="0" column="0">
|
|
<spacer name="horizontalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QPushButton" name="t3r_enable_t1_btn">
|
|
<property name="text">
|
|
<string>Enable T1</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2" alignment="Qt::AlignmentFlag::AlignHCenter">
|
|
<widget class="QPushButton" name="t3r_enable_t2_btn">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Enable T2</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="3">
|
|
<widget class="QPushButton" name="t3r_enable_t3_btn">
|
|
<property name="text">
|
|
<string>Enable T3</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="4">
|
|
<spacer name="horizontalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="label_12">
|
|
<property name="text">
|
|
<string>T1 Axis</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QLabel" name="label_13">
|
|
<property name="text">
|
|
<string>T2 Axis</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="3">
|
|
<widget class="QLabel" name="label_14">
|
|
<property name="text">
|
|
<string>T3 Axis</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QPushButton" name="jog_t1_up_btn">
|
|
<property name="text">
|
|
<string>Up</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="2" alignment="Qt::AlignmentFlag::AlignHCenter">
|
|
<widget class="QPushButton" name="jog_t2_up_btn">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Up</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="3">
|
|
<widget class="QPushButton" name="jog_t3_up_btn">
|
|
<property name="text">
|
|
<string>Up</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="2">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
<property name="sizeConstraint">
|
|
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="label_20">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>100</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Jog Speed:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="t3r_jog_speed_edit">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>75</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<widget class="QPushButton" name="jog_t1_down_btn">
|
|
<property name="text">
|
|
<string>Down</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="2" alignment="Qt::AlignmentFlag::AlignHCenter">
|
|
<widget class="QPushButton" name="jog_t2_down_btn">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>150</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Down</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="3">
|
|
<widget class="QPushButton" name="jog_t3_down_btn">
|
|
<property name="text">
|
|
<string>Down</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<widget class="QPushButton" name="jog_gr_ccw_btn">
|
|
<property name="text">
|
|
<string>CCW</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="2">
|
|
<widget class="QLabel" name="label_15">
|
|
<property name="text">
|
|
<string>GR Axis</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="3">
|
|
<widget class="QPushButton" name="jog_gr_cw_btn">
|
|
<property name="text">
|
|
<string>CW</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="4">
|
|
<widget class="QPushButton" name="t3r_enable_gr_btn">
|
|
<property name="text">
|
|
<string>Enable GR</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_t3r_current">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_t3r_cur_header">
|
|
<property name="text">
|
|
<string>Motor Current (mA):</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_t3r_cur_t1">
|
|
<property name="text">
|
|
<string>T1</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QSpinBox" name="t3r_current_t1_spin">
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>600</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QPushButton" name="t3r_set_current_t1_btn">
|
|
<property name="text">
|
|
<string>Set T1</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="label_t3r_cur_t2">
|
|
<property name="text">
|
|
<string>T2</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QSpinBox" name="t3r_current_t2_spin">
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>600</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QPushButton" name="t3r_set_current_t2_btn">
|
|
<property name="text">
|
|
<string>Set T2</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QLabel" name="label_t3r_cur_t3">
|
|
<property name="text">
|
|
<string>T3</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<widget class="QSpinBox" name="t3r_current_t3_spin">
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>600</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="2">
|
|
<widget class="QPushButton" name="t3r_set_current_t3_btn">
|
|
<property name="text">
|
|
<string>Set T3</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="3">
|
|
<widget class="QLabel" name="label_t3r_cur_gr">
|
|
<property name="text">
|
|
<string>GR</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="3">
|
|
<widget class="QSpinBox" name="t3r_current_gr_spin">
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>2000</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>600</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="3">
|
|
<widget class="QPushButton" name="t3r_set_current_gr_btn">
|
|
<property name="text">
|
|
<string>Set GR</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_18">
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>16</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>MLS203-1 Manual Controls:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_4">
|
|
<item row="0" column="4">
|
|
<widget class="QPushButton" name="bbd_enable_all_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>36</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Toggle Axes Enable</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<item>
|
|
<widget class="QLabel" name="label_19">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>100</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Jog Speed:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLineEdit" name="lineEdit_10">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>75</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="4" column="4" alignment="Qt::AlignmentFlag::AlignLeft">
|
|
<widget class="QLabel" name="bbd_current_y_position_indicator">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>170</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>220</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>24</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>000.00</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1" colspan="3">
|
|
<spacer name="horizontalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QPushButton" name="bbd_home_all_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>36</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Home All Axes</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2" alignment="Qt::AlignmentFlag::AlignHCenter">
|
|
<widget class="QPushButton" name="bbd_jog_y_pos_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>190</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>14</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Y+</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="0" alignment="Qt::AlignmentFlag::AlignRight">
|
|
<widget class="QLabel" name="label_21">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>130</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>12</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>X Position:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="1" alignment="Qt::AlignmentFlag::AlignLeft">
|
|
<widget class="QLabel" name="bbd_current_x_position_indicator">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>170</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>220</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<family>Noto Sans Condensed SemiBold</family>
|
|
<pointsize>24</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>000.00</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QPushButton" name="bbd_jog_x_neg_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>190</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>14</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>X-</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<spacer name="horizontalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="3" column="2" alignment="Qt::AlignmentFlag::AlignHCenter">
|
|
<widget class="QPushButton" name="bbd_jog_y_neg_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>190</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>14</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Y-</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="3">
|
|
<widget class="QPushButton" name="bbd_jog_x_pos_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>44</height>
|
|
</size>
|
|
</property>
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>190</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>14</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>X+</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="4">
|
|
<spacer name="horizontalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Orientation::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="4" column="3" alignment="Qt::AlignmentFlag::AlignRight">
|
|
<widget class="QLabel" name="label_23">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>130</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>12</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="text">
|
|
<string>Y Position:</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="0">
|
|
<widget class="QPushButton" name="bbd_set_current_start_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>36</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Set Current Coords as Start Coords</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="4">
|
|
<widget class="QPushButton" name="bbd_set_delta_current_btn">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>36</height>
|
|
</size>
|
|
</property>
|
|
<property name="text">
|
|
<string>Calculate Delta (Current - Start)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="show_camera_toggle">
|
|
<property name="text">
|
|
<string>Show Camera Window</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="show_helios_toggle">
|
|
<property name="text">
|
|
<string>Show Helios Panel</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="burst_mode_check">
|
|
<property name="toolTip">
|
|
<string>Acquire as many whole rows per FastFrame acquisition as the scope can hold, and transfer each burst in one CURVe? transaction. The stage trigger output is gated off for the flyback between rows.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Burst acquisition (multi-row FastFrame)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="strict_rows_check">
|
|
<property name="toolTip">
|
|
<string>Stop the scan if a row does not acquire the expected number of frames, instead of zero-padding a short row or truncating a long one. Use for data runs where a silently squared-up row would be worse than a failed scan.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Strict row packing (abort on frame-count mismatch)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="start_scan_btn">
|
|
<property name="text">
|
|
<string>Start Scanning</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
<tabstops>
|
|
<tabstop>x_start_edit</tabstop>
|
|
<tabstop>y_start_edit</tabstop>
|
|
<tabstop>x_delta_edit</tabstop>
|
|
<tabstop>y_delta_edit</tabstop>
|
|
<tabstop>num_angles_edit</tabstop>
|
|
<tabstop>row_spacing_edit</tabstop>
|
|
<tabstop>scan_prefix_edit</tabstop>
|
|
<tabstop>scan_save_dir_edit</tabstop>
|
|
<tabstop>save_dir_browse_btn</tabstop>
|
|
<tabstop>t3r_comport_edit</tabstop>
|
|
<tabstop>t3r_connect_toggle</tabstop>
|
|
<tabstop>bbd202_comport_edit</tabstop>
|
|
<tabstop>bbd202_connect_toggle</tabstop>
|
|
<tabstop>oscope_ip_edit</tabstop>
|
|
<tabstop>oscope_connect_toggle</tabstop>
|
|
<tabstop>t3r_enable_t1_btn</tabstop>
|
|
<tabstop>t3r_enable_t2_btn</tabstop>
|
|
<tabstop>t3r_enable_t3_btn</tabstop>
|
|
<tabstop>jog_t1_up_btn</tabstop>
|
|
<tabstop>jog_t2_up_btn</tabstop>
|
|
<tabstop>jog_t3_up_btn</tabstop>
|
|
<tabstop>t3r_jog_speed_edit</tabstop>
|
|
<tabstop>jog_t1_down_btn</tabstop>
|
|
<tabstop>jog_t2_down_btn</tabstop>
|
|
<tabstop>jog_t3_down_btn</tabstop>
|
|
<tabstop>jog_gr_ccw_btn</tabstop>
|
|
<tabstop>jog_gr_cw_btn</tabstop>
|
|
<tabstop>t3r_enable_gr_btn</tabstop>
|
|
<tabstop>t3r_current_t1_spin</tabstop>
|
|
<tabstop>t3r_set_current_t1_btn</tabstop>
|
|
<tabstop>t3r_current_t2_spin</tabstop>
|
|
<tabstop>t3r_set_current_t2_btn</tabstop>
|
|
<tabstop>t3r_current_t3_spin</tabstop>
|
|
<tabstop>t3r_set_current_t3_btn</tabstop>
|
|
<tabstop>t3r_current_gr_spin</tabstop>
|
|
<tabstop>t3r_set_current_gr_btn</tabstop>
|
|
<tabstop>bbd_enable_all_btn</tabstop>
|
|
<tabstop>lineEdit_10</tabstop>
|
|
<tabstop>bbd_home_all_btn</tabstop>
|
|
<tabstop>bbd_jog_y_pos_btn</tabstop>
|
|
<tabstop>bbd_jog_x_neg_btn</tabstop>
|
|
<tabstop>bbd_jog_y_neg_btn</tabstop>
|
|
<tabstop>bbd_jog_x_pos_btn</tabstop>
|
|
<tabstop>bbd_set_current_start_btn</tabstop>
|
|
<tabstop>bbd_set_delta_current_btn</tabstop>
|
|
<tabstop>show_camera_toggle</tabstop>
|
|
<tabstop>start_scan_btn</tabstop>
|
|
</tabstops>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|