diff --git a/.loglogin b/.loglogin index 35b1ec71154ea73fceccacd990fe2d2a27d612cb..e0ba8004f3c4eb8416494d9f8e61330794ad39e0 100644 --- a/.loglogin +++ b/.loglogin @@ -18,3 +18,4 @@ 03/27/2024 - 16:49:12 - ravioli 03/27/2024 - 16:49:47 - ravioli 03/27/2024 - 16:50:03 - ravioli +04/09/2024 - 08:10:01 - ravioli diff --git a/100idPyApp/Db/pyDevSBL.db b/100idPyApp/Db/pyDevSBL.db index 5289f663b632af8f387db39d3ecffe14745aa9f5..bdf045a58960ebe7283b17f3511e1b5a1f60f3b6 100644 --- a/100idPyApp/Db/pyDevSBL.db +++ b/100idPyApp/Db/pyDevSBL.db @@ -4,60 +4,112 @@ # ################################################################################ -record(busy, "$(P)$(INSTANCE):det0d:Acquire"){ + +record(sseq, "$(P)$(INSTANCE):det:FullTrigger"){ +# field(DO1, "1") +# field(LNK1, "$(P)$(INSTANCE):DimCalc.PROC PP") + field(STR2, "Set") + field(LNK2, "$(P)NDSA:NewArray PP") + field(STR3, "Acquire") + field(LNK3, "$(P)NDSA:Acquire PP") + field(STR4, "Acquiring") + field(LNK4, "$(P)$(INSTANCE):det:Acquire PP") +} + +record(acalcout, "$(P)$(INSTANCE):DimCalc") +{ + field(DTYP, "Soft Channel") + field(DESC, "Setting Dims of NDSA") + field(A, "$(XSIZE)") + field(B, "$(YSIZE)") + field(CALC, "ARR(A){0,0}+ARR(B)>>1") + field(SIZE, "NELM") + field(OUT, "$(P)$(NDSA):Dimensions PP NMS") + field(DISV, "1") + field(NELM, "2") +} + +record(busy, "$(P)$(INSTANCE):det:Acquire"){ field(ZNAM, "Done") field(ONAM, "Acquiring") } -record(calcout, "$(P)$(INSTANCE):det0d:triggerCalc") +record(calcout, "$(P)$(INSTANCE):det:triggerCalc") { - field(INPA, "$(P)$(INSTANCE):det0d:Acquire CP") + field(INPA, "$(P)$(INSTANCE):det:Acquire CP") field(CALC, "A") field(OOPT, "Transition To Non-zero") - field(OUT, "$(P)$(INSTANCE):det0d:triggerPyDEV.RVAL PP") -# field(FLNK, "$(P)$(INSTANCE):det0d:triggerPyDEV.PROC") + field(OUT, "$(P)$(INSTANCE):det:triggerPyDEV.RVAL PP") + field(FLNK, "$(P)$(INSTANCE):det:triggerPyDEV.PROC") } -record(bo, "$(P)$(INSTANCE):det0d:triggerPyDEV"){ +#TODO make XSIZE here a PV? And then same PV could be used for DimCalc +record(bo, "$(P)$(INSTANCE):det:triggerPyDEV"){ field(DTYP, "pydev") - field(OUT, "@$(OBJ).detectorUpdate()") + field(OUT, "@$(OBJ).detectorUpdate(zeroD = False, nbins=$(XSIZE))") } -record(ai, "$(P)$(INSTANCE):det0d:intensity"){ +record(ai, "$(P)$(INSTANCE):det:intensity"){ field(DTYP, "pydev") field(INP, "@pydev.iointr('new_intensity')") field(SCAN, "I/O Intr") field(PREC, "4") - field(FLNK, "$(P)$(INSTANCE):det0d:AcquireDone") + field(FLNK, "$(P)$(INSTANCE):det:AcquireDone") } -record(dfanout, "$(P)$(INSTANCE):det0d:AcquireDone"){ +record(dfanout, "$(P)$(INSTANCE):det:AcquireDone"){ field(DOL, "0") - field(OUTA, "$(P)$(INSTANCE):det0d:Acquire PP") + field(OUTA, "$(P)$(INSTANCE):det:Acquire PP") } ################################################################################ # # Detector: 2-d Image # -# TODO: once 0-d triggering sorted, can implement trigger setup for 2-d; will -# also need to sort NDSA chain so that pydev-produced flattened image -# can be piped in and treated as a AD-produced image # ################################################################################ -#!record(waveform, "$(P)$(INSTANCE):raw_image"){ -#! field(DTYP, "pydev") -#! field(INP, "@pydev.iointr('raw_image')") -#! field(SCAN, "I/O Intr") -#! field(PREC, "4") -#! field(NELM, "$(SIZE)") -#! field(FTVL, "$(TYPE)") -#! # Need to sort value type -#! # how to link to NDSA -#!} +record(waveform, "$(P)$(INSTANCE):raw_image"){ + field(DTYP, "pydev") + field(INP, "@pydev.iointr('raw_image')") + field(SCAN, "I/O Intr") + field(PREC, "4") + field(NELM, "$(SIZE)") + field(FTVL, "$(FTVL)") + field(FLNK, "$(P)$(INSTANCE):imageTransfer") +} +record(acalcout, "$(P)$(INSTANCE):imageTransfer") +{ + field(DTYP, "Soft Channel") + field(DESC, "") + field(INAA, "$(P)$(INSTANCE):raw_image") + field(CALC, "AA") + field(SIZE, "NELM") + field(OUT, "$(P)$(NDSA):ArrayIn PP NMS") + field(DISV, "1") + field(NELM, "$(SIZE)") +} + + +record(waveform, "$(P)$(INSTANCE):h_coord"){ + field(DTYP, "pydev") + field(INP, "@pydev.iointr('h_coord')") + field(SCAN, "I/O Intr") + field(PREC, "4") + field(NELM, "$(XSIZE)") + field(FTVL, "FLOAT") +} + +record(waveform, "$(P)$(INSTANCE):v_coord"){ + field(DTYP, "pydev") + field(INP, "@pydev.iointr('v_coord')") + field(SCAN, "I/O Intr") + field(PREC, "4") + field(NELM, "$(YSIZE)") + field(FTVL, "FLOAT") +} diff --git a/100idPyApp/op/ui/100idSBL.ui b/100idPyApp/op/ui/100idSBL.ui index e29b2d13d26dc86162d71f5ec1b8c5d791a4823f..e2c24ed2b4ff67b4b23dfa4db4c2b4d9981e5cbe 100644 --- a/100idPyApp/op/ui/100idSBL.ui +++ b/100idPyApp/op/ui/100idSBL.ui @@ -170,7 +170,7 @@ QTabBar::tab:selected QWidget[Fill="True"] { background: rgba(0,0,0,0); }</string> </property> <property name="currentIndex"> - <number>0</number> + <number>2</number> </property> <widget class="QWidget" name="tab"> <property name="Fill" stdset="0"> @@ -1850,10 +1850,10 @@ QWidget[Fill="True"] { background: rgba(0,0,0,0); }</string> <string>Simulator #1 General;Simulator #1 Specific;Simulator #1 Image;---;Simulator #2 General;Simulator #2 Specific;Simulator #2 Image</string> </property> <property name="files"> - <string>ADBase.ui;simDetector.ui;ad_cam_image.ui;;ADBase.ui;simDetector.ui;ad_cam_image.ui</string> + <string>ADBase.ui;simDetector.ui;ad_cam_image.ui</string> </property> <property name="args"> - <string>P=100idPySBL:, R=cam1:;P=100idPySBL:, R=cam1:;P=100idPySBL:, R=cam1:;;P=100idPySBL:, R=cam2:;P=100idPySBL:, R=cam2:;P=100idPySBL:, R=cam2:</string> + <string>P=100idPySBL:, R=SIM1:;P=100idPySBL:, R=SIM1:;P=100idPySBL:, R=SIM1:</string> </property> <property name="stackingMode" stdset="0"> <enum>caRowColMenu::Menu</enum> @@ -2273,9 +2273,9 @@ QWidget[Fill="True"] { background: rgba(0,0,0,0); }</string> </widget> </item> <item row="1" column="2"> - <widget class="caRelatedDisplay" name="carelateddisplay_13"> + <widget class="caRelatedDisplay" name="carelateddisplay_22"> <property name="label"> - <string notr="true">-</string> + <string notr="true">- NDSA AD </string> </property> <property name="foreground"> <color> @@ -2291,6 +2291,15 @@ QWidget[Fill="True"] { background: rgba(0,0,0,0); }</string> <blue>0</blue> </color> </property> + <property name="labels"> + <string>NDSA General;NDSA Specific;NDSA Image</string> + </property> + <property name="files"> + <string>ADBase_100idWYM.ui;NDDriverStdArrays_100idWYM.ui;ad_cam_image.ui</string> + </property> + <property name="args"> + <string>P=100idPySBL:, R=NDSA:;P=100idPySBL:, R=NDSA:;P=100idPySBL:, R=,IMAGE=image1</string> + </property> <property name="stackingMode" stdset="0"> <enum>caRowColMenu::Menu</enum> </property> diff --git a/100idPyApp/op/ui/ADBase_100idWYM.ui b/100idPyApp/op/ui/ADBase_100idWYM.ui new file mode 100644 index 0000000000000000000000000000000000000000..4d0d66bae574c6eb9073f2fbe46f1ac67d723ad1 --- /dev/null +++ b/100idPyApp/op/ui/ADBase_100idWYM.ui @@ -0,0 +1,327 @@ +<?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>715</width> + <height>970</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caGraphics" name="caRectangle_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>4</y> + <width>715</width> + <height>25</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caInclude" name="caInclude_0"> + <property name="geometry"> + <rect> + <x>6</x> + <y>35</y> + <width>350</width> + <height>340</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADSetup.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_1"> + <property name="geometry"> + <rect> + <x>360</x> + <y>35</y> + <width>350</width> + <height>165</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADShutter.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_2"> + <property name="geometry"> + <rect> + <x>360</x> + <y>855</y> + <width>350</width> + <height>110</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADAttrFile.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_3"> + <property name="geometry"> + <rect> + <x>5</x> + <y>850</y> + <width>350</width> + <height>60</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADDriverFile.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_4"> + <property name="geometry"> + <rect> + <x>5</x> + <y>465</y> + <width>350</width> + <height>380</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADReadout.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_5"> + <property name="geometry"> + <rect> + <x>360</x> + <y>205</y> + <width>350</width> + <height>480</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADCollect.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_6"> + <property name="geometry"> + <rect> + <x>5</x> + <y>380</y> + <width>350</width> + <height>80</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string notr="true">ADPlugins_100idWYM.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_7"> + <property name="geometry"> + <rect> + <x>360</x> + <y>690</y> + <width>350</width> + <height>160</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADBuffers.ui</string> + </property> + </widget> + <widget class="caLabel" name="caLabel_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>5</y> + <width>715</width> + <height>25</height> + </rect> + </property> + <property name="text"> + <string>Area Detector Control - $(P)$(R)</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caLabel</class> + <extends>QLabel</extends> + <header>caLabel</header> + </customwidget> + <customwidget> + <class>caGraphics</class> + <extends>QWidget</extends> + <header>caGraphics</header> + </customwidget> + <customwidget> + <class>caInclude</class> + <extends>QWidget</extends> + <header>caInclude</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/ADPlugins_100idWYM.ui b/100idPyApp/op/ui/ADPlugins_100idWYM.ui new file mode 100644 index 0000000000000000000000000000000000000000..ca672e2071c500a087d6fef650d7bd34709b8f93 --- /dev/null +++ b/100idPyApp/op/ui/ADPlugins_100idWYM.ui @@ -0,0 +1,630 @@ +<?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>350</width> + <height>80</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caLabel" name="caLabel_0"> + <property name="geometry"> + <rect> + <x>122</x> + <y>10</y> + <width>1</width> + <height>40</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>350</width> + <height>80</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="lineColor"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + <property name="background" stdset="0"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_1"> + <property name="geometry"> + <rect> + <x>120</x> + <y>2</y> + <width>107</width> + <height>21</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_1"> + <property name="geometry"> + <rect> + <x>140</x> + <y>3</y> + <width>70</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Plugins</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_2"> + <property name="geometry"> + <rect> + <x>90</x> + <y>29</y> + <width>40</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>File</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_3"> + <property name="geometry"> + <rect> + <x>230</x> + <y>29</y> + <width>30</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>ROI</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_0"> + <property name="geometry"> + <rect> + <x>135</x> + <y>29</y> + <width>64</width> + <height>20</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>netCDF file #1;TIFF file #1;TIFF file #2;TIFF file #3;TIFF file #4;JPEG file #1;NeXus file #1;Magick file #1;HDF5 file #1;HDF5 file #2;HDF5 file #3;HDF5 file #4;Null file #1</string> + </property> + <property name="files"> + <string>NDFileNetCDF.adl;NDFileTIFF.adl;NDFileTIFF.adl;NDFileTIFF.adl;NDFileTIFF.adl;NDFileJPEG.adl;NDFileNexus.adl;NDFileMagick.adl;NDFileHDF5.adl;NDFileHDF5.adl;NDFileHDF5.adl;NDFileHDF5.adl;NDFileNull.adl</string> + </property> + <property name="args"> + <string>P=$(P), R=netCDF1:, EXT=nc;P=$(P), R=TIFF1:, EXT=tif;P=$(P), R=TIFF2:, EXT=tif;P=$(P), R=TIFF3:, EXT=tif;P=$(P), R=TIFF4:, EXT=tif;P=$(P), R=JPEG1:, EXT=jpg;P=$(P), R=Nexus1:, EXT=h5;P=$(P), R=Magick1:, EXT=tif;P=$(P), R=HDF1:, EXT=h5;P=$(P), R=HDF2:, EXT=h5;P=$(P), R=HDF3:, EXT=h5;P=$(P), R=HDF4:, EXT=h5;P=$(P), R=Null1:, EXT=null</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false;false;false;false;false;false;false</string> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_1"> + <property name="geometry"> + <rect> + <x>265</x> + <y>29</y> + <width>64</width> + <height>20</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>ROI #1;ROI #2;ROI #3;ROI #4;ROI 1-4 combined</string> + </property> + <property name="files"> + <string>NDROI.adl;NDROI.adl;NDROI.adl;NDROI.adl;NDROI4.adl</string> + </property> + <property name="args"> + <string>P=$(P), R=ROI1:;P=$(P), R=ROI2:;P=$(P), R=ROI3:;P=$(P), R=ROI4:;P=$(P), R1=ROI1:,R2=ROI2:, R3=ROI3:,R4=ROI4:</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false;false;false;false;false</string> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_2"> + <property name="geometry"> + <rect> + <x>10</x> + <y>29</y> + <width>64</width> + <height>20</height> + </rect> + </property> + <property name="label"> + <string>-All</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>Common plugins</string> + </property> + <property name="files"> + <string>commonPlugins_100idWYM.ui</string> + </property> + <property name="args"> + <string>P=$(P)</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false</string> + </property> + </widget> + <widget class="caLabel" name="caLabel_4"> + <property name="geometry"> + <rect> + <x>10</x> + <y>55</y> + <width>50</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Stats</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_3"> + <property name="geometry"> + <rect> + <x>65</x> + <y>55</y> + <width>64</width> + <height>20</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>Statistics #1;Statistics #2;Statistics #3;Statistics #4;Statistics #5;Statistics 1-5</string> + </property> + <property name="files"> + <string>NDStats.ui;NDStats.ui;NDStats.ui;NDStats.ui;NDStats.ui;NDStats5.ui</string> + </property> + <property name="args"> + <string>P=$(P), R=Stats1:;P=$(P), R=Stats2:;P=$(P), R=Stats3:;P=$(P), R=Stats4:;P=$(P), R=Stats5:;P=$(P), R1=Stats1:,R2=Stats2:,R3=Stats3:,R4=Stats4:,R5=Stats5:</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false;false;false;false;false;false</string> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_4"> + <property name="geometry"> + <rect> + <x>177</x> + <y>55</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="label"> + <string>Other #1</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>Image #1;Pva #1;Process #1;Transform #1;Color convert #1;Color convert #2;Overlay #1;Overlays 1-8;Circular buffer #1;ROI Statistics #1;Attribute #1;FFT #1;Scatter #1;Gather #1;Codec #1;Codec #2</string> + </property> + <property name="files"> + <string>NDStdArrays.adl;NDPva.adl;NDProcess.adl;NDTransform.adl;NDColorConvert.adl;NDColorConvert.adl;NDOverlay.adl;NDOverlay8.adl;NDCircularBuff.adl;NDROIStat.adl;NDPluginAttribute.adl;NDFFT.adl;NDScatter.adl;NDGather8.adl;NDCodec.adl;NDCodec.adl</string> + </property> + <property name="args"> + <string>P=$(P), R=image1:;P=$(P), R=Pva1:;P=$(P), R=Proc1:;P=$(P), R=Trans1:;P=$(P), R=CC1:;P=$(P), R=CC2:;P=$(P), R=Over1:;P=$(P), R=Over1:,O1=Over1:1:,O2=Over1:2:,O3=Over1:3:,O4=Over1:4:,O5=Over1:5:,O6=Over1:6:,O7=Over1:7:,O8=Over1:8:;P=$(P), R=CB1:;P=$(P), R=ROIStat1:;P=$(P), R=Attr1:;P=$(P), R=FFT1:;P=$(P), R=Scatter1:;P=$(P), R=Gather1:;P=$(P), R=Codec1:;P=$(P), R=Codec2:</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false;false;false;false;false;false;false;false;false;false;false;false;false;false;false;false</string> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_5"> + <property name="geometry"> + <rect> + <x>264</x> + <y>55</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="label"> + <string>Other #2</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>Image #2;Scan #1;Acquire Sequence;devIocStats;Open CV #1;Edge #1</string> + </property> + <property name="files"> + <string>NDStdArrays.adl;scan_more.adl;yySseq.adl;ioc_stats_soft.adl;ADCompVision.adl;NDPluginEdge.adl</string> + </property> + <property name="args"> + <string>P=$(P), R=image2:;P=$(P), S=scan1, N=1;P=$(P), S=AcquireSequence;ioc=$(P);P=$(P), R=CV1:;P=$(P), R=Edge1:</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false;false;false;false;false;false</string> + </property> + </widget> + <zorder>caLabel_0</zorder> + <zorder>caRectangle_0</zorder> + <zorder>caRectangle_1</zorder> + <zorder>caLabel_1</zorder> + <zorder>caLabel_2</zorder> + <zorder>caLabel_3</zorder> + <zorder>caLabel_4</zorder> + <zorder>caRelatedDisplay_0</zorder> + <zorder>caRelatedDisplay_1</zorder> + <zorder>caRelatedDisplay_2</zorder> + <zorder>caRelatedDisplay_3</zorder> + <zorder>caRelatedDisplay_4</zorder> + <zorder>caRelatedDisplay_5</zorder> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caRelatedDisplay</class> + <extends>QWidget</extends> + <header>caRelatedDisplay</header> + </customwidget> + <customwidget> + <class>caLabel</class> + <extends>QLabel</extends> + <header>caLabel</header> + </customwidget> + <customwidget> + <class>caGraphics</class> + <extends>QWidget</extends> + <header>caGraphics</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/NDDriverStdArrays_100idWYM.ui b/100idPyApp/op/ui/NDDriverStdArrays_100idWYM.ui new file mode 100644 index 0000000000000000000000000000000000000000..a40fc6052d803921461eb0ab0d49498a8175fae2 --- /dev/null +++ b/100idPyApp/op/ui/NDDriverStdArrays_100idWYM.ui @@ -0,0 +1,3550 @@ +<?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>715</width> + <height>760</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caGraphics" name="caRectangle_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>4</y> + <width>715</width> + <height>25</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>5</y> + <width>715</width> + <height>25</height> + </rect> + </property> + <property name="text"> + <string>NDDriverStdArrays - $(P)$(R)</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caInclude" name="caInclude_0"> + <property name="geometry"> + <rect> + <x>5</x> + <y>35</y> + <width>352</width> + <height>342</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADSetup.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_1"> + <property name="geometry"> + <rect> + <x>360</x> + <y>645</y> + <width>352</width> + <height>112</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADAttrFile.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_2"> + <property name="geometry"> + <rect> + <x>5</x> + <y>380</y> + <width>352</width> + <height>82</height> + </rect> + </property> + <property name="macro"> + <string>P=$(P);</string> + </property> + <property name="filename" stdset="0"> + <string notr="true">ADPlugins_100idWYM.ui</string> + </property> + </widget> + <widget class="caInclude" name="caInclude_3"> + <property name="geometry"> + <rect> + <x>360</x> + <y>315</y> + <width>352</width> + <height>162</height> + </rect> + </property> + <property name="macro"> + <string/> + </property> + <property name="filename" stdset="0"> + <string>ADBuffers.ui</string> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_1"> + <property name="geometry"> + <rect> + <x>360</x> + <y>35</y> + <width>350</width> + <height>275</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="lineColor"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + <property name="background" stdset="0"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_2"> + <property name="geometry"> + <rect> + <x>483</x> + <y>37</y> + <width>105</width> + <height>21</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_1"> + <property name="geometry"> + <rect> + <x>500</x> + <y>38</y> + <width>70</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Collect</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_2"> + <property name="geometry"> + <rect> + <x>455</x> + <y>63</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string># Images</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_0"> + <property name="geometry"> + <rect> + <x>540</x> + <y>63</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NumImages</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_0"> + <property name="geometry"> + <rect> + <x>605</x> + <y>64</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NumImages_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_1"> + <property name="geometry"> + <rect> + <x>605</x> + <y>89</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NumImagesCounter_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_3"> + <property name="geometry"> + <rect> + <x>365</x> + <y>88</y> + <width>170</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string># Images complete</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_4"> + <property name="geometry"> + <rect> + <x>385</x> + <y>113</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Image mode</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_0"> + <property name="geometry"> + <rect> + <x>490</x> + <y>113</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ImageMode</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_2"> + <property name="geometry"> + <rect> + <x>615</x> + <y>115</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ImageMode_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_5"> + <property name="geometry"> + <rect> + <x>583</x> + <y>138</y> + <width>40</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Done</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>40</red> + <green>147</green> + <blue>21</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>40</red> + <green>147</green> + <blue>21</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + <property name="visibility"> + <enum>caLabel::IfZero</enum> + </property> + <property name="visibilityCalc"> + <string>A</string> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Acquire</string> + </property> + </widget> + <widget class="caLabel" name="caLabel_6"> + <property name="geometry"> + <rect> + <x>554</x> + <y>138</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Collecting</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>251</red> + <green>243</green> + <blue>74</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>251</red> + <green>243</green> + <blue>74</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + <property name="visibility"> + <enum>caLabel::IfNotZero</enum> + </property> + <property name="visibilityCalc"> + <string>A</string> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Acquire</string> + </property> + </widget> + <widget class="caMessageButton" name="caMessageButton_0"> + <property name="geometry"> + <rect> + <x>540</x> + <y>158</y> + <width>59</width> + <height>20</height> + </rect> + </property> + <property name="fontScaleMode"> + <enum>EPushButton::WidthAndHeight</enum> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Acquire</string> + </property> + <property name="label"> + <string>Start</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="pressMessage"> + <string>1</string> + </property> + <property name="colorMode"> + <enum>caMessageButton::Static</enum> + </property> + </widget> + <widget class="caMessageButton" name="caMessageButton_1"> + <property name="geometry"> + <rect> + <x>607</x> + <y>158</y> + <width>59</width> + <height>20</height> + </rect> + </property> + <property name="fontScaleMode"> + <enum>EPushButton::WidthAndHeight</enum> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Acquire</string> + </property> + <property name="label"> + <string>Stop</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="pressMessage"> + <string>0</string> + </property> + <property name="colorMode"> + <enum>caMessageButton::Static</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_7"> + <property name="geometry"> + <rect> + <x>465</x> + <y>158</y> + <width>70</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Acquire</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_8"> + <property name="geometry"> + <rect> + <x>395</x> + <y>183</y> + <width>140</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Detector state</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_3"> + <property name="geometry"> + <rect> + <x>540</x> + <y>183</y> + <width>158</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)DetectorState_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Alarm_Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_9"> + <property name="geometry"> + <rect> + <x>365</x> + <y>208</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Status</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_4"> + <property name="geometry"> + <rect> + <x>430</x> + <y>208</y> + <width>275</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)StatusMessage_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_1"> + <property name="geometry"> + <rect> + <x>540</x> + <y>233</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayCounter</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_10"> + <property name="geometry"> + <rect> + <x>405</x> + <y>233</y> + <width>130</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Image counter</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_5"> + <property name="geometry"> + <rect> + <x>605</x> + <y>234</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayCounter_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_11"> + <property name="geometry"> + <rect> + <x>435</x> + <y>258</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Image rate</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_6"> + <property name="geometry"> + <rect> + <x>540</x> + <y>259</y> + <width>100</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayRate_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_12"> + <property name="geometry"> + <rect> + <x>365</x> + <y>283</y> + <width>150</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Array callbacks</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_1"> + <property name="geometry"> + <rect> + <x>520</x> + <y>283</y> + <width>90</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayCallbacks</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_7"> + <property name="geometry"> + <rect> + <x>615</x> + <y>285</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayCallbacks_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_3"> + <property name="geometry"> + <rect> + <x>122</x> + <y>467</y> + <width>117</width> + <height>21</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_4"> + <property name="geometry"> + <rect> + <x>5</x> + <y>465</y> + <width>350</width> + <height>280</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="lineColor"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + <property name="background" stdset="0"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + </widget> + <widget class="caLabel" name="caLabel_13"> + <property name="geometry"> + <rect> + <x>101</x> + <y>468</y> + <width>159</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Readout</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_14"> + <property name="geometry"> + <rect> + <x>10</x> + <y>493</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string># Dimensions</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_2"> + <property name="geometry"> + <rect> + <x>135</x> + <y>493</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NDimensions</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_8"> + <property name="geometry"> + <rect> + <x>220</x> + <y>494</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NDimensions_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_15"> + <property name="geometry"> + <rect> + <x>30</x> + <y>544</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string># elements</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_9"> + <property name="geometry"> + <rect> + <x>135</x> + <y>545</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NumElements_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_16"> + <property name="geometry"> + <rect> + <x>10</x> + <y>569</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Next element</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_3"> + <property name="geometry"> + <rect> + <x>135</x> + <y>569</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NextElement</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_10"> + <property name="geometry"> + <rect> + <x>220</x> + <y>570</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NextElement_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_17"> + <property name="geometry"> + <rect> + <x>10</x> + <y>518</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Array size</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_11"> + <property name="geometry"> + <rect> + <x>169</x> + <y>519</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize1</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_12"> + <property name="geometry"> + <rect> + <x>124</x> + <y>519</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize0</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_13"> + <property name="geometry"> + <rect> + <x>214</x> + <y>519</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize2</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_14"> + <property name="geometry"> + <rect> + <x>259</x> + <y>519</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize3</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_15"> + <property name="geometry"> + <rect> + <x>304</x> + <y>519</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize4</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_16"> + <property name="geometry"> + <rect> + <x>135</x> + <y>720</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ColorMode_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_18"> + <property name="geometry"> + <rect> + <x>30</x> + <y>719</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Color mode</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_17"> + <property name="geometry"> + <rect> + <x>135</x> + <y>695</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)DataType_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_19"> + <property name="geometry"> + <rect> + <x>40</x> + <y>694</y> + <width>90</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Data type</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_20"> + <property name="geometry"> + <rect> + <x>10</x> + <y>669</y> + <width>180</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Image size (bytes)</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_18"> + <property name="geometry"> + <rect> + <x>195</x> + <y>670</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_21"> + <property name="geometry"> + <rect> + <x>10</x> + <y>644</y> + <width>110</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Actual size</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caFrame" name="caFrame_4"> + <property name="geometry"> + <rect> + <x>124</x> + <y>645</y> + <width>222</width> + <height>20</height> + </rect> + </property> + <widget class="caLineEdit" name="caLineEdit_19"> + <property name="geometry"> + <rect> + <x>45</x> + <y>0</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize1_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_20"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize0_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_21"> + <property name="geometry"> + <rect> + <x>90</x> + <y>0</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize2_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_22"> + <property name="geometry"> + <rect> + <x>135</x> + <y>0</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize3_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_23"> + <property name="geometry"> + <rect> + <x>180</x> + <y>0</y> + <width>40</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArraySize4_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + </widget> + <widget class="caLabel" name="caLabel_22"> + <property name="geometry"> + <rect> + <x>10</x> + <y>594</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Stride</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_4"> + <property name="geometry"> + <rect> + <x>135</x> + <y>594</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Stride</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_24"> + <property name="geometry"> + <rect> + <x>220</x> + <y>595</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)Stride_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_23"> + <property name="geometry"> + <rect> + <x>10</x> + <y>619</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Fill value</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_5"> + <property name="geometry"> + <rect> + <x>135</x> + <y>619</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)FillValue</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_25"> + <property name="geometry"> + <rect> + <x>220</x> + <y>620</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)FillValue_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_5"> + <property name="geometry"> + <rect> + <x>360</x> + <y>480</y> + <width>350</width> + <height>160</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="lineColor"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + <property name="background" stdset="0"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + </widget> + <widget class="caGraphics" name="caRectangle_6"> + <property name="geometry"> + <rect> + <x>495</x> + <y>482</y> + <width>80</width> + <height>21</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_24"> + <property name="geometry"> + <rect> + <x>510</x> + <y>483</y> + <width>50</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Other</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_25"> + <property name="geometry"> + <rect> + <x>385</x> + <y>510</y> + <width>110</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Append mode</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_26"> + <property name="geometry"> + <rect> + <x>365</x> + <y>535</y> + <width>130</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Callback mode</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_2"> + <property name="geometry"> + <rect> + <x>500</x> + <y>510</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)AppendMode</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caMenu" name="caMenu_3"> + <property name="geometry"> + <rect> + <x>500</x> + <y>535</y> + <width>100</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)CallbackMode</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_26"> + <property name="geometry"> + <rect> + <x>605</x> + <y>510</y> + <width>90</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)AppendMode_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caMessageButton" name="caMessageButton_2"> + <property name="geometry"> + <rect> + <x>450</x> + <y>560</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="fontScaleMode"> + <enum>EPushButton::WidthAndHeight</enum> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)DoCallbacks</string> + </property> + <property name="label"> + <string>Do callbacks</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="pressMessage"> + <string>1</string> + </property> + <property name="colorMode"> + <enum>caMessageButton::Static</enum> + </property> + </widget> + <widget class="caMessageButton" name="caMessageButton_3"> + <property name="geometry"> + <rect> + <x>450</x> + <y>585</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="fontScaleMode"> + <enum>EPushButton::WidthAndHeight</enum> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)NewArray</string> + </property> + <property name="label"> + <string>New array</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="pressMessage"> + <string>1</string> + </property> + <property name="colorMode"> + <enum>caMessageButton::Static</enum> + </property> + </widget> + <widget class="caMessageButton" name="caMessageButton_4"> + <property name="geometry"> + <rect> + <x>450</x> + <y>610</y> + <width>120</width> + <height>20</height> + </rect> + </property> + <property name="fontScaleMode"> + <enum>EPushButton::WidthAndHeight</enum> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)ArrayComplete</string> + </property> + <property name="label"> + <string>Array complete</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="pressMessage"> + <string>1</string> + </property> + <property name="colorMode"> + <enum>caMessageButton::Static</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_4"> + <property name="geometry"> + <rect> + <x>575</x> + <y>560</y> + <width>90</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string>$(P)$(R)DoCallbacksScan.SCAN</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <zorder>caRectangle_0</zorder> + <zorder>caLabel_0</zorder> + <zorder>caInclude_0</zorder> + <zorder>caInclude_1</zorder> + <zorder>caInclude_2</zorder> + <zorder>caInclude_3</zorder> + <zorder>caRectangle_1</zorder> + <zorder>caRectangle_2</zorder> + <zorder>caLabel_1</zorder> + <zorder>caLabel_2</zorder> + <zorder>caLabel_3</zorder> + <zorder>caLabel_4</zorder> + <zorder>caLabel_5</zorder> + <zorder>caLabel_6</zorder> + <zorder>caLabel_7</zorder> + <zorder>caLabel_8</zorder> + <zorder>caLabel_9</zorder> + <zorder>caLabel_10</zorder> + <zorder>caLabel_11</zorder> + <zorder>caLabel_12</zorder> + <zorder>caRectangle_3</zorder> + <zorder>caRectangle_4</zorder> + <zorder>caLabel_13</zorder> + <zorder>caLabel_14</zorder> + <zorder>caLabel_15</zorder> + <zorder>caLabel_16</zorder> + <zorder>caLabel_17</zorder> + <zorder>caLabel_18</zorder> + <zorder>caLabel_19</zorder> + <zorder>caLabel_20</zorder> + <zorder>caLabel_21</zorder> + <zorder>caFrame_4</zorder> + <zorder>caLabel_22</zorder> + <zorder>caLabel_23</zorder> + <zorder>caRectangle_5</zorder> + <zorder>caRectangle_6</zorder> + <zorder>caLabel_24</zorder> + <zorder>caLabel_25</zorder> + <zorder>caLabel_26</zorder> + <zorder>caTextEntry_0</zorder> + <zorder>caLineEdit_0</zorder> + <zorder>caLineEdit_1</zorder> + <zorder>caMenu_0</zorder> + <zorder>caLineEdit_2</zorder> + <zorder>caMessageButton_0</zorder> + <zorder>caMessageButton_1</zorder> + <zorder>caLineEdit_3</zorder> + <zorder>caLineEdit_4</zorder> + <zorder>caTextEntry_1</zorder> + <zorder>caLineEdit_5</zorder> + <zorder>caLineEdit_6</zorder> + <zorder>caMenu_1</zorder> + <zorder>caLineEdit_7</zorder> + <zorder>caTextEntry_2</zorder> + <zorder>caLineEdit_8</zorder> + <zorder>caLineEdit_9</zorder> + <zorder>caTextEntry_3</zorder> + <zorder>caLineEdit_10</zorder> + <zorder>caLineEdit_11</zorder> + <zorder>caLineEdit_12</zorder> + <zorder>caLineEdit_13</zorder> + <zorder>caLineEdit_14</zorder> + <zorder>caLineEdit_15</zorder> + <zorder>caLineEdit_16</zorder> + <zorder>caLineEdit_17</zorder> + <zorder>caLineEdit_18</zorder> + <zorder>caTextEntry_4</zorder> + <zorder>caLineEdit_24</zorder> + <zorder>caTextEntry_5</zorder> + <zorder>caLineEdit_25</zorder> + <zorder>caMenu_2</zorder> + <zorder>caMenu_3</zorder> + <zorder>caLineEdit_26</zorder> + <zorder>caMessageButton_2</zorder> + <zorder>caMessageButton_3</zorder> + <zorder>caMessageButton_4</zorder> + <zorder>caMenu_4</zorder> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caMenu</class> + <extends>QComboBox</extends> + <header>caMenu</header> + </customwidget> + <customwidget> + <class>caTextEntry</class> + <extends>caLineEdit</extends> + <header>caTextEntry</header> + </customwidget> + <customwidget> + <class>caMessageButton</class> + <extends>QPushButton</extends> + <header>caMessageButton</header> + </customwidget> + <customwidget> + <class>caFrame</class> + <extends>QFrame</extends> + <header>caFrame</header> + <container>1</container> + </customwidget> + <customwidget> + <class>caLabel</class> + <extends>QLabel</extends> + <header>caLabel</header> + </customwidget> + <customwidget> + <class>caGraphics</class> + <extends>QWidget</extends> + <header>caGraphics</header> + </customwidget> + <customwidget> + <class>caInclude</class> + <extends>QWidget</extends> + <header>caInclude</header> + </customwidget> + <customwidget> + <class>caLineEdit</class> + <extends>QLineEdit</extends> + <header>caLineEdit</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/commonPlugins_100idWYM.ui b/100idPyApp/op/ui/commonPlugins_100idWYM.ui new file mode 100644 index 0000000000000000000000000000000000000000..87097e83a7b51e961a44c10b9e27b1c1add6b691 --- /dev/null +++ b/100idPyApp/op/ui/commonPlugins_100idWYM.ui @@ -0,0 +1,555 @@ +<?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>935</width> + <height>584</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caGraphics" name="caRectangle_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>5</y> + <width>935</width> + <height>25</height> + </rect> + </property> + <property name="foreground"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="linestyle" stdset="0"> + <enum>caGraphics::Solid</enum> + </property> + <property name="fillstyle" stdset="0"> + <enum>caGraphics::Filled</enum> + </property> + <property name="lineColor"> + <color> + <red>218</red> + <green>218</green> + <blue>218</blue> + </color> + </property> + <property name="form"> + <enum>caGraphics::Rectangle</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_0"> + <property name="geometry"> + <rect> + <x>0</x> + <y>6</y> + <width>935</width> + <height>25</height> + </rect> + </property> + <property name="text"> + <string>$(P) Common Plugins</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_1"> + <property name="geometry"> + <rect> + <x>10</x> + <y>40</y> + <width>110</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Plugin name</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_2"> + <property name="geometry"> + <rect> + <x>150</x> + <y>40</y> + <width>110</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Plugin type</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_3"> + <property name="geometry"> + <rect> + <x>300</x> + <y>40</y> + <width>40</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Port</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_4"> + <property name="geometry"> + <rect> + <x>407</x> + <y>40</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Enable</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_5"> + <property name="geometry"> + <rect> + <x>525</x> + <y>40</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Blocking</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_6"> + <property name="geometry"> + <rect> + <x>800</x> + <y>40</y> + <width>40</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Rate</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_7"> + <property name="geometry"> + <rect> + <x>730</x> + <y>40</y> + <width>40</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Free</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caLabel" name="caLabel_8"> + <property name="geometry"> + <rect> + <x>615</x> + <y>40</y> + <width>70</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Dropped</string> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + <property name="fontScaleMode"> + <enum>ESimpleLabel::WidthAndHeight</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color alpha="0"> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + <widget class="caFrame" name="caframe"> + <property name="geometry"> + <rect> + <x>5</x> + <y>60</y> + <width>921</width> + <height>514</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="margin"> + <number>0</number> + </property> + <item> + <widget class="caInclude" name="cainclude"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>19</verstretch> + </sizepolicy> + </property> + <property name="macro"> + <string>P=$(P),R=image1,file=NDStdArrays;P=$(P)simDet:,R=image2,file=NDStdArrays;P=$(P)simDet:,R=image3,file=NDStdArrays;P=$(P)ndsa:,R=image4,file=NDStdArrays;P=$(P)ndsa:,R=image5,file=NDStdArrays;P=$(P)ndsa:,R=image6,file=NDStdArrays;P=$(P)ndsa:,R=image7,file=NDStdArrays;P=$(P),R=Proc1,file=NDProcess;P=$(P),R=Trans1,file=NDTransform;P=$(P),R=ROI1,file=NDROI;P=$(P),R=ROI2,file=NDROI;P=$(P),R=Stats1,file=NDStats;P=$(P),R=Stats2,file=NDStats;P=$(P),R=Stats3,file=NDStats;P=$(P),R=Stats4,file=NDStats;P=$(P),R=Stats5,file=NDStats;P=$(P),R=TIFF1,file=NDFileTIFF;P=$(P),R=HDF1,file=NDFileHDF5;P=$(P),R=netCDF1,file=NDFileNetCDF</string> + </property> + <property name="filename" stdset="0"> + <string notr="true">commonPlugins_base.ui</string> + </property> + <property name="numberOfItems" stdset="0"> + <number>19</number> + </property> + <property name="adjustSizeToContents" stdset="0"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="caInclude" name="cainclude_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>1</verstretch> + </sizepolicy> + </property> + <property name="macro"> + <string>P=100idWYM:simDet:,R=Attr1,file=NDPluginAttribute</string> + </property> + <property name="filename" stdset="0"> + <string notr="true">commonPlugins_base_ATTR.ui</string> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caFrame</class> + <extends>QFrame</extends> + <header>caFrame</header> + <container>1</container> + </customwidget> + <customwidget> + <class>caLabel</class> + <extends>QLabel</extends> + <header>caLabel</header> + </customwidget> + <customwidget> + <class>caGraphics</class> + <extends>QWidget</extends> + <header>caGraphics</header> + </customwidget> + <customwidget> + <class>caInclude</class> + <extends>QWidget</extends> + <header>caInclude</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/commonPlugins_base.ui b/100idPyApp/op/ui/commonPlugins_base.ui new file mode 100644 index 0000000000000000000000000000000000000000..3353e1bc630081af929cba6c0e46417dd4a03be3 --- /dev/null +++ b/100idPyApp/op/ui/commonPlugins_base.ui @@ -0,0 +1,591 @@ +<?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>935</width> + <height>36</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caLineEdit" name="caLineEdit_0"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>110</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):PortName_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_1"> + <property name="geometry"> + <rect> + <x>125</x> + <y>10</y> + <width>160</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):PluginType_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_0"> + <property name="geometry"> + <rect> + <x>290</x> + <y>9</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):NDArrayPort</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_0"> + <property name="geometry"> + <rect> + <x>355</x> + <y>9</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):EnableCallbacks</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_2"> + <property name="geometry"> + <rect> + <x>440</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):EnableCallbacks_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>70</red> + <green>70</green> + <blue>70</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Alarm_Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_1"> + <property name="geometry"> + <rect> + <x>525</x> + <y>9</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):BlockingCallbacks</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_0"> + <property name="geometry"> + <rect> + <x>865</x> + <y>9</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="label"> + <string>More</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>$(R):;$(R):</string> + </property> + <property name="files"> + <string>$(file).ui;$(file).ui</string> + </property> + <property name="args"> + <string>P=$(P),R=$(R):;P=$(P),R=$(R):</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false</string> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_3"> + <property name="geometry"> + <rect> + <x>780</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):ArrayRate_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_4"> + <property name="geometry"> + <rect> + <x>695</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):QueueFree</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>70</red> + <green>70</green> + <blue>70</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Alarm_Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_5"> + <property name="geometry"> + <rect> + <x>610</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):DroppedArrays_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caMenu</class> + <extends>QComboBox</extends> + <header>caMenu</header> + </customwidget> + <customwidget> + <class>caRelatedDisplay</class> + <extends>QWidget</extends> + <header>caRelatedDisplay</header> + </customwidget> + <customwidget> + <class>caTextEntry</class> + <extends>caLineEdit</extends> + <header>caTextEntry</header> + </customwidget> + <customwidget> + <class>caLineEdit</class> + <extends>QLineEdit</extends> + <header>caLineEdit</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/commonPlugins_base_ATTR.ui b/100idPyApp/op/ui/commonPlugins_base_ATTR.ui new file mode 100644 index 0000000000000000000000000000000000000000..b463f11748324c99292ca76e59a8b6a5e0e9439b --- /dev/null +++ b/100idPyApp/op/ui/commonPlugins_base_ATTR.ui @@ -0,0 +1,591 @@ +<?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>935</width> + <height>36</height> + </rect> + </property> + <property name="styleSheet"> + <string> + +QWidget#centralWidget {background: rgba(187, 187, 187, 255);} + +caTable { + font: 10pt; + background: cornsilk; + alternate-background-color: wheat; +} + +caLineEdit { + border-radius: 1px; + background: lightyellow; + color: black; + } + +caTextEntry { + color: rgb(127, 0, 63); + background-color: cornsilk; + selection-color: #0a214c; + selection-background-color: wheat; + border: 1px groove black; + border-radius: 1px; + padding: 1px; +} + +caTextEntry:focus { + padding: 0px; + border: 2px groove darkred; + border-radius: 1px; +} + +QPushButton { + border-color: #00b; + border-radius: 2px; + padding: 3px; + border-width: 1px; + + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(224, 239, 255, 255), + stop:0.5 rgba(199, 215, 230, 255), + stop:1 rgba(184, 214, 236, 255)); +} +QPushButton:hover { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(201, 226, 255, 255), + stop:0.5 rgba(177, 204, 230, 255), + stop:1 rgba(163, 205, 236, 255)); +} +QPushButton:pressed { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +QPushButton:disabled { + background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, + stop:0 rgba(174, 219, 255, 255), + stop:0.5 rgba(165, 199, 230, 255), + stop:1 rgba(134, 188, 236, 255)); +} + +caChoice { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, + stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); +} + +caChoice > QPushButton { + text-align: left; + padding: 1px; +} + +caSlider::groove:horizontal { +border: 1px solid #bbb; +background: lightgrey; +height: 20px; +border-radius: 4px; +} + +caSlider::handle:horizontal { +background: red; +border: 1px solid #777; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 2px; +} + + + +</string> + </property> + <widget class="QWidget" name="centralWidget"> + <widget class="caLineEdit" name="caLineEdit_0"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>110</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):PortName_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_1"> + <property name="geometry"> + <rect> + <x>125</x> + <y>10</y> + <width>160</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):PluginType_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caTextEntry" name="caTextEntry_0"> + <property name="geometry"> + <rect> + <x>290</x> + <y>9</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):NDArrayPort</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_0"> + <property name="geometry"> + <rect> + <x>355</x> + <y>9</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):EnableCallbacks</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_2"> + <property name="geometry"> + <rect> + <x>440</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):EnableCallbacks_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>70</red> + <green>70</green> + <blue>70</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Alarm_Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::string</enum> + </property> + </widget> + <widget class="caMenu" name="caMenu_1"> + <property name="geometry"> + <rect> + <x>525</x> + <y>9</y> + <width>80</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):BlockingCallbacks</string> + </property> + <property name="colorMode"> + <enum>caMenu::Static</enum> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + </widget> + <widget class="caRelatedDisplay" name="caRelatedDisplay_0"> + <property name="geometry"> + <rect> + <x>865</x> + <y>9</y> + <width>60</width> + <height>20</height> + </rect> + </property> + <property name="label"> + <string>More</string> + </property> + <property name="foreground"> + <color> + <red>0</red> + <green>0</green> + <blue>0</blue> + </color> + </property> + <property name="background"> + <color> + <red>115</red> + <green>223</green> + <blue>255</blue> + </color> + </property> + <property name="labels"> + <string>$(R):;Attributes 1-8</string> + </property> + <property name="files"> + <string>$(file).ui;NDPluginAttribute8.ui</string> + </property> + <property name="args"> + <string>P=$(P),R=$(R):;P=$(P),R=$(R):,A1=1:,A2=2:,A3=3:,A4=4:,A5=5:,A6=6:,A7=7:,A8=8:</string> + </property> + <property name="stackingMode" stdset="0"> + <enum>caRowColMenu::Menu</enum> + </property> + <property name="removeParent" stdset="0"> + <string>false</string> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_3"> + <property name="geometry"> + <rect> + <x>780</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):ArrayRate_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_4"> + <property name="geometry"> + <rect> + <x>695</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):QueueFree</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>70</red> + <green>70</green> + <blue>70</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Alarm_Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + <widget class="caLineEdit" name="caLineEdit_5"> + <property name="geometry"> + <rect> + <x>610</x> + <y>10</y> + <width>80</width> + <height>18</height> + </rect> + </property> + <property name="alignment"> + <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set> + </property> + <property name="channel" stdset="0"> + <string notr="true">$(P)$(R):DroppedArrays_RBV</string> + </property> + <property name="foreground"> + <color> + <red>10</red> + <green>0</green> + <blue>184</blue> + </color> + </property> + <property name="background"> + <color> + <red>187</red> + <green>187</green> + <blue>187</blue> + </color> + </property> + <property name="colorMode"> + <enum>caLineEdit::Static</enum> + </property> + <property name="precisionMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="limitsMode"> + <enum>caLineEdit::Channel</enum> + </property> + <property name="maxValue"> + <double>1.000000000000000</double> + </property> + <property name="minValue"> + <double>0.000000000000000</double> + </property> + <property name="fontScaleMode" stdset="0"> + <enum>caLineEdit::WidthAndHeight</enum> + </property> + <property name="formatType"> + <enum>caLineEdit::decimal</enum> + </property> + </widget> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caMenu</class> + <extends>QComboBox</extends> + <header>caMenu</header> + </customwidget> + <customwidget> + <class>caRelatedDisplay</class> + <extends>QWidget</extends> + <header>caRelatedDisplay</header> + </customwidget> + <customwidget> + <class>caTextEntry</class> + <extends>caLineEdit</extends> + <header>caTextEntry</header> + </customwidget> + <customwidget> + <class>caLineEdit</class> + <extends>QLineEdit</extends> + <header>caLineEdit</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/100idPyApp/op/ui/pydev_sbl.ui b/100idPyApp/op/ui/pydev_sbl.ui index e6a5d21cf5171686adf0f49f396bd4037f43a238..9b39968524ef887c3a153d40a504420bede37e59 100644 --- a/100idPyApp/op/ui/pydev_sbl.ui +++ b/100idPyApp/op/ui/pydev_sbl.ui @@ -222,7 +222,7 @@ </sizepolicy> </property> <property name="channel" stdset="0"> - <string notr="true">$(P)$(INSTANCE):det0d:Acquire</string> + <string notr="true">$(P)$(INSTANCE):det:FullTrigger.PROC</string> </property> <property name="label"> <string notr="true">Acquire</string> @@ -259,7 +259,7 @@ <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </property> <property name="channel" stdset="0"> - <string notr="true">$(P)$(INSTANCE):det0d:Acquire</string> + <string notr="true">$(P)$(INSTANCE):det:Acquire</string> </property> <property name="foreground"> <color> @@ -329,7 +329,7 @@ <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </property> <property name="channel" stdset="0"> - <string notr="true">$(P)$(INSTANCE):det0d:intensity</string> + <string notr="true">$(P)$(INSTANCE):det:intensity</string> </property> <property name="foreground"> <color> diff --git a/100idPyApp/python/__pycache__/beamline_29.cpython-311.pyc b/100idPyApp/python/__pycache__/beamline_29.cpython-311.pyc index 9ec32a4b232b6510b15dd781b0e837273c8b1df7..5030551bc954af7e1c78277c288ccf0337741a89 100644 Binary files a/100idPyApp/python/__pycache__/beamline_29.cpython-311.pyc and b/100idPyApp/python/__pycache__/beamline_29.cpython-311.pyc differ diff --git a/100idPyApp/python/__pycache__/pyDevSBL.cpython-311.pyc b/100idPyApp/python/__pycache__/pyDevSBL.cpython-311.pyc index 52b2fc5b7469ada5caba3dfee2e51314e5318a2d..dd8669e64ba2b07322f892c8a1e6d1d1dbc2b9c0 100644 Binary files a/100idPyApp/python/__pycache__/pyDevSBL.cpython-311.pyc and b/100idPyApp/python/__pycache__/pyDevSBL.cpython-311.pyc differ diff --git a/100idPyApp/python/pyDevSBL.py b/100idPyApp/python/pyDevSBL.py index ccabc42ac7a6645f8895cad539561adc72e9cbd7..6a186086d0181927d7425368c565d09d2e570bf8 100644 --- a/100idPyApp/python/pyDevSBL.py +++ b/100idPyApp/python/pyDevSBL.py @@ -1,8 +1,6 @@ import numpy as np import os -IMAGE = False - class surrogateBL(): def __init__(self, beamline): @@ -38,7 +36,7 @@ class surrogateBL(): if self.verbose: print(f'Setting complete') - def detectorUpdate(self): + def detectorUpdate(self, zeroD = True, nbins = 64): ''' Update detector(s) ''' @@ -50,18 +48,28 @@ class surrogateBL(): # Trigger ray tracing if self.verbose: print(f'Running Shadow simulation') - results = self.beamline.run() + if zeroD: + results = self.beamline.run() + else: + results = self.beamline.run(nbins = nbins, nolost=1) if self.verbose: print(f'Run complete') print(f'Results: {results}') + + if zeroD: + self.intensity = int(results) + pydev.iointr('new_intensity', self.intensity) + else: + self.image_data = results['histogram'] + self.flattened_data = self.image_data.flatten() # need to flatten for waveform + self.h_edges = results['bin_h_edges'] + self.v_edges = results['bin_v_edges'] + pydev.iointr('raw_image', self.flattened_data.tolist()) + pydev.iointr('h_coord', self.h_edges.tolist()) + pydev.iointr('v_coord', self.v_edges.tolist()) + self.intensity = int(results['good_rays']) + pydev.iointr('new_intensity', self.intensity) - pydev.iointr('new_intensity', int(results)) - - if IMAGE: - image_data = np.zeros(128,128) # need to add screen to shadow simulation - flattened_data = image_date.flatten() # need to flatten for waveform - pydev.iointr('raw_image', flattened_data) - def updateVerbosity(self, verbosity): ''' Turn on minor printing diff --git a/configure/RELEASE b/configure/RELEASE index cc6313d2e7bd96e4b46b5a4cff737f30021508f7..206e29cbe62a870b38de781f1c9575fa5ce89411 100644 --- a/configure/RELEASE +++ b/configure/RELEASE @@ -38,6 +38,7 @@ EPICS_BASE=/APSshare/epics/base-7.0.8 #FLY = $(SUPPORT)/../nonSynAppsSupport/fly-0-0 PYDEVICE=$(LOCAL_SUPPORT)/PyDevice-git NDDRIVERSTDARRAYS=$(AREA_DETECTOR)/NDDriverStdArrays +ADSIMDETECTOR=$(AREA_DETECTOR)/ADSimDetector # For a local, custom configuration; copy $(SUPPORT)/configure/RELEASE # to this directory as the file MASTER_RELEASE, edit the file, comment out diff --git a/iocBoot/.iocsh_history b/iocBoot/.iocsh_history new file mode 100644 index 0000000000000000000000000000000000000000..47a88ebf85c156386ecca94eb4f4cbb20c5d2e8f --- /dev/null +++ b/iocBoot/.iocsh_history @@ -0,0 +1,52 @@ +#set_requestfile_path("$(ADPLUGINEDGE)/db") +# Optional: load NDPluginCV plugin +#NDCVConfigure("CV1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) +#dbLoadRecords("$(ADCOMPVISION)/db/NDCV.template", "P=$(PREFIX),R=CV1:, PORT=CV1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +#set_requestfile_path("$(ADCOMPVISION)/adcvApp/Db") +# Optional: load NDPluginBar plugin +#NDBarConfigure("BAR1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) +#dbLoadRecords("$(ADPLUGINBAR)/db/NDBar.template", "P=$(PREFIX),R=Bar1:, PORT=BAR1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +#set_requestfile_path("$(ADPLUGINBAR)/barApp/Db") +# Optional: load scan records +#dbLoadRecords("$(SSCAN)/sscanApp/Db/scan.db", "P=$(PREFIX),MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20,MAXPTS4=10,MAXPTSH=10") +#set_requestfile_path("$(SSCAN)/sscanApp/Db") +# Optional: load sseq record for acquisition sequence +#dbLoadRecords("$(CALC)/calcApp/Db/sseqRecord.db", "P=$(PREFIX), S=AcquireSequence") +#set_requestfile_path("$(CALC)/calcApp/Db") +# Optional: load devIocStats records (requires DEVIOCSTATS module) +#dbLoadRecords("$(DEVIOCSTATS)/db/iocAdminSoft.db", "IOC=$(PREFIX)") +# Optional: load alive record (requires ALIVE module) +#dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),RHOST=164.54.100.11") +# Set the callback queue size to 5000, up from default of 2000 in base. +# This can be needed to avoid errors "callbackRequest: cbLow ring buffer full". +callbackSetQueueSize(5000) +#- INSTANCE - Used for Camera Port Name and detector pv name +#- XSIZE - Image Width +#- YSIZE - Image Height +#- TYPE - Image Datatype, default: Int8 +epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(EPICS_DB_INCLUDE_PATH):$(ADCORE)/db:$(ADSIMDETECTOR)/db") +# Create a simDetector driver, need to determine index from data type +iocshRun('simDetectorConfig("$(INSTANCE)", $(XSIZE), $(YSIZE), $($(TYPE=Int8)_VAL), 50, 0)', "Int8_VAL=0, UInt8_VAL=1, Int16_VAL=2, UInt16_VAL=3, Int32_VAL=4, UInt32_VAL=5, Float32_VAL=6, Float64_VAL=7") +dbLoadRecords("$(ADSIMDETECTOR)/db/simDetector.template","P=$(PREFIX),R=$(INSTANCE):,PORT=$(INSTANCE),ADDR=0,TIMEOUT=1") +# Create a standard arrays plugin, set it to get data from first simDetector driver. +NDStdArraysConfigure("$(INSTANCE)Image", 3, 0, "$(INSTANCE)", 0, 2000000) +# Need to determine certain values from input parameters +iocshRun('epicsEnvSet("__FTVL", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=UCHAR, UInt8_VAL=UCHAR, Int16_VAL=SHORT, UInt16_VAL=SHORT, Int32_VAL=LONG, UInt32_VAL=LONG, Float32_VAL=DOUBLE, Float64_VAL=DOUBLE") +iocshRun('epicsEnvSet("__TYPE", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=Int8, UInt8_VAL=Int8, Int16_VAL=Int16, UInt16_VAL=Int16, Int32_VAL=Int32, UInt32_VAL=Int32, Float32_VAL=Float32, Float64_VAL=Float64") +luaCmd("epicsEnvSet('__SIZE', tostring((XSIZE*YSIZE)|0))", "XSIZE=$(XSIZE), YSIZE=$(YSIZE)") +dbLoadRecords("$(ADCORE)/ADApp/Db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=$(INSTANCE)Image,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(INSTANCE),TYPE=$(__TYPE),FTVL=$(__FTVL),NELEMENTS=$(__SIZE)") +epicsEnvUnset("__FTVL") +epicsEnvUnset("__TYPE") +epicsEnvUnset("__SIZE") +#! iocshLoad("$(ADCORE)/iocBoot/commonPlugins.cmd", "PREFIX=$(PREFIX), PORT=$(INSTANCE), QSIZE=20, XSIZE=$(XSIZE), YSIZE=$(YSIZE), NCHANS=1024, CBUFFS=20, MAX_THREADS=5") +############################################################################### +iocInit +############################################################################### +# write all the PV names to a local file +dbl > dbl-all.txt +# Diagnostic: CA links in all records +dbcar(0,1) +# print the time our boot was finished +date +cd .. +exit diff --git a/iocBoot/ioc100idPySBL/.iocsh_history b/iocBoot/ioc100idPySBL/.iocsh_history index 06251d5e357a4f0668eaf61644981a31551ff6cf..c6beecd1a4a776740a778a3e78d263d0979ac625 100644 --- a/iocBoot/ioc100idPySBL/.iocsh_history +++ b/iocBoot/ioc100idPySBL/.iocsh_history @@ -1,658 +1,43 @@ -epicsEnvSet("ETHERIP","/APSshare/epics/synApps_6_3/support/ether_ip-ether_ip-3-3") -epicsEnvSet("GALIL","/APSshare/epics/synApps_6_3/support/Galil-3-0-V3-5") -epicsEnvSet("IP","/APSshare/epics/synApps_6_3/support/ip-R2-22") -epicsEnvSet("IP330","/APSshare/epics/synApps_6_3/support/ip330-R2-10") -epicsEnvSet("IPAC","/APSshare/epics/synApps_6_3/support/ipac-2-16") -epicsEnvSet("IPUNIDIG","/APSshare/epics/synApps_6_3/support/ipUnidig-R2-12") -epicsEnvSet("LABJACK","/APSshare/epics/synApps_6_3/support/LabJack-R3-0") -epicsEnvSet("LOVE","/APSshare/epics/synApps_6_3/support/love-R3-2-9") -epicsEnvSet("LUA","/APSshare/epics/synApps_6_3/support/lua-R3-1") -epicsEnvSet("MCA","/APSshare/epics/synApps_6_3/support/mca-R7-10") -epicsEnvSet("MEASCOMP","/APSshare/epics/synApps_6_3/support/measComp-R4-2") -epicsEnvSet("MODBUS","/APSshare/epics/synApps_6_3/support/modbus-R3-3") -epicsEnvSet("MOTOR","/APSshare/epics/synApps_6_3/support/motor-R7-3-1") -epicsEnvSet("OPTICS","/APSshare/epics/synApps_6_3/support/optics-R2-14") -epicsEnvSet("QUADEM","/APSshare/epics/synApps_6_3/support/quadEM-R9-5") -epicsEnvSet("SCALER","/APSshare/epics/synApps_6_3/support/scaler-4-1") -epicsEnvSet("SNCSEQ","/APSshare/epics/synApps_6_3/support/sequencer-mirror-R2-2-9") -epicsEnvSet("SOFTGLUE","/APSshare/epics/synApps_6_3/support/softGlue-R2-8-4") -epicsEnvSet("SOFTGLUEZYNQ","/APSshare/epics/synApps_6_3/support/softGlueZynq-R2-0-5") -epicsEnvSet("SSCAN","/APSshare/epics/synApps_6_3/support/sscan-R2-11-6") -epicsEnvSet("STD","/APSshare/epics/synApps_6_3/support/std-R3-6-4") -epicsEnvSet("STREAM","/APSshare/epics/synApps_6_3/support/StreamDevice-2-8-24") -epicsEnvSet("VAC","/APSshare/epics/synApps_6_3/support/vac-R1-9-2") -epicsEnvSet("VME","/APSshare/epics/synApps_6_3/support/vme-R2-9-5") -epicsEnvSet("XSPRESS3","/APSshare/epics/synApps_6_3/support/xspress3-3-2-8") -epicsEnvSet("XXX","/APSshare/epics/synApps_6_3/support/xxx-R6-3") -epicsEnvSet("YOKOGAWA_DAS","/APSshare/epics/synApps_6_3/support/Yokogawa_DAS-R2-0-2") -epicsEnvSet("ALLENBRADLEY","/APSshare/epics/synApps_6_3/support/allenBradley-2-3") -epicsEnvSet("ADCORE","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADCore") -epicsEnvSet("ADSUPPORT","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADSupport") -epicsEnvSet("ULDAQ","/APSshare/epics/synApps_6_3/support/measComp-R4-2/libuldaq-1.2.1") -epicsEnvSet("PYDEVICE","/net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-git") -epicsEnvSet("NDDRIVERSTDARRAYS","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/NDDriverStdArrays") -# Shell prompt -epicsEnvSet("IOCSH_PS1", "$(IOC)> ") -# prefix used for all PVs in this IOC -epicsEnvSet("PREFIX", "100idPySBL:") -#For devIocStats -epicsEnvSet("ENGINEER", "M. Wyman") -epicsEnvSet("LOCATION", "100id") -epicsEnvSet("GROUP", "BCDA") -# search path for database files -epicsEnvSet("EPICS_DB_INCLUDE_PATH", ".") -# search path for streamDevice protocol files -epicsEnvSet("STREAM_PROTOCOL_PATH", ".") -# search path for lua scripts -# epicsEnvSet("LUA_SCRIPT_PATH", "./scripts") -# Specify largest array CA will transport -# Note for N doubles, need N*8 bytes+some overhead -epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", 64010) -< common.iocsh -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -# Linux startup script -< envPaths -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -epicsEnvSet("IOC","ioc100idPySBL") -epicsEnvSet("TOP","/net/s100dserv/xorApps/epics/synApps_6_3/ioc/100idPy") -epicsEnvSet("SUPPORT","/APSshare/epics/synApps_6_3/support") -epicsEnvSet("LOCAL_SUPPORT","/net/s100dserv/xorApps/epics/synApps_6_3/support") -epicsEnvSet("EPICS_BASE","/APSshare/epics/base-7.0.8") -epicsEnvSet("ALIVE","/APSshare/epics/synApps_6_3/support/alive-R1-4-1") -epicsEnvSet("AREA_DETECTOR","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13") -epicsEnvSet("ASYN","/APSshare/epics/synApps_6_3/support/asyn-R4-44-2") -epicsEnvSet("AUTOSAVE","/APSshare/epics/synApps_6_3/support/autosave-R5-11") -epicsEnvSet("BUSY","/APSshare/epics/synApps_6_3/support/busy-R1-7-4") -epicsEnvSet("CALC","/APSshare/epics/synApps_6_3/support/calc-R3-7-5") -epicsEnvSet("CAMAC","/APSshare/epics/synApps_6_3/support/camac-R2-7-5") -epicsEnvSet("CAPUTRECORDER","/APSshare/epics/synApps_6_3/support/caputRecorder-R1-7-6") -epicsEnvSet("DAC128V","/APSshare/epics/synApps_6_3/support/dac128V-R2-10-1") -epicsEnvSet("DANTE","/APSshare/epics/synApps_6_3/support/Dante-R1-1") -epicsEnvSet("DELAYGEN","/APSshare/epics/synApps_6_3/support/delaygen-R1-2-4") -epicsEnvSet("DEVIOCSTATS","/APSshare/epics/synApps_6_3/support/iocStats-3-1-16") -epicsEnvSet("DXP","/APSshare/epics/synApps_6_3/support/dxp-R6-1") -epicsEnvSet("DXPSITORO","/APSshare/epics/synApps_6_3/support/dxpSITORO-R1-3") -epicsEnvSet("ETHERIP","/APSshare/epics/synApps_6_3/support/ether_ip-ether_ip-3-3") -epicsEnvSet("GALIL","/APSshare/epics/synApps_6_3/support/Galil-3-0-V3-5") -epicsEnvSet("IP","/APSshare/epics/synApps_6_3/support/ip-R2-22") -epicsEnvSet("IP330","/APSshare/epics/synApps_6_3/support/ip330-R2-10") -epicsEnvSet("IPAC","/APSshare/epics/synApps_6_3/support/ipac-2-16") -epicsEnvSet("IPUNIDIG","/APSshare/epics/synApps_6_3/support/ipUnidig-R2-12") -epicsEnvSet("LABJACK","/APSshare/epics/synApps_6_3/support/LabJack-R3-0") -epicsEnvSet("LOVE","/APSshare/epics/synApps_6_3/support/love-R3-2-9") -epicsEnvSet("LUA","/APSshare/epics/synApps_6_3/support/lua-R3-1") -epicsEnvSet("MCA","/APSshare/epics/synApps_6_3/support/mca-R7-10") -epicsEnvSet("MEASCOMP","/APSshare/epics/synApps_6_3/support/measComp-R4-2") -epicsEnvSet("MODBUS","/APSshare/epics/synApps_6_3/support/modbus-R3-3") -epicsEnvSet("MOTOR","/APSshare/epics/synApps_6_3/support/motor-R7-3-1") -epicsEnvSet("OPTICS","/APSshare/epics/synApps_6_3/support/optics-R2-14") -epicsEnvSet("QUADEM","/APSshare/epics/synApps_6_3/support/quadEM-R9-5") -epicsEnvSet("SCALER","/APSshare/epics/synApps_6_3/support/scaler-4-1") -epicsEnvSet("SNCSEQ","/APSshare/epics/synApps_6_3/support/sequencer-mirror-R2-2-9") -epicsEnvSet("SOFTGLUE","/APSshare/epics/synApps_6_3/support/softGlue-R2-8-4") -epicsEnvSet("SOFTGLUEZYNQ","/APSshare/epics/synApps_6_3/support/softGlueZynq-R2-0-5") -epicsEnvSet("SSCAN","/APSshare/epics/synApps_6_3/support/sscan-R2-11-6") -epicsEnvSet("STD","/APSshare/epics/synApps_6_3/support/std-R3-6-4") -epicsEnvSet("STREAM","/APSshare/epics/synApps_6_3/support/StreamDevice-2-8-24") -epicsEnvSet("VAC","/APSshare/epics/synApps_6_3/support/vac-R1-9-2") -epicsEnvSet("VME","/APSshare/epics/synApps_6_3/support/vme-R2-9-5") -epicsEnvSet("XSPRESS3","/APSshare/epics/synApps_6_3/support/xspress3-3-2-8") -epicsEnvSet("XXX","/APSshare/epics/synApps_6_3/support/xxx-R6-3") -epicsEnvSet("YOKOGAWA_DAS","/APSshare/epics/synApps_6_3/support/Yokogawa_DAS-R2-0-2") -epicsEnvSet("ALLENBRADLEY","/APSshare/epics/synApps_6_3/support/allenBradley-2-3") -epicsEnvSet("ADCORE","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADCore") -epicsEnvSet("ADSUPPORT","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADSupport") -epicsEnvSet("ULDAQ","/APSshare/epics/synApps_6_3/support/measComp-R4-2/libuldaq-1.2.1") -epicsEnvSet("PYDEVICE","/net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-git") -epicsEnvSet("NDDRIVERSTDARRAYS","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/NDDriverStdArrays") -# Increase size of buffer for error logging from default 1256 -errlogInit(20000) -################################################################################ -# PYTHONPATH points to folders where Python modules are. -# Needs to be done before dbd load, so moved to st.cmd -epicsEnvSet("PYTHONPATH","$(TOP)/100idPyApp/python") -################################################################################ -# Tell EPICS all about the record types, device-support modules, drivers, -# etc. in the software we just loaded (100idPy.munch) -dbLoadDatabase("../../dbd/ioc100idPyLinux.dbd") -ioc100idPyLinux_registerRecordDeviceDriver(pdbbase) -< settings.iocsh -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -# Linux startup script -< envPaths -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -epicsEnvSet("IOC","ioc100idPySBL") -epicsEnvSet("TOP","/net/s100dserv/xorApps/epics/synApps_6_3/ioc/100idPy") -epicsEnvSet("SUPPORT","/APSshare/epics/synApps_6_3/support") -epicsEnvSet("LOCAL_SUPPORT","/net/s100dserv/xorApps/epics/synApps_6_3/support") -epicsEnvSet("EPICS_BASE","/APSshare/epics/base-7.0.8") -epicsEnvSet("ALIVE","/APSshare/epics/synApps_6_3/support/alive-R1-4-1") -epicsEnvSet("AREA_DETECTOR","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13") -epicsEnvSet("ASYN","/APSshare/epics/synApps_6_3/support/asyn-R4-44-2") -epicsEnvSet("AUTOSAVE","/APSshare/epics/synApps_6_3/support/autosave-R5-11") -epicsEnvSet("BUSY","/APSshare/epics/synApps_6_3/support/busy-R1-7-4") -epicsEnvSet("CALC","/APSshare/epics/synApps_6_3/support/calc-R3-7-5") -epicsEnvSet("CAMAC","/APSshare/epics/synApps_6_3/support/camac-R2-7-5") -epicsEnvSet("CAPUTRECORDER","/APSshare/epics/synApps_6_3/support/caputRecorder-R1-7-6") -epicsEnvSet("DAC128V","/APSshare/epics/synApps_6_3/support/dac128V-R2-10-1") -epicsEnvSet("DANTE","/APSshare/epics/synApps_6_3/support/Dante-R1-1") -epicsEnvSet("DELAYGEN","/APSshare/epics/synApps_6_3/support/delaygen-R1-2-4") -epicsEnvSet("DEVIOCSTATS","/APSshare/epics/synApps_6_3/support/iocStats-3-1-16") -epicsEnvSet("DXP","/APSshare/epics/synApps_6_3/support/dxp-R6-1") -epicsEnvSet("DXPSITORO","/APSshare/epics/synApps_6_3/support/dxpSITORO-R1-3") -epicsEnvSet("ETHERIP","/APSshare/epics/synApps_6_3/support/ether_ip-ether_ip-3-3") -epicsEnvSet("GALIL","/APSshare/epics/synApps_6_3/support/Galil-3-0-V3-5") -epicsEnvSet("IP","/APSshare/epics/synApps_6_3/support/ip-R2-22") -epicsEnvSet("IP330","/APSshare/epics/synApps_6_3/support/ip330-R2-10") -epicsEnvSet("IPAC","/APSshare/epics/synApps_6_3/support/ipac-2-16") -epicsEnvSet("IPUNIDIG","/APSshare/epics/synApps_6_3/support/ipUnidig-R2-12") -epicsEnvSet("LABJACK","/APSshare/epics/synApps_6_3/support/LabJack-R3-0") -epicsEnvSet("LOVE","/APSshare/epics/synApps_6_3/support/love-R3-2-9") -epicsEnvSet("LUA","/APSshare/epics/synApps_6_3/support/lua-R3-1") -epicsEnvSet("MCA","/APSshare/epics/synApps_6_3/support/mca-R7-10") -epicsEnvSet("MEASCOMP","/APSshare/epics/synApps_6_3/support/measComp-R4-2") -epicsEnvSet("MODBUS","/APSshare/epics/synApps_6_3/support/modbus-R3-3") -epicsEnvSet("MOTOR","/APSshare/epics/synApps_6_3/support/motor-R7-3-1") -epicsEnvSet("OPTICS","/APSshare/epics/synApps_6_3/support/optics-R2-14") -epicsEnvSet("QUADEM","/APSshare/epics/synApps_6_3/support/quadEM-R9-5") -epicsEnvSet("SCALER","/APSshare/epics/synApps_6_3/support/scaler-4-1") -epicsEnvSet("SNCSEQ","/APSshare/epics/synApps_6_3/support/sequencer-mirror-R2-2-9") -epicsEnvSet("SOFTGLUE","/APSshare/epics/synApps_6_3/support/softGlue-R2-8-4") -epicsEnvSet("SOFTGLUEZYNQ","/APSshare/epics/synApps_6_3/support/softGlueZynq-R2-0-5") -epicsEnvSet("SSCAN","/APSshare/epics/synApps_6_3/support/sscan-R2-11-6") -epicsEnvSet("STD","/APSshare/epics/synApps_6_3/support/std-R3-6-4") -epicsEnvSet("STREAM","/APSshare/epics/synApps_6_3/support/StreamDevice-2-8-24") -epicsEnvSet("VAC","/APSshare/epics/synApps_6_3/support/vac-R1-9-2") -epicsEnvSet("VME","/APSshare/epics/synApps_6_3/support/vme-R2-9-5") -epicsEnvSet("XSPRESS3","/APSshare/epics/synApps_6_3/support/xspress3-3-2-8") -epicsEnvSet("XXX","/APSshare/epics/synApps_6_3/support/xxx-R6-3") -epicsEnvSet("YOKOGAWA_DAS","/APSshare/epics/synApps_6_3/support/Yokogawa_DAS-R2-0-2") -epicsEnvSet("ALLENBRADLEY","/APSshare/epics/synApps_6_3/support/allenBradley-2-3") -epicsEnvSet("ADCORE","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADCore") -epicsEnvSet("ADSUPPORT","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADSupport") -epicsEnvSet("ULDAQ","/APSshare/epics/synApps_6_3/support/measComp-R4-2/libuldaq-1.2.1") -epicsEnvSet("PYDEVICE","/net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-git") -epicsEnvSet("NDDRIVERSTDARRAYS","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/NDDriverStdArrays") -# Shell prompt -epicsEnvSet("IOCSH_PS1", "$(IOC)> ") -# prefix used for all PVs in this IOC -epicsEnvSet("PREFIX", "100idPySBL:") -#For devIocStats -epicsEnvSet("ENGINEER", "M. Wyman") -epicsEnvSet("LOCATION", "100id") -epicsEnvSet("GROUP", "BCDA") -# search path for database files -epicsEnvSet("EPICS_DB_INCLUDE_PATH", ".") -# search path for streamDevice protocol files -epicsEnvSet("STREAM_PROTOCOL_PATH", ".") -# search path for lua scripts -# epicsEnvSet("LUA_SCRIPT_PATH", "./scripts") -# Specify largest array CA will transport -# Note for N doubles, need N*8 bytes+some overhead -epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", 64010) -### save_restore setup, change SAVE_PATH if you are having autosave manage its own NFS mount -iocshLoad("$(AUTOSAVE)/iocsh/autosave_settings.iocsh", "PREFIX=$(PREFIX), SAVE_PATH=$(TOP)/iocBoot/$(IOC)") -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -# Linux startup script -< envPaths -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -epicsEnvSet("IOC","ioc100idPySBL") -epicsEnvSet("TOP","/net/s100dserv/xorApps/epics/synApps_6_3/ioc/100idPy") -epicsEnvSet("SUPPORT","/APSshare/epics/synApps_6_3/support") -epicsEnvSet("LOCAL_SUPPORT","/net/s100dserv/xorApps/epics/synApps_6_3/support") -epicsEnvSet("EPICS_BASE","/APSshare/epics/base-7.0.8") -epicsEnvSet("ALIVE","/APSshare/epics/synApps_6_3/support/alive-R1-4-1") -epicsEnvSet("AREA_DETECTOR","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13") -epicsEnvSet("ASYN","/APSshare/epics/synApps_6_3/support/asyn-R4-44-2") -epicsEnvSet("AUTOSAVE","/APSshare/epics/synApps_6_3/support/autosave-R5-11") -epicsEnvSet("BUSY","/APSshare/epics/synApps_6_3/support/busy-R1-7-4") -epicsEnvSet("CALC","/APSshare/epics/synApps_6_3/support/calc-R3-7-5") -epicsEnvSet("CAMAC","/APSshare/epics/synApps_6_3/support/camac-R2-7-5") -epicsEnvSet("CAPUTRECORDER","/APSshare/epics/synApps_6_3/support/caputRecorder-R1-7-6") -epicsEnvSet("DAC128V","/APSshare/epics/synApps_6_3/support/dac128V-R2-10-1") -epicsEnvSet("DANTE","/APSshare/epics/synApps_6_3/support/Dante-R1-1") -epicsEnvSet("DELAYGEN","/APSshare/epics/synApps_6_3/support/delaygen-R1-2-4") -epicsEnvSet("DEVIOCSTATS","/APSshare/epics/synApps_6_3/support/iocStats-3-1-16") -epicsEnvSet("DXP","/APSshare/epics/synApps_6_3/support/dxp-R6-1") -epicsEnvSet("DXPSITORO","/APSshare/epics/synApps_6_3/support/dxpSITORO-R1-3") -epicsEnvSet("ETHERIP","/APSshare/epics/synApps_6_3/support/ether_ip-ether_ip-3-3") -epicsEnvSet("GALIL","/APSshare/epics/synApps_6_3/support/Galil-3-0-V3-5") -epicsEnvSet("IP","/APSshare/epics/synApps_6_3/support/ip-R2-22") -epicsEnvSet("IP330","/APSshare/epics/synApps_6_3/support/ip330-R2-10") -epicsEnvSet("IPAC","/APSshare/epics/synApps_6_3/support/ipac-2-16") -epicsEnvSet("IPUNIDIG","/APSshare/epics/synApps_6_3/support/ipUnidig-R2-12") -epicsEnvSet("LABJACK","/APSshare/epics/synApps_6_3/support/LabJack-R3-0") -epicsEnvSet("LOVE","/APSshare/epics/synApps_6_3/support/love-R3-2-9") -epicsEnvSet("LUA","/APSshare/epics/synApps_6_3/support/lua-R3-1") -epicsEnvSet("MCA","/APSshare/epics/synApps_6_3/support/mca-R7-10") -epicsEnvSet("MEASCOMP","/APSshare/epics/synApps_6_3/support/measComp-R4-2") -epicsEnvSet("MODBUS","/APSshare/epics/synApps_6_3/support/modbus-R3-3") -epicsEnvSet("MOTOR","/APSshare/epics/synApps_6_3/support/motor-R7-3-1") -epicsEnvSet("OPTICS","/APSshare/epics/synApps_6_3/support/optics-R2-14") -epicsEnvSet("QUADEM","/APSshare/epics/synApps_6_3/support/quadEM-R9-5") -epicsEnvSet("SCALER","/APSshare/epics/synApps_6_3/support/scaler-4-1") -epicsEnvSet("SNCSEQ","/APSshare/epics/synApps_6_3/support/sequencer-mirror-R2-2-9") -epicsEnvSet("SOFTGLUE","/APSshare/epics/synApps_6_3/support/softGlue-R2-8-4") -epicsEnvSet("SOFTGLUEZYNQ","/APSshare/epics/synApps_6_3/support/softGlueZynq-R2-0-5") -epicsEnvSet("SSCAN","/APSshare/epics/synApps_6_3/support/sscan-R2-11-6") -epicsEnvSet("STD","/APSshare/epics/synApps_6_3/support/std-R3-6-4") -epicsEnvSet("STREAM","/APSshare/epics/synApps_6_3/support/StreamDevice-2-8-24") -epicsEnvSet("VAC","/APSshare/epics/synApps_6_3/support/vac-R1-9-2") -epicsEnvSet("VME","/APSshare/epics/synApps_6_3/support/vme-R2-9-5") -epicsEnvSet("XSPRESS3","/APSshare/epics/synApps_6_3/support/xspress3-3-2-8") -epicsEnvSet("XXX","/APSshare/epics/synApps_6_3/support/xxx-R6-3") -epicsEnvSet("YOKOGAWA_DAS","/APSshare/epics/synApps_6_3/support/Yokogawa_DAS-R2-0-2") -epicsEnvSet("ALLENBRADLEY","/APSshare/epics/synApps_6_3/support/allenBradley-2-3") -epicsEnvSet("ADCORE","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADCore") -epicsEnvSet("ADSUPPORT","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADSupport") -epicsEnvSet("ULDAQ","/APSshare/epics/synApps_6_3/support/measComp-R4-2/libuldaq-1.2.1") -epicsEnvSet("PYDEVICE","/net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-git") -epicsEnvSet("NDDRIVERSTDARRAYS","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/NDDriverStdArrays") -# Increase size of buffer for error logging from default 1256 -errlogInit(20000) -################################################################################ -# PYTHONPATH points to folders where Python modules are. -# Needs to be done before dbd load, so moved to st.cmd -epicsEnvSet("PYTHONPATH","$(TOP)/100idPyApp/python") -################################################################################ -# Tell EPICS all about the record types, device-support modules, drivers, -# etc. in the software we just loaded (100idPy.munch) -dbLoadDatabase("../../dbd/ioc100idPyLinux.dbd") -ioc100idPyLinux_registerRecordDeviceDriver(pdbbase) -< settings.iocsh -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date -exit -# Linux startup script -< envPaths -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin +dbLoadRecords("$(AUTOSAVE)/db/configMenu.db", "P=$(PREFIX), CONFIG=ADAutoSave") +# Optional: load NDPluginPva plugin +NDPvaConfigure("PVA1", $(QSIZE), 0, "$(PORT)", 0, $(PREFIX)Pva1:Image, 0, 0, 0) +dbLoadRecords("NDPva.template", "P=$(PREFIX),R=Pva1:, PORT=PVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +# Must start PVA server if this is enabled +startPVAServer +# Optional: load ffmpegServer plugin +#ffmpegServerConfigure(8081) +#ffmpegStreamConfigure("FfmStream1", 2, 0, "$(PORT)", 0, -1, 0) +#dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegStream.template", "P=$(PREFIX),R=ffmstream1:,PORT=FfmStream1,NDARRAY_PORT=$(PORT)") +#ffmpegFileConfigure("FfmFile1", 16, 0, "$(PORT)", 0, -1, 0) +#dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegFile.template", "P=$(PREFIX),R=ffmfile1:,PORT=FfmFile1,NDARRAY_PORT=$(PORT)") +# Optional: load NDPluginEdge plugin +#NDEdgeConfigure("EDGE1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0) +#dbLoadRecords("$(ADPLUGINEDGE)/db/NDEdge.template", "P=$(PREFIX),R=Edge1:, PORT=EDGE1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +#set_requestfile_path("$(ADPLUGINEDGE)/db") +# Optional: load NDPluginCV plugin +#NDCVConfigure("CV1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) +#dbLoadRecords("$(ADCOMPVISION)/db/NDCV.template", "P=$(PREFIX),R=CV1:, PORT=CV1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +#set_requestfile_path("$(ADCOMPVISION)/adcvApp/Db") +# Optional: load NDPluginBar plugin +#NDBarConfigure("BAR1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5)) +#dbLoadRecords("$(ADPLUGINBAR)/db/NDBar.template", "P=$(PREFIX),R=Bar1:, PORT=BAR1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)") +#set_requestfile_path("$(ADPLUGINBAR)/barApp/Db") +# Optional: load scan records +#dbLoadRecords("$(SSCAN)/sscanApp/Db/scan.db", "P=$(PREFIX),MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20,MAXPTS4=10,MAXPTSH=10") +#set_requestfile_path("$(SSCAN)/sscanApp/Db") +# Optional: load sseq record for acquisition sequence +#dbLoadRecords("$(CALC)/calcApp/Db/sseqRecord.db", "P=$(PREFIX), S=AcquireSequence") +#set_requestfile_path("$(CALC)/calcApp/Db") +# Optional: load devIocStats records (requires DEVIOCSTATS module) +#dbLoadRecords("$(DEVIOCSTATS)/db/iocAdminSoft.db", "IOC=$(PREFIX)") +# Optional: load alive record (requires ALIVE module) +#dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),RHOST=164.54.100.11") +# Set the callback queue size to 5000, up from default of 2000 in base. +# This can be needed to avoid errors "callbackRequest: cbLow ring buffer full". +callbackSetQueueSize(5000) +doAfterIocInit("dbpf('100idPySBL:NDSA:NDimensions', '2')") +#Shouldn't need a simdet as NDSA comes with image plugin; however, adding +#one to test some pycalc ideas #iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") ############################################################################### iocInit @@ -664,361 +49,3 @@ dbcar(0,1) # print the time our boot was finished date exit -epicsEnvSet("IOC","ioc100idPySBL") -epicsEnvSet("TOP","/net/s100dserv/xorApps/epics/synApps_6_3/ioc/100idPy") -epicsEnvSet("SUPPORT","/APSshare/epics/synApps_6_3/support") -epicsEnvSet("LOCAL_SUPPORT","/net/s100dserv/xorApps/epics/synApps_6_3/support") -epicsEnvSet("EPICS_BASE","/APSshare/epics/base-7.0.8") -epicsEnvSet("ALIVE","/APSshare/epics/synApps_6_3/support/alive-R1-4-1") -epicsEnvSet("AREA_DETECTOR","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13") -epicsEnvSet("ASYN","/APSshare/epics/synApps_6_3/support/asyn-R4-44-2") -epicsEnvSet("AUTOSAVE","/APSshare/epics/synApps_6_3/support/autosave-R5-11") -epicsEnvSet("BUSY","/APSshare/epics/synApps_6_3/support/busy-R1-7-4") -epicsEnvSet("CALC","/APSshare/epics/synApps_6_3/support/calc-R3-7-5") -epicsEnvSet("CAMAC","/APSshare/epics/synApps_6_3/support/camac-R2-7-5") -epicsEnvSet("CAPUTRECORDER","/APSshare/epics/synApps_6_3/support/caputRecorder-R1-7-6") -epicsEnvSet("DAC128V","/APSshare/epics/synApps_6_3/support/dac128V-R2-10-1") -epicsEnvSet("DANTE","/APSshare/epics/synApps_6_3/support/Dante-R1-1") -epicsEnvSet("DELAYGEN","/APSshare/epics/synApps_6_3/support/delaygen-R1-2-4") -epicsEnvSet("DEVIOCSTATS","/APSshare/epics/synApps_6_3/support/iocStats-3-1-16") -epicsEnvSet("DXP","/APSshare/epics/synApps_6_3/support/dxp-R6-1") -epicsEnvSet("DXPSITORO","/APSshare/epics/synApps_6_3/support/dxpSITORO-R1-3") -epicsEnvSet("ETHERIP","/APSshare/epics/synApps_6_3/support/ether_ip-ether_ip-3-3") -epicsEnvSet("GALIL","/APSshare/epics/synApps_6_3/support/Galil-3-0-V3-5") -epicsEnvSet("IP","/APSshare/epics/synApps_6_3/support/ip-R2-22") -epicsEnvSet("IP330","/APSshare/epics/synApps_6_3/support/ip330-R2-10") -epicsEnvSet("IPAC","/APSshare/epics/synApps_6_3/support/ipac-2-16") -epicsEnvSet("IPUNIDIG","/APSshare/epics/synApps_6_3/support/ipUnidig-R2-12") -epicsEnvSet("LABJACK","/APSshare/epics/synApps_6_3/support/LabJack-R3-0") -epicsEnvSet("LOVE","/APSshare/epics/synApps_6_3/support/love-R3-2-9") -epicsEnvSet("LUA","/APSshare/epics/synApps_6_3/support/lua-R3-1") -epicsEnvSet("MCA","/APSshare/epics/synApps_6_3/support/mca-R7-10") -epicsEnvSet("MEASCOMP","/APSshare/epics/synApps_6_3/support/measComp-R4-2") -epicsEnvSet("MODBUS","/APSshare/epics/synApps_6_3/support/modbus-R3-3") -epicsEnvSet("MOTOR","/APSshare/epics/synApps_6_3/support/motor-R7-3-1") -epicsEnvSet("OPTICS","/APSshare/epics/synApps_6_3/support/optics-R2-14") -epicsEnvSet("QUADEM","/APSshare/epics/synApps_6_3/support/quadEM-R9-5") -epicsEnvSet("SCALER","/APSshare/epics/synApps_6_3/support/scaler-4-1") -epicsEnvSet("SNCSEQ","/APSshare/epics/synApps_6_3/support/sequencer-mirror-R2-2-9") -epicsEnvSet("SOFTGLUE","/APSshare/epics/synApps_6_3/support/softGlue-R2-8-4") -epicsEnvSet("SOFTGLUEZYNQ","/APSshare/epics/synApps_6_3/support/softGlueZynq-R2-0-5") -epicsEnvSet("SSCAN","/APSshare/epics/synApps_6_3/support/sscan-R2-11-6") -epicsEnvSet("STD","/APSshare/epics/synApps_6_3/support/std-R3-6-4") -epicsEnvSet("STREAM","/APSshare/epics/synApps_6_3/support/StreamDevice-2-8-24") -epicsEnvSet("VAC","/APSshare/epics/synApps_6_3/support/vac-R1-9-2") -epicsEnvSet("VME","/APSshare/epics/synApps_6_3/support/vme-R2-9-5") -epicsEnvSet("XSPRESS3","/APSshare/epics/synApps_6_3/support/xspress3-3-2-8") -epicsEnvSet("XXX","/APSshare/epics/synApps_6_3/support/xxx-R6-3") -epicsEnvSet("YOKOGAWA_DAS","/APSshare/epics/synApps_6_3/support/Yokogawa_DAS-R2-0-2") -epicsEnvSet("ALLENBRADLEY","/APSshare/epics/synApps_6_3/support/allenBradley-2-3") -epicsEnvSet("ADCORE","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADCore") -epicsEnvSet("ADSUPPORT","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/ADSupport") -epicsEnvSet("ULDAQ","/APSshare/epics/synApps_6_3/support/measComp-R4-2/libuldaq-1.2.1") -epicsEnvSet("PYDEVICE","/net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-git") -epicsEnvSet("NDDRIVERSTDARRAYS","/APSshare/epics/synApps_6_3/support/areaDetector-R3-13/NDDriverStdArrays") -# Shell prompt -epicsEnvSet("IOCSH_PS1", "$(IOC)> ") -# prefix used for all PVs in this IOC -epicsEnvSet("PREFIX", "100idPySBL:") -#For devIocStats -epicsEnvSet("ENGINEER", "M. Wyman") -epicsEnvSet("LOCATION", "100id") -epicsEnvSet("GROUP", "BCDA") -# search path for database files -epicsEnvSet("EPICS_DB_INCLUDE_PATH", ".") -# search path for streamDevice protocol files -epicsEnvSet("STREAM_PROTOCOL_PATH", ".") -# search path for lua scripts -# epicsEnvSet("LUA_SCRIPT_PATH", "./scripts") -# Specify largest array CA will transport -# Note for N doubles, need N*8 bytes+some overhead -epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", 64010) -# ### autosave_settings.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- AUTOSAVE - Location of autosave module -#- SAVE_PATH - Location to create autosave directory where files will be saved -#- INCOMPLETE - Optional: Ok to save/restore save sets with missing values? -#- Default: 1 -#- -#- DATED_BACKUP - Optional: Save dated backup files? -#- Default: 1 -#- -#- CA_RECONNECT - Optional: Retry connecting to PVs whose initial connection attempt failed? -#- Default: 1 -#- -#- NUM_SEQ - Optional: Number of sequenced backup files to write -#- Default: 3 -#- -#- SEQ_PERIOD - Optional: Time interval in seconds between sequenced backups -#- - Default: 300 -#- ################################################### -set_savefile_path("$(SAVE_PATH)", "autosave") -#- Add save path and autosave to list of directories to find files -set_requestfile_path("$(SAVE_PATH)", "") -set_requestfile_path("$(AUTOSAVE)", "asApp/Db") -save_restoreSet_status_prefix("$(PREFIX)") -save_restoreSet_CAReconnect($(CA_RECONNECT=1)) -save_restoreSet_IncompleteSetsOk($(INCOMPLETE=1)) -save_restoreSet_DatedBackupFiles($(DATED_BACKUP=1)) -save_restoreSet_NumSeqFiles($(NUM_SEQ=3)) -save_restoreSet_SeqPeriodInSeconds($(SEQ_PERIOD=300)) -#- Time interval in seconds between forced save-file writes. (-1 means forever). -#- This is intended to get save files written even if the normal trigger mechanism is broken. -save_restoreSet_CallbackTimeout(-1) -dbLoadRecords("$(AUTOSAVE)/asApp/Db/save_restoreStatus.db", "P=$(PREFIX), DEAD_SECONDS=5") -# ### save_restore.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- POSITIONS_FILE - Name of positions file, script will search for $(POSITIONS_FILE).req, -#- saved positions will be in $(POSITIONS_FILE).sav -#- macro PREFIX will be defined for the file -#- SETTINGS_FILE - Name of settings file, script will search for $(SETTINGS_FILE).req, -#- saved settings will be in $(SETTINGS_FILE).sav -#- macro PREFIX will be defined for the file -#- AUTOSAVE - Location of Autosave module -#- POSITION_PERIOD- Optional: Time interval in seconds between saving positions -#- - Default: 5 -#- -#- SETTING_PERIOD - Optional: Time interval in seconds between saving settings -#- - Default: 30 -#- ################################################### -#- Specify what save files should be restored. Note these files must be -#- in the directory specified in set_savefile_path(), or, if that function -#- has not been called, from the directory current when iocInit is invoked -set_pass0_restoreFile("$(POSITIONS_FILE).sav") -set_pass0_restoreFile("$(SETTINGS_FILE).sav") -set_pass1_restoreFile("$(SETTINGS_FILE).sav") -#- Note doAfterIocInit() supplied by std module. -doAfterIocInit("create_monitor_set('$(POSITIONS_FILE).req',$(POSITION_PERIOD=5),'P=$(PREFIX)')") -doAfterIocInit("create_monitor_set('$(SETTINGS_FILE).req',$(SETTING_PERIOD=30),'P=$(PREFIX)')") -#- Debug-output level -save_restoreSet_Debug(0) -# ### autosaveBuild.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- BUILD_PATH - Optional: Location to create BUILT_SETTINGS and BUILT_POSITIONS -#- Default: Current Directory -#- AUTOSAVE - Location of Autosave module -#- POSITION_PERIOD- Optional: Time interval in seconds between saving positions -#- - Default: 5 -#- -#- SETTING_PERIOD - Optional: Time interval in seconds between saving settings -#- - Default: 30 -#- ################################################### -#- Specify what save files should be restored. Note these files must be -#- in the directory specified in set_savefile_path(), or, if that function -#- has not been called, from the directory current when iocInit is invoked -set_pass0_restoreFile("built_positions.sav") -set_pass0_restoreFile("built_settings.sav") -set_pass1_restoreFile("built_settings.sav") -#- Note doAfterIocInit() supplied by std module. -doAfterIocInit("create_monitor_set('built_positions.req',$(POSITION_PERIOD=5), P=$(PREFIX))") -doAfterIocInit("create_monitor_set('built_settings.req',$(SETTING_PERIOD=30), P=$(PREFIX))") -#- Debug-output level -save_restoreSet_Debug(0) -#- Tell autosave to automatically build built_settings.req and -#- built_positions.req from databases and macros supplied to dbLoadRecords() -#- (and dbLoadTemplate(), which calls dbLoadRecords()). -#- This requires EPICS 3.15.1 or later, or 3.14 patched as described in -#- autosave R5-5 documentation. -epicsEnvSet("BUILT_SETTINGS", "built_settings.req") -epicsEnvSet("BUILT_POSITIONS", "built_positions.req") -autosaveBuild("$(BUILD_PATH=.)/$(BUILT_SETTINGS)", "_settings.req", 1) -autosaveBuild("$(BUILD_PATH=.)/$(BUILT_POSITIONS)", "_positions.req", 1) -set_requestfile_path("$(BUILD_PATH=.)") -# ### caputRecorder.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- CAPUTRECORDER - Location of caputRecorder module -#- -#- SIZE - Optional: Manages the size of certain elements -#- in the caputRecorder database -#- Default: 300 -#- ################################################### -#- trap listener -dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputPoster.db","P=$(PREFIX),N=300") -doAfterIocInit("registerCaputRecorderTrapListener('$(PREFIX)caputRecorderCommand')") -#- GUI database -dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=$(PREFIX),N=300") -# ### sscan.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- SSCAN - Location of sscan module -#- MAX_PTS - Optional: Maximum number of scan points -#- for all dimensions -#- Default: 1000 -#- -#- MAX_PTS1 - Optional: Maximum number of scan points -#- for first dimension -#- Default: $(MAX_PTS) -#- -#- MAX_PTS2 - Optional: Maximum number of scan points -#- for second dimension -#- Default: $(MAX_PTS) -#- -#- MAX_PTS3 - Optional: Maximum number of scan points -#- for third dimension -#- Default: $(MAX_PTS) -#- -#- MAX_PTS4 - Optional: Maximum number of scan points -#- for fourth dimension -#- Default: $(MAX_PTS) -#- -#- MAX_PTSH - Optional: Maximum number of scan points -#- for H dimension -#- Default: $(MAX_PTS) -#- -#- REQ_FILE - Optional: Name of saveData req file -#- Default: saveData.req -#- ################################################### -#- ### Scan-support software -#- crate-resident scan. This executes 1D, 2D, 3D, and 4D scans, and caches -#- 1D data, but it doesn't store anything to disk. (See 'saveData' below for that.) -dbLoadRecords("$(SSCAN)/sscanApp/Db/standardScans.db","P=$(PREFIX),MAXPTS1=$(MAX_PTS1=$(MAX_PTS=1000)),MAXPTS2=$(MAX_PTS2=$(MAX_PTS=1000)),MAXPTS3=$(MAX_PTS3=$(MAX_PTS=1000)),MAXPTS4=$(MAX_PTS4=$(MAX_PTS=1000)),MAXPTSH=$(MAX_PTSH=$(MAX_PTS=1000))") -#- Start the saveData task. If you start this task, scan records mentioned -#- in saveData.req will *always* write data files. There is no programmable -#- disable for this software. -dbLoadRecords("$(SSCAN)/sscanApp/Db/saveData.db","P=$(PREFIX)") -doAfterIocInit("saveData_Init('$(REQ_FILE=saveData.req)', 'P=$(PREFIX)')") -dbLoadRecords("$(SSCAN)/sscanApp/Db/scanProgress.db","P=$(PREFIX)scanProgress:") -doAfterIocInit("seq &scanProgress, 'S=$(PREFIX), P=$(PREFIX)scanProgress:'") -# ### configMenu.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- CONFIG - Menu name, will search for $(CONFIG)Menu.req -#- AUTOSAVE - Location of autosave module -#- ################################################### -#- configMenu example. -dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=$(CONFIG)") -#- Note that the request file MUST be named $(CONFIG)Menu.req -#- If the macro CONFIGMENU is defined with any value, backup (".savB") and -#- sequence files (".savN") will not be written. We don't want these for configMenu. -#- Run this after iocInit: -doAfterIocInit("create_manual_set('$(CONFIG)Menu.req','P=$(PREFIX),CONFIG=$(CONFIG),CONFIGMENU=1')") -# ### userCalc.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- CALC - Location of Calc module -#- ARRAY_SIZE - Optional: Size of userArrayCalc array -#- Default: 8000 -#- ################################################### -#- ## Stuff for user programming ### -dbLoadRecords("$(CALC)/db/userCalcGlobalEnable.db", "P=$(PREFIX)") -dbLoadRecords("$(CALC)/db/userCalcs10.db", "P=$(PREFIX)") -dbLoadRecords("$(CALC)/db/userCalcOuts10.db", "P=$(PREFIX)") -dbLoadRecords("$(CALC)/db/userStringCalcs10.db", "P=$(PREFIX)") -dbLoadRecords("$(CALC)/db/userArrayCalcs10.db", "P=$(PREFIX), N=$(ARRAY_SIZE=8000)") -dbLoadRecords("$(CALC)/db/userTransforms10.db", "P=$(PREFIX)") -dbLoadRecords("$(CALC)/db/userAve10.db", "P=$(PREFIX)") -# ### userCalc.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- CALC - Location of Calc module -#- N - Additional calcs index (Ex: N=1 creates calcs 10-19) -#- ARRAY_SIZE - Optional: Size of userArrayCalc array -#- Default: 8000 -#- ################################################### -#- ## Stuff for user programming ### -dbLoadRecords("$(CALC)/db/userCalcs10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9") -dbLoadRecords("$(CALC)/db/userCalcOuts10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9") -dbLoadRecords("$(CALC)/db/userStringCalcs10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9") -dbLoadRecords("$(CALC)/db/userArrayCalcs10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9,N=$(ARRAY_SIZE=8000)") -dbLoadRecords("$(CALC)/db/userTransforms10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9") -dbLoadRecords("$(CALC)/db/userAve10more.db","P=$(PREFIX),N10=$(N)0,N1=$(N)1,N2=$(N)2,N3=$(N)3,N4=$(N)4,N5=$(N)5,N6=$(N)6,N7=$(N)7,N8=$(N)8,N9=$(N)9") -# ### sseq.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance Prefix -#- CALC - Location of Calc module -#- ################################################### -#- string sequence (sseq) records -dbLoadRecords("$(CALC)/db/userStringSeqs10.db","P=$(PREFIX)") -#- editSseq - edit any sseq or seq record -dbLoadRecords("$(CALC)/db/editSseq.db", "P=$(PREFIX),Q=$(INSTANCE)") -doAfterIocInit("seq &editSseq, 'P=$(PREFIX),Q=$(INSTANCE)'") -#- interpolation -dbLoadRecords("$(CALC)/calcApp/Db/interp.db", "P=$(PREFIX),N=2000") -dbLoadRecords("$(CALC)/calcApp/Db/interpNew.db", "P=$(PREFIX),Q=1,N=2000") -#- busy record -dbLoadRecords("$(BUSY)/busyApp/Db/busyRecord.db", "P=$(PREFIX),R=mybusy1") -dbLoadRecords("$(BUSY)/busyApp/Db/busyRecord.db", "P=$(PREFIX),R=mybusy2") -#- Soft function generator -#dbLoadRecords("$(CALC)/calcApp/Db/FuncGen.db","P=$(PREFIX),Q=fgen,OUT=$(PREFIX)m7.VAL") -### Load database record for alive heartbeating support. -#- IOCNM is name of IOC, RHOST specifies the remote server accepting hearbeats -dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),IOCNM=$(IOC),RHOST=164.54.100.11") -dbLoadRecords("$(ALIVE)/aliveApp/Db/aliveMSGCalc.db", "P=$(PREFIX)") -#- A set of scan parameters for each positioner. This is a convenience -#- for the user. It can contain an entry for each scannable thing in the -#- crate. -#dbLoadTemplate("substitutions/scanParms.substitutions", "P=$(PREFIX)") -################################################################################ -# PyDevice Support for a simulated beamline -################################################################################ -# load template of simulated motors -# load db for detector -# AD stuff (NDSA? image? is simDet needed?) -iocshRun('epicsEnvSet("__FTVL", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=UCHAR, UInt8_VAL=UCHAR, Int16_VAL=SHORT, UInt16_VAL=SHORT, Int32_VAL=LONG, UInt32_VAL=LONG, Float32_VAL=DOUBLE, Float64_VAL=DOUBLE") -iocshRun('epicsEnvSet("__TYPE", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=Int8, UInt8_VAL=Int8, Int16_VAL=Int16, UInt16_VAL=Int16, Int32_VAL=Int32, UInt32_VAL=Int32, Float32_VAL=Float32, Float64_VAL=Float64") -luaCmd("epicsEnvSet('__SIZE', tostring((XSIZE*YSIZE)|0))", "XSIZE=$(XSIZE=1024), YSIZE=$(YSIZE=1024)") -# load python code for simulated beamline (detector(s) -- intensity, image(?)) -pydev("from beamline_29 import IEX") -pydev("from pyDevSBL import surrogateBL") -pydev("sbl = surrogateBL(IEX)") -# load db file for simulated detectors -dbLoadRecords("${TOP}/db/pyDevSBL.db","P=$(PREFIX), INSTANCE=SBL, OBJ=sbl, SIZE=$(__SIZE),TYPE=$(__TYPE),FTVL=$(__FTVL)") -# load db file for optical elements -dbLoadTemplate("substitutions/pyDevSBL_element.substitutions","P=$(PREFIX), INSTANCE=SBL, OBJ=sbl") -# Any commands to carry out after ioc init? -#doAfterIocInit("pydev('sbl.setupMotorLimits()')") # Shouldn't need this line for now as manually put limits in subs file -# ### motorSim.iocsh ### -#- ################################################### -#- PREFIX - IOC Prefix -#- INSTANCE - Instance name, used to create the low-level driver drvet name -#- Combined with the controller number to create the asyn port name -#- -#- SUB - Optional: Subsitutions file (asyn_motor.db), Macros P, DTYP, PORT, -#- DHLM, DLLM, and INIT will be predefined. -#- Default: $(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions -#- -#- CONTROLLER - Optional: Which controller is being configured -#- Default: 0 -#- -#- NUM_AXES - Optional: Number of axes on this controller -#- Default: 1 -#- -#- LOW_LIM - Optional: Low Limit (in steps) -#- Default: -32000 -#- -#- HIGH_LIM - Optional: High Limit (in steps) -#- Default: 32000 -#- -#- DLLM - Optional: Motor Record Low Limit (in EGU) -#- Default: -320.0 -#- -#- DHLM - Optional: Motor Record High Limit (in EGU) -#- Default: 320.0 -#- -#- HOME_POS - Optional: Home position -#- Default: 0 -#- ################################################### -# Create simulated motors: ( start card , start axis , low limit, high limit, home posn, # cards, # axes to setup) -motorSimCreate($(CONTROLLER=0), 0, $(LOW_LIM=-32000), $(HIGH_LIM=32000), $(HOME_POS=0), 1, $(NUM_AXES=12)) -# Setup the Asyn layer (portname, low-level driver drvet name, card, number of axes on card) -drvAsynMotorConfigure("$(INSTANCE)$(CONTROLLER=0)", "$(INSTANCE)", $(CONTROLLER=0), $(NUM_AXES=12)) -dbLoadTemplate("$(SUB=$(MOTOR)/iocsh/EXAMPLE_motorSim.substitutions)", "P=$(PREFIX), DTYP='asynMotor', PORT=$(INSTANCE)$(CONTROLLER=0),DHLM=$(DHLM=320.0),DLLM=$(DLLM=-320.0)") -############################################################################### -# Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin -#iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") -############################################################################### -iocInit -############################################################################### -# write all the PV names to a local file -dbl > dbl-all.txt -# Diagnostic: CA links in all records -dbcar(0,1) -# print the time our boot was finished -date diff --git a/iocBoot/ioc100idPySBL/effic.04 b/iocBoot/ioc100idPySBL/effic.04 index 1a427e5b38d2be04e1eb3ab981c7458a415a2d8d..9aa718794e5018ea32815664c25bdc50e70721d6 100644 --- a/iocBoot/ioc100idPySBL/effic.04 +++ b/iocBoot/ioc100idPySBL/effic.04 @@ -1,3 +1,3 @@ - Of a total of 100000 rays, of which 99439 formed the input set - 70 were out of the mirror N. 4 - The mirror collects 0.99930 of the incoming flux. + Of a total of 100000 rays, of which 99327 formed the input set + 51 were out of the mirror N. 4 + The mirror collects 0.99949 of the incoming flux. diff --git a/iocBoot/ioc100idPySBL/examples/pydeviceSBL.cmd b/iocBoot/ioc100idPySBL/examples/pydeviceSBL.cmd index e4000b76c110628eff80a8b685404bb13a93a78a..e7eb797caa0b96261ab92d40fc5c7b7baa139295 100644 --- a/iocBoot/ioc100idPySBL/examples/pydeviceSBL.cmd +++ b/iocBoot/ioc100idPySBL/examples/pydeviceSBL.cmd @@ -18,7 +18,7 @@ pydev("from pyDevSBL import surrogateBL") pydev("sbl = surrogateBL(IEX)") # load db file for simulated detectors -dbLoadRecords("${TOP}/db/pyDevSBL.db","P=$(PREFIX), INSTANCE=SBL, OBJ=sbl, SIZE=$(__SIZE),TYPE=$(__TYPE),FTVL=$(__FTVL)") +dbLoadRecords("${TOP}/db/pyDevSBL.db","P=$(PREFIX), INSTANCE=SBL, OBJ=sbl, SIZE=$(__SIZE),TYPE=$(__TYPE),FTVL=$(__FTVL), NDSA=NDSA, YSIZE=$(YSIZE), XSIZE=$(XSIZE)") # load db file for optical elements dbLoadTemplate("substitutions/pyDevSBL_element.substitutions","P=$(PREFIX), INSTANCE=SBL, OBJ=sbl") diff --git a/iocBoot/ioc100idPySBL/iocsh/ADSimDetector.iocsh b/iocBoot/ioc100idPySBL/iocsh/ADSimDetector.iocsh index 7a9575fc8fdf400607cfb2cee49a3ecb75221e73..48aa4deaebcebe6731522080df25507f0f1d3ab4 100644 --- a/iocBoot/ioc100idPySBL/iocsh/ADSimDetector.iocsh +++ b/iocBoot/ioc100idPySBL/iocsh/ADSimDetector.iocsh @@ -23,4 +23,4 @@ epicsEnvUnset("__FTVL") epicsEnvUnset("__TYPE") epicsEnvUnset("__SIZE") -iocshLoad("$(ADCORE)/iocBoot/commonPlugins.cmd", "PREFIX=$(PREFIX), PORT=$(INSTANCE), QSIZE=20, XSIZE=$(XSIZE), YSIZE=$(YSIZE), NCHANS=1024, CBUFFS=20, MAX_THREADS=5") +#! iocshLoad("$(ADCORE)/iocBoot/commonPlugins.cmd", "PREFIX=$(PREFIX), PORT=$(INSTANCE), QSIZE=20, XSIZE=$(XSIZE), YSIZE=$(YSIZE), NCHANS=1024, CBUFFS=20, MAX_THREADS=5") diff --git a/iocBoot/ioc100idPySBL/st.cmd.Linux b/iocBoot/ioc100idPySBL/st.cmd.Linux index 9ca774eedfad08265bdd7377c2ec5a64cb9c3d27..23f71df08aa81e4bf998487caa465149e84dbb26 100644 --- a/iocBoot/ioc100idPySBL/st.cmd.Linux +++ b/iocBoot/ioc100idPySBL/st.cmd.Linux @@ -29,8 +29,8 @@ dbLoadRecords("$(TOP)/100idPyApp/Db/iocAdminSoft_aliases.db","P=$(PREFIX)") # PyDevice surrogate beamline (NEEDS WORK) # maybe have to move this pydeviceSBL.cmd load to after simulate motor load in st.cmd.linux? -epicsEnvSet("XSIZE","1024") -epicsEnvSet("YSIZE","1024") +epicsEnvSet("XSIZE","64") +epicsEnvSet("YSIZE","64") epicsEnvSet("TYPE","Int16") < examples/pydeviceSBL.cmd @@ -42,9 +42,12 @@ iocshLoad("iocsh/motorSim.iocsh", "PREFIX=$(PREFIX), INSTANCE=motorSim, SUB=subs ############################################################################### # Area detector -- NDSA, simDet -#!iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") +iocshLoad("iocsh/NDSA.iocsh", "PREFIX=$(PREFIX), INSTANCE=NDSA, TYPE=$(TYPE)") -#Shouldn't need a simdet as NDSA comes with image plugin +doAfterIocInit("dbpf('100idPySBL:NDSA:NDimensions', '2')") + +#Shouldn't need a simdet as NDSA comes with image plugin; however, adding +#one to test some pycalc ideas #iocshLoad("iocsh/ADSimDetector.iocsh", "PREFIX=$(PREFIX), INSTANCE=SIM1") ############################################################################### diff --git a/iocBoot/ioc100idPySBL/star.04 b/iocBoot/ioc100idPySBL/star.04 index 41fa72c1463a4403a8083d4a41b4ae454436425f..6e5e734c0c91ce5bc276fbe098c3d98eb110b333 100644 Binary files a/iocBoot/ioc100idPySBL/star.04 and b/iocBoot/ioc100idPySBL/star.04 differ diff --git a/sbl_reqs.txt b/sbl_reqs.txt new file mode 100644 index 0000000000000000000000000000000000000000..4548abc7954dbd8b00a26ded777ae975f0662718 --- /dev/null +++ b/sbl_reqs.txt @@ -0,0 +1,148 @@ +# This file may be used to create an environment using: +# $ conda create --name <env> --file <this file> +# platform: linux-64 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda +https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_5.conda +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-4_cp311.conda +https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_5.conda +https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.11-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda +https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1002.conda +https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.2-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_5.conda +https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda +https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.4-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4.20240210-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.1-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-xf86vidmodeproto-2.3.1-h7f98852_1002.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.3-h59595ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_5.conda +https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.48-h71f35ed_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.2-h2797004_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.6-h232c23b_1.conda +https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.3.0-hf1915f5_4.conda +https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.43-hcad00b1_0.conda +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda +https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda +https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libglib-2.80.0-hf2295e7_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda +https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.2-h2448989_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc60ed4a_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-h1dd3fc0_3.conda +https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.3.0-hca2cd23_4.conda +https://conda.anaconda.org/conda-forge/linux-64/nss-3.98-h1d7d5a4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/python-3.11.8-hab00c5b_0_cpython.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda +https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda +https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda +https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.80.0-hde27a5a_1.conda +https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py311h9547e67_1.conda +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-21_linux64_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda +https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.2-default_h5d6823c_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda +https://conda.anaconda.org/conda-forge/linux-64/libpq-16.2-h33b98f1_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-255-h3516f8a_1.conda +https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.2-h488ebb8_0.conda +https://conda.anaconda.org/conda-forge/noarch/packaging-24.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/setuptools-69.2.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.43.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h8ee46fc_1.conda +https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.41-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda +https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda +https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda +https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.50.0-py311h459d7ec_0.conda +https://conda.anaconda.org/conda-forge/linux-64/glib-2.80.0-hf2295e7_1.conda +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-21_linux64_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-21_linux64_openblas.conda +https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h662e7e4_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py311ha6c5da5_0.conda +https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-hb77b528_0.conda +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda +https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.12-py311hb755f60_0.conda +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.22.9-h98fc4e7_1.conda +https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py311h64a7726_0.conda +https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.12.2-py311hb755f60_5.conda +https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.0-py311h9547e67_0.conda +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.22.9-hfa15dee_1.conda +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.12.0-py311h64a7726_2.conda +https://conda.anaconda.org/conda-forge/linux-64/xraylib-4.1.4-py311hf7cfcf7_0.conda +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.3-py311h54ef318_0.conda +https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-h112747c_20.conda +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.9-py311hf0fb5b6_5.conda +https://conda.anaconda.org/conda-forge/linux-64/shadow3-23.8.11-py311hf7cfcf7_0.conda diff --git a/sbl_reqs_simple.txt b/sbl_reqs_simple.txt new file mode 100644 index 0000000000000000000000000000000000000000..c191eefcd27996357b07bca9164230c7f97d4230 --- /dev/null +++ b/sbl_reqs_simple.txt @@ -0,0 +1,147 @@ +# packages in environment at /net/s100dserv/xorApps/epics/synApps_6_3/support/PyDevice-env/surrogateBL: +# +# Name Version Build Channel +_libgcc_mutex 0.1 conda_forge conda-forge +_openmp_mutex 4.5 2_gnu conda-forge +alsa-lib 1.2.11 hd590300_1 conda-forge +attr 2.5.1 h166bdaf_1 conda-forge +brotli 1.1.0 hd590300_1 conda-forge +brotli-bin 1.1.0 hd590300_1 conda-forge +bzip2 1.0.8 hd590300_5 conda-forge +ca-certificates 2024.2.2 hbcca054_0 conda-forge +cairo 1.18.0 h3faef2a_0 conda-forge +certifi 2024.2.2 pyhd8ed1ab_0 conda-forge +contourpy 1.2.0 py311h9547e67_0 conda-forge +cycler 0.12.1 pyhd8ed1ab_0 conda-forge +dbus 1.13.6 h5008d03_3 conda-forge +expat 2.6.2 h59595ed_0 conda-forge +font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge +font-ttf-inconsolata 3.000 h77eed37_0 conda-forge +font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge +font-ttf-ubuntu 0.83 h77eed37_1 conda-forge +fontconfig 2.14.2 h14ed4e7_0 conda-forge +fonts-conda-ecosystem 1 0 conda-forge +fonts-conda-forge 1 0 conda-forge +fonttools 4.50.0 py311h459d7ec_0 conda-forge +freetype 2.12.1 h267a509_2 conda-forge +gettext 0.21.1 h27087fc_0 conda-forge +glib 2.80.0 hf2295e7_1 conda-forge +glib-tools 2.80.0 hde27a5a_1 conda-forge +graphite2 1.3.13 h59595ed_1002 conda-forge +gst-plugins-base 1.22.9 hfa15dee_1 conda-forge +gstreamer 1.22.9 h98fc4e7_1 conda-forge +harfbuzz 8.3.0 h3d44ed6_0 conda-forge +icu 73.2 h59595ed_0 conda-forge +keyutils 1.6.1 h166bdaf_0 conda-forge +kiwisolver 1.4.5 py311h9547e67_1 conda-forge +krb5 1.21.2 h659d440_0 conda-forge +lame 3.100 h166bdaf_1003 conda-forge +lcms2 2.16 hb7c19ff_0 conda-forge +ld_impl_linux-64 2.40 h41732ed_0 conda-forge +lerc 4.0.0 h27087fc_0 conda-forge +libblas 3.9.0 21_linux64_openblas conda-forge +libbrotlicommon 1.1.0 hd590300_1 conda-forge +libbrotlidec 1.1.0 hd590300_1 conda-forge +libbrotlienc 1.1.0 hd590300_1 conda-forge +libcap 2.69 h0f662aa_0 conda-forge +libcblas 3.9.0 21_linux64_openblas conda-forge +libclang-cpp15 15.0.7 default_h127d8a8_5 conda-forge +libclang13 18.1.2 default_h5d6823c_1 conda-forge +libcups 2.3.3 h4637d8d_4 conda-forge +libdeflate 1.20 hd590300_0 conda-forge +libedit 3.1.20191231 he28a2e2_2 conda-forge +libevent 2.1.12 hf998b51_1 conda-forge +libexpat 2.6.2 h59595ed_0 conda-forge +libffi 3.4.2 h7f98852_5 conda-forge +libflac 1.4.3 h59595ed_0 conda-forge +libgcc-ng 13.2.0 h807b86a_5 conda-forge +libgcrypt 1.10.3 hd590300_0 conda-forge +libgfortran-ng 13.2.0 h69a702a_5 conda-forge +libgfortran5 13.2.0 ha4646dd_5 conda-forge +libglib 2.80.0 hf2295e7_1 conda-forge +libgomp 13.2.0 h807b86a_5 conda-forge +libgpg-error 1.48 h71f35ed_0 conda-forge +libiconv 1.17 hd590300_2 conda-forge +libjpeg-turbo 3.0.0 hd590300_1 conda-forge +liblapack 3.9.0 21_linux64_openblas conda-forge +libllvm15 15.0.7 hb3ce162_4 conda-forge +libllvm18 18.1.2 h2448989_0 conda-forge +libnsl 2.0.1 hd590300_0 conda-forge +libogg 1.3.4 h7f98852_1 conda-forge +libopenblas 0.3.26 pthreads_h413a1c8_0 conda-forge +libopus 1.3.1 h7f98852_1 conda-forge +libpng 1.6.43 h2797004_0 conda-forge +libpq 16.2 h33b98f1_1 conda-forge +libsndfile 1.2.2 hc60ed4a_1 conda-forge +libsqlite 3.45.2 h2797004_0 conda-forge +libstdcxx-ng 13.2.0 h7e041cc_5 conda-forge +libsystemd0 255 h3516f8a_1 conda-forge +libtiff 4.6.0 h1dd3fc0_3 conda-forge +libuuid 2.38.1 h0b41bf4_0 conda-forge +libvorbis 1.3.7 h9c3ff4c_0 conda-forge +libwebp-base 1.3.2 hd590300_0 conda-forge +libxcb 1.15 h0b41bf4_0 conda-forge +libxcrypt 4.4.36 hd590300_1 conda-forge +libxkbcommon 1.7.0 h662e7e4_0 conda-forge +libxml2 2.12.6 h232c23b_1 conda-forge +libzlib 1.2.13 hd590300_5 conda-forge +lz4-c 1.9.4 hcb278e6_0 conda-forge +matplotlib-base 3.8.3 py311h54ef318_0 conda-forge +mpg123 1.32.4 h59595ed_0 conda-forge +munkres 1.1.4 pyh9f0ad1d_0 conda-forge +mysql-common 8.3.0 hf1915f5_4 conda-forge +mysql-libs 8.3.0 hca2cd23_4 conda-forge +ncurses 6.4.20240210 h59595ed_0 conda-forge +nspr 4.35 h27087fc_0 conda-forge +nss 3.98 h1d7d5a4_0 conda-forge +numpy 1.26.4 py311h64a7726_0 conda-forge +openjpeg 2.5.2 h488ebb8_0 conda-forge +openssl 3.2.1 hd590300_1 conda-forge +packaging 24.0 pyhd8ed1ab_0 conda-forge +pcre2 10.43 hcad00b1_0 conda-forge +pillow 10.2.0 py311ha6c5da5_0 conda-forge +pip 24.0 pyhd8ed1ab_0 conda-forge +pixman 0.43.2 h59595ed_0 conda-forge +ply 3.11 py_1 conda-forge +pthread-stubs 0.4 h36c2ea0_1001 conda-forge +pulseaudio-client 17.0 hb77b528_0 conda-forge +pyparsing 3.1.2 pyhd8ed1ab_0 conda-forge +pyqt 5.15.9 py311hf0fb5b6_5 conda-forge +pyqt5-sip 12.12.2 py311hb755f60_5 conda-forge +python 3.11.8 hab00c5b_0_cpython conda-forge +python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge +python_abi 3.11 4_cp311 conda-forge +qt-main 5.15.8 h112747c_20 conda-forge +readline 8.2 h8228510_1 conda-forge +scipy 1.12.0 py311h64a7726_2 conda-forge +setuptools 69.2.0 pyhd8ed1ab_0 conda-forge +shadow3 23.8.11 py311hf7cfcf7_0 conda-forge +sip 6.7.12 py311hb755f60_0 conda-forge +six 1.16.0 pyh6c4a22f_0 conda-forge +tk 8.6.13 noxft_h4845f30_101 conda-forge +toml 0.10.2 pyhd8ed1ab_0 conda-forge +tomli 2.0.1 pyhd8ed1ab_0 conda-forge +tzdata 2024a h0c530f3_0 conda-forge +wheel 0.43.0 pyhd8ed1ab_0 conda-forge +xcb-util 0.4.0 hd590300_1 conda-forge +xcb-util-image 0.4.0 h8ee46fc_1 conda-forge +xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge +xcb-util-renderutil 0.3.9 hd590300_1 conda-forge +xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge +xkeyboard-config 2.41 hd590300_0 conda-forge +xorg-kbproto 1.0.7 h7f98852_1002 conda-forge +xorg-libice 1.1.1 hd590300_0 conda-forge +xorg-libsm 1.2.4 h7391055_0 conda-forge +xorg-libx11 1.8.7 h8ee46fc_0 conda-forge +xorg-libxau 1.0.11 hd590300_0 conda-forge +xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge +xorg-libxext 1.3.4 h0b41bf4_2 conda-forge +xorg-libxrender 0.9.11 hd590300_0 conda-forge +xorg-renderproto 0.11.1 h7f98852_1002 conda-forge +xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge +xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge +xorg-xproto 7.0.31 h7f98852_1007 conda-forge +xraylib 4.1.4 py311hf7cfcf7_0 conda-forge +xz 5.2.6 h166bdaf_0 conda-forge +zlib 1.2.13 hd590300_5 conda-forge +zstd 1.5.5 hfc55251_0 conda-forge