diff --git a/bin/bootstrap_epics b/bin/bootstrap_epics index 85d5d3f97c334c6aea5e8244544708d03d95625f..8ce7b414fc2754419e6de31899801af2b40bf86d 100755 --- a/bin/bootstrap_epics +++ b/bin/bootstrap_epics @@ -67,7 +67,7 @@ set -- "${POSITIONAL[@]}" # restore positional parameters # print_the_help # exit #fi - +# #if [ -d "${NAME}" ] #then # echo "Directory ${NAME} exists." @@ -80,61 +80,66 @@ set -- "${POSITIONAL[@]}" # restore positional parameters source setup.sh -#lsb_release -d | grep -i "ubuntu" -# -#if [[ "$?" == "0" ]] ; then -# sudo apt-get install -y \ -# re2c libreadline-dev libusb-dev \ -# libusb-java libusb-1.0-0-dev libnet1-dev \ -# python-pip \ -# libpcap-dev libx11-dev libxext-dev python-numpy -# if [[ "$(uname -m)" == "aarch64" ]] ; then -# sudo apt-get install -y python-rpi.gpio python3-rpi.gpio -# fi -# sudo pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org spidev -#fi -# -#git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0 -#ln -s base-7.0 base -# -#pushd base -#make -#popd -# -#wget -qO- https://epics.anl.gov/bcda/synApps/tar/synApps_6_0.tar.gz | tar -zxf - - -#pushd synApps/support -#ln -s calc-R3-7-1 calc -#ln -s asyn-R4-33 asyn -#ln -s stream-R2-7-7c stream -#sed -i '1d' configure/RELEASE -#sed -i '1iSUPPORT = /opt/epics/synApps/support' configure/RELEASE -#sed -i '3d' configure/RELEASE -#sed -i '3iEPICS_BASE=/opt/epics/base' configure/RELEASE -#sed -i '17d' configure/RELEASE -#sed -i '17i#DXP=$(SUPPORT)/dxp-R5-0' configure/RELEASE -# -#sed -i '34d' configure/RELEASE -#sed -i '34i#SSCAN=$(SUPPORT)/sscan-R2-11-1' configure/RELEASE -# -# -#sed -i '46d' configure/RELEASE -#sed -i '45d' configure/RELEASE -#sed -i '44d' configure/RELEASE -#sed -i '43d' configure/RELEASE -#sed -i '42d' configure/RELEASE -#sed -i '41d' configure/RELEASE -#echo '#AREA_DETECTOR=$(SUPPORT)/areaDetector-R3-3-1' >> configure/RELEASE -#echo '#ADCORE=$(AREA_DETECTOR)/ADCore' >> configure/RELEASE -#echo '#ADSUPPORT=$(AREA_DETECTOR)/ADSupport' >> configure/RELEASE -#echo '#ADSIMDETECTOR=$(AREA_DETECTOR)/ADSimDetector' >> configure/RELEASE -#echo '#SNCSEQ=$(SUPPORT)/seq-2-2-5' >> configure/RELEASE -#echo '#ALLEN_BRADLEY=$(SUPPORT)/allenBradley-2-3' >> configure/RELEASE -# -#make release -#make -# -#popd +yes_or_no "build epics base" +if [[ $? ]] ; then + + lsb_release -d | grep -i "ubuntu" + + if [[ "$?" == "0" ]] ; then + sudo apt-get install -y \ + re2c libreadline-dev libusb-dev \ + libusb-java libusb-1.0-0-dev libnet1-dev \ + python-pip \ + libpcap-dev libx11-dev libxext-dev python-numpy + if [[ "$(uname -m)" == "aarch64" ]] ; then + sudo apt-get install -y python-rpi.gpio python3-rpi.gpio + fi + sudo pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org spidev + fi + + git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0 + ln -s base-7.0 base + + pushd base + make + popd + + wget -qO- https://epics.anl.gov/bcda/synApps/tar/synApps_6_0.tar.gz | tar -zxf - + + pushd synApps/support + ln -s calc-R3-7-1 calc + ln -s asyn-R4-33 asyn + ln -s stream-R2-7-7c stream + sed -i '1d' configure/RELEASE + sed -i '1iSUPPORT = /opt/epics/synApps/support' configure/RELEASE + sed -i '3d' configure/RELEASE + sed -i '3iEPICS_BASE=/opt/epics/base' configure/RELEASE + sed -i '17d' configure/RELEASE + sed -i '17i#DXP=$(SUPPORT)/dxp-R5-0' configure/RELEASE + + sed -i '34d' configure/RELEASE + sed -i '34i#SSCAN=$(SUPPORT)/sscan-R2-11-1' configure/RELEASE + + + sed -i '46d' configure/RELEASE + sed -i '45d' configure/RELEASE + sed -i '44d' configure/RELEASE + sed -i '43d' configure/RELEASE + sed -i '42d' configure/RELEASE + sed -i '41d' configure/RELEASE + echo '#AREA_DETECTOR=$(SUPPORT)/areaDetector-R3-3-1' >> configure/RELEASE + echo '#ADCORE=$(AREA_DETECTOR)/ADCore' >> configure/RELEASE + echo '#ADSUPPORT=$(AREA_DETECTOR)/ADSupport' >> configure/RELEASE + echo '#ADSIMDETECTOR=$(AREA_DETECTOR)/ADSimDetector' >> configure/RELEASE + echo '#SNCSEQ=$(SUPPORT)/seq-2-2-5' >> configure/RELEASE + echo '#ALLEN_BRADLEY=$(SUPPORT)/allenBradley-2-3' >> configure/RELEASE + + make release + make + + popd + +fi yes_or_no "Build extenstions" if [[ "$?" ]] ; then diff --git a/dm/test_laser.ui b/dm/test_laser.ui new file mode 100644 index 0000000000000000000000000000000000000000..66e8362bffd16e47da9a802a9ef9f556c5bab805 --- /dev/null +++ b/dm/test_laser.ui @@ -0,0 +1,410 @@ +<?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>800</width> + <height>600</height> + </rect> + </property> + <property name="windowTitle"> + <string>MainWindow</string> + </property> + <widget class="QWidget" name="centralwidget"> + <widget class="QGroupBox" name="groupBox"> + <property name="geometry"> + <rect> + <x>40</x> + <y>140</y> + <width>241</width> + <height>381</height> + </rect> + </property> + <property name="title"> + <string>Laser 1</string> + </property> + <widget class="caThermo" name="cathermo"> + <property name="geometry"> + <rect> + <x>20</x> + <y>40</y> + <width>20</width> + <height>331</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:gcur</string> + </property> + </widget> + <widget class="caByte" name="cabyte"> + <property name="geometry"> + <rect> + <x>50</x> + <y>50</y> + <width>20</width> + <height>311</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:glstat</string> + </property> + </widget> + <widget class="caTextEntry" name="catextentry"> + <property name="geometry"> + <rect> + <x>169</x> + <y>150</y> + <width>51</width> + <height>22</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:scur</string> + </property> + <property name="precision"> + <number>1</number> + </property> + <property name="precisionMode"> + <enum>caLineEdit::User</enum> + </property> + </widget> + <widget class="caToggleButton" name="catogglebutton"> + <property name="geometry"> + <rect> + <x>80</x> + <y>60</y> + <width>100</width> + <height>22</height> + </rect> + </property> + <property name="text"> + <string>on/off</string> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:switch</string> + </property> + </widget> + <widget class="caLed" name="caled"> + <property name="geometry"> + <rect> + <x>100</x> + <y>30</y> + <width>30</width> + <height>30</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:state</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit"> + <property name="geometry"> + <rect> + <x>120</x> + <y>90</y> + <width>51</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:glstat</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit_2"> + <property name="geometry"> + <rect> + <x>170</x> + <y>120</y> + <width>51</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:gcur</string> + </property> + </widget> + <widget class="QLabel" name="label"> + <property name="geometry"> + <rect> + <x>80</x> + <y>90</y> + <width>31</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>lstat</string> + </property> + </widget> + <widget class="QLabel" name="label_2"> + <property name="geometry"> + <rect> + <x>80</x> + <y>120</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>diode current</string> + </property> + </widget> + <widget class="QLabel" name="label_3"> + <property name="geometry"> + <rect> + <x>80</x> + <y>150</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>set current</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit_3"> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>71</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l1:gserial</string> + </property> + </widget> + <zorder>cathermo</zorder> + <zorder>cabyte</zorder> + <zorder>catextentry</zorder> + <zorder>catogglebutton</zorder> + <zorder>caled</zorder> + <zorder>calineedit</zorder> + <zorder>calineedit_2</zorder> + <zorder>label</zorder> + <zorder>label_2</zorder> + <zorder>label_3</zorder> + <zorder>calineedit_3</zorder> + <zorder>canumeric</zorder> + </widget> + <widget class="caGraphics" name="cagraphics"> + <property name="geometry"> + <rect> + <x>100</x> + <y>10</y> + <width>481</width> + <height>111</height> + </rect> + </property> + </widget> + <widget class="QGroupBox" name="groupBox_2"> + <property name="geometry"> + <rect> + <x>340</x> + <y>140</y> + <width>241</width> + <height>381</height> + </rect> + </property> + <property name="title"> + <string>Laser 2</string> + </property> + <widget class="caThermo" name="cathermo_2"> + <property name="geometry"> + <rect> + <x>20</x> + <y>40</y> + <width>20</width> + <height>331</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:gcur</string> + </property> + </widget> + <widget class="caByte" name="cabyte_2"> + <property name="geometry"> + <rect> + <x>50</x> + <y>50</y> + <width>20</width> + <height>311</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:glstat</string> + </property> + </widget> + <widget class="caTextEntry" name="catextentry_2"> + <property name="geometry"> + <rect> + <x>169</x> + <y>150</y> + <width>51</width> + <height>22</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:scur</string> + </property> + <property name="precision"> + <number>1</number> + </property> + <property name="precisionMode"> + <enum>caLineEdit::User</enum> + </property> + </widget> + <widget class="caToggleButton" name="catogglebutton_2"> + <property name="geometry"> + <rect> + <x>80</x> + <y>60</y> + <width>100</width> + <height>22</height> + </rect> + </property> + <property name="text"> + <string>on/off</string> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:switch</string> + </property> + </widget> + <widget class="caLed" name="caled_2"> + <property name="geometry"> + <rect> + <x>100</x> + <y>30</y> + <width>30</width> + <height>30</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:state</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit_4"> + <property name="geometry"> + <rect> + <x>120</x> + <y>90</y> + <width>51</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:glstat</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit_5"> + <property name="geometry"> + <rect> + <x>170</x> + <y>120</y> + <width>51</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:gcur</string> + </property> + </widget> + <widget class="QLabel" name="label_4"> + <property name="geometry"> + <rect> + <x>80</x> + <y>90</y> + <width>31</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>lstat</string> + </property> + </widget> + <widget class="QLabel" name="label_5"> + <property name="geometry"> + <rect> + <x>80</x> + <y>120</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>diode current</string> + </property> + </widget> + <widget class="QLabel" name="label_6"> + <property name="geometry"> + <rect> + <x>80</x> + <y>150</y> + <width>81</width> + <height>16</height> + </rect> + </property> + <property name="text"> + <string>set current</string> + </property> + </widget> + <widget class="caLineEdit" name="calineedit_6"> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>71</width> + <height>20</height> + </rect> + </property> + <property name="channel" stdset="0"> + <string notr="true">raytum:l2:gserial</string> + </property> + </widget> + </widget> + </widget> + </widget> + <customwidgets> + <customwidget> + <class>caTextEntry</class> + <extends>caLineEdit</extends> + <header>caTextEntry</header> + </customwidget> + <customwidget> + <class>caToggleButton</class> + <extends>QCheckBox</extends> + <header>caToggleButton</header> + </customwidget> + <customwidget> + <class>caGraphics</class> + <extends>QWidget</extends> + <header>caGraphics</header> + </customwidget> + <customwidget> + <class>caLed</class> + <extends>QWidget</extends> + <header>caLed</header> + </customwidget> + <customwidget> + <class>caLineEdit</class> + <extends>QLineEdit</extends> + <header>caLineEdit</header> + </customwidget> + <customwidget> + <class>caThermo</class> + <extends>QWidget</extends> + <header>caThermo</header> + </customwidget> + <customwidget> + <class>caByte</class> + <extends>QWidget</extends> + <header>caByte</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/opi/lasers.bob b/opi/lasers.bob index fe0e5a152db6dfff9d07b58c0de0db8a7556073c..91773b9ed8fa7d8b08f1d836b000aa2af9066f0d 100644 --- a/opi/lasers.bob +++ b/opi/lasers.bob @@ -60,8 +60,8 @@ <name>Laser</name> <x>70</x> <y>300</y> - <width>530</width> - <height>70</height> + <width>690</width> + <height>110</height> <widget type="led" version="2.0.0"> <name>LED</name> <pv_name>daq:l1:state</pv_name> @@ -102,6 +102,29 @@ <y>2</y> <height>30</height> </widget> + <widget type="slide_button" version="2.0.0"> + <name>Slide Button_1</name> + <pv_name>daq:l1:switch</pv_name> + <x>532</x> + <y>2</y> + </widget> + <widget type="textentry" version="3.0.0"> + <name>Text Entry</name> + <pv_name>daq:l1:scur</pv_name> + <x>42</x> + <y>34</y> + <width>110</width> + <height>30</height> + <precision>3</precision> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>Text Update_2</name> + <pv_name>daq:l1:gcur</pv_name> + <x>182</x> + <y>34</y> + <width>130</width> + <height>40</height> + </widget> </widget> <widget type="byte_monitor" version="2.0.0"> <name>Byte Monitor</name> @@ -111,10 +134,57 @@ <width>450</width> <height>40</height> </widget> - <widget type="slide_button" version="2.0.0"> - <name>Slide Button_1</name> - <pv_name>daq:l1:switch</pv_name> - <x>680</x> - <y>330</y> + <widget type="group" version="2.0.0"> + <name>Laser_1</name> + <x>70</x> + <y>410</y> + <width>690</width> + <height>70</height> + <widget type="led" version="2.0.0"> + <name>LED_1</name> + <pv_name>daq:l2:state</pv_name> + <x>232</x> + <y>2</y> + <width>40</width> + <height>32</height> + <on_color> + <color red="255" green="0" blue="0"> + </color> + </on_color> + </widget> + <widget type="bool_button" version="2.0.0"> + <name>Boolean Button_2</name> + <pv_name>daq:l2:off</pv_name> + <x>382</x> + <y>2</y> + <width>80</width> + <height>32</height> + <off_label>Turn Off</off_label> + <off_image>Turning off ...</off_image> + <show_led>false</show_led> + </widget> + <widget type="bool_button" version="2.0.0"> + <name>Boolean Button_3</name> + <pv_name>daq:l2:on</pv_name> + <x>282</x> + <y>2</y> + <width>90</width> + <height>32</height> + <off_label>Turn On</off_label> + <show_led>false</show_led> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>Text Update_1</name> + <pv_name>daq:l2:gserial</pv_name> + <x>122</x> + <y>2</y> + <height>30</height> + </widget> + <widget type="slide_button" version="2.0.0"> + <name>Slide Button_2</name> + <pv_name>daq:l2:switch</pv_name> + <x>532</x> + <y>2</y> + </widget> </widget> </display> diff --git a/setup.sh b/setup.sh index 03f323c0b7c0b70eab7c536a81f6472f79346a45..48ab445dbc545ba934e98b63a1ac108e1fc5be10 100644 --- a/setup.sh +++ b/setup.sh @@ -17,8 +17,8 @@ export LD_LIBRARY_PATH=$EPICS_ROOT/lib:$LD_LIBRARY_PATH export PATH=$EPICS_BASE/bin/$EPICS_HOST_ARCH:$PATH export LD_LIBRARY_PATH=$EPICS_BASE/lib/$EPICS_HOST_ARCH:$LD_LIBRARY_PATH -export EPICS_CA_AUTO_ADDR_LIST=NO -export EPICS_CA_ADDR_LIST=10.10.241.0 +export EPICS_CA_AUTO_ADDR_LIST=YES +#export EPICS_CA_ADDR_LIST=10.10.241.0 # support export ASYN=$EPICS_ROOT/synApps/support/asyn