new file: CSS/vemclient.css~
deleted: File/CSS/icon/TEM1icon.png
deleted: File/CSS/icon/TEM2icon.png
deleted: File/CSS/icon/TEM3icon.png
deleted: File/log.txt
new file: JS/Currentcondition.js~
new file: JS/TemControl.js~
new file: JS/ajax.js~
modified: JS/canvas.js
modified: JS/emcontrol.js
new file: JS/filecontrol.js~
new file: JS/filedownload.js~
new file: JS/mscontrol.js~
new file: JS/stagecontrol.js~
modified: app/vemapi.rb
renamed: key.jpg -> disuse/key.jpg
renamed: lollytin/canvasp.js -> disuse/lollytin/canvasp.js
renamed: lollytin/css/bootstrap-3.1.1.min.css -> disuse/lollytin/css/bootstrap-3.1.1.min.css
renamed: lollytin/css/custom.css -> disuse/lollytin/css/custom.css
renamed: lollytin/css/lollies.min.css -> disuse/lollytin/css/lollies.min.css
renamed: lollytin/file.js -> disuse/lollytin/file.js
renamed: lollytin/fonts/font-awesome-4.1.0/css/font-awesome.css -> disuse/lollytin/fonts/font-awesome-4.1.0/css/font-awesome.css
renamed: lollytin/fonts/font-awesome-4.1.0/css/font-awesome.min.css -> disuse/lollytin/fonts/font-awesome-4.1.0/css/font-awesome.min.css
renamed: lollytin/fonts/font-awesome-4.1.0/fonts/FontAwesome.otf -> disuse/lollytin/fonts/font-awesome-4.1.0/fonts/FontAwesome.otf
renamed: lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.eot -> disuse/lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.eot
renamed: lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg -> disuse/lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
renamed: lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf -> disuse/lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf
renamed: lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff -> disuse/lollytin/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff
renamed: lollytin/fonts/font-awesome-4.1.0/less/bordered-pulled.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/bordered-pulled.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/core.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/core.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/fixed-width.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/fixed-width.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/font-awesome.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/font-awesome.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/icons.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/icons.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/larger.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/larger.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/list.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/list.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/mixins.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/mixins.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/path.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/path.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/rotated-flipped.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/rotated-flipped.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/spinning.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/spinning.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/stacked.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/stacked.less
renamed: lollytin/fonts/font-awesome-4.1.0/less/variables.less -> disuse/lollytin/fonts/font-awesome-4.1.0/less/variables.less
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_bordered-pulled.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_bordered-pulled.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_core.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_core.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_fixed-width.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_fixed-width.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_icons.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_icons.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_larger.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_larger.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_list.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_list.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_mixins.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_mixins.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_path.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_path.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_rotated-flipped.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_rotated-flipped.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_spinning.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_spinning.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_stacked.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_stacked.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/_variables.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/_variables.scss
renamed: lollytin/fonts/font-awesome-4.1.0/scss/font-awesome.scss -> disuse/lollytin/fonts/font-awesome-4.1.0/scss/font-awesome.scss
renamed: lollytin/grey_background.jpg -> disuse/lollytin/grey_background.jpg
renamed: lollytin/img/Thumbs.db -> disuse/lollytin/img/Thumbs.db
renamed: lollytin/img/gallery-img.gif -> disuse/lollytin/img/gallery-img.gif
renamed: lollytin/img/icons/facebook.png -> disuse/lollytin/img/icons/facebook.png
renamed: lollytin/img/icons/gplus.png -> disuse/lollytin/img/icons/gplus.png
renamed: lollytin/img/icons/instagram.png -> disuse/lollytin/img/icons/instagram.png
renamed: lollytin/img/icons/linkedin.png -> disuse/lollytin/img/icons/linkedin.png
renamed: lollytin/img/icons/phone.png -> disuse/lollytin/img/icons/phone.png
renamed: lollytin/img/icons/tumblr.png -> disuse/lollytin/img/icons/tumblr.png
renamed: lollytin/img/icons/twitter.png -> disuse/lollytin/img/icons/twitter.png
renamed: lollytin/img/icons/youtube.png -> disuse/lollytin/img/icons/youtube.png
renamed: lollytin/img/mapicon.png -> disuse/lollytin/img/mapicon.png
renamed: lollytin/img/psbg.png -> disuse/lollytin/img/psbg.png
renamed: lollytin/js/bootstrap-3.1.1.min.js -> disuse/lollytin/js/bootstrap-3.1.1.min.js
renamed: lollytin/js/custom.js -> disuse/lollytin/js/custom.js
renamed: lollytin/js/html5shiv-3.7.0.js -> disuse/lollytin/js/html5shiv-3.7.0.js
renamed: lollytin/js/jquery-1.7.2.min.js -> disuse/lollytin/js/jquery-1.7.2.min.js
renamed: lollytin/js/lollies.min.js -> disuse/lollytin/js/lollies.min.js
renamed: lollytin/plugins/respond-1.4.2.min.js -> disuse/lollytin/js/respond-1.4.2.min.js
renamed: lollytin/nbproject/project.properties -> disuse/lollytin/nbproject/project.properties
renamed: lollytin/nbproject/project.xml -> disuse/lollytin/nbproject/project.xml
renamed: lollytin/option.js -> disuse/lollytin/option.js
renamed: lollytin/plugins/backstretch/backstretch-2.0.4.min.js -> disuse/lollytin/plugins/backstretch/backstretch-2.0.4.min.js
renamed: lollytin/plugins/camera-slider/Camera-master/images/Thumbs.db -> disuse/lollytin/plugins/camera-slider/Camera-master/images/Thumbs.db
renamed: lollytin/plugins/camera-slider/Camera-master/images/camera-loader.gif -> disuse/lollytin/plugins/camera-slider/Camera-master/images/camera-loader.gif
renamed: lollytin/plugins/camera-slider/Camera-master/images/camera_skins.png -> disuse/lollytin/plugins/camera-slider/Camera-master/images/camera_skins.png
renamed: lollytin/plugins/camera-slider/camera-slider-1.3.4.min.css -> disuse/lollytin/plugins/camera-slider/camera-slider-1.3.4.min.css
renamed: lollytin/plugins/camera-slider/camera-slider-1.3.4.min.js -> disuse/lollytin/plugins/camera-slider/camera-slider-1.3.4.min.js
renamed: lollytin/plugins/camera-slider/easing-1.3.min.js -> disuse/lollytin/plugins/camera-slider/easing-1.3.min.js
renamed: lollytin/plugins/fancybox/Thumbs.db -> disuse/lollytin/plugins/fancybox/Thumbs.db
renamed: lollytin/plugins/fancybox/blank.gif -> disuse/lollytin/plugins/fancybox/blank.gif
renamed: lollytin/plugins/fancybox/fancy_close.png -> disuse/lollytin/plugins/fancybox/fancy_close.png
renamed: lollytin/plugins/fancybox/fancy_loading.png -> disuse/lollytin/plugins/fancybox/fancy_loading.png
renamed: lollytin/plugins/fancybox/fancy_nav_left.png -> disuse/lollytin/plugins/fancybox/fancy_nav_left.png
renamed: lollytin/plugins/fancybox/fancy_nav_right.png -> disuse/lollytin/plugins/fancybox/fancy_nav_right.png
renamed: lollytin/plugins/fancybox/fancy_shadow_e.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_e.png
renamed: lollytin/plugins/fancybox/fancy_shadow_n.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_n.png
renamed: lollytin/plugins/fancybox/fancy_shadow_ne.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_ne.png
renamed: lollytin/plugins/fancybox/fancy_shadow_nw.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_nw.png
renamed: lollytin/plugins/fancybox/fancy_shadow_s.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_s.png
renamed: lollytin/plugins/fancybox/fancy_shadow_se.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_se.png
renamed: lollytin/plugins/fancybox/fancy_shadow_sw.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_sw.png
renamed: lollytin/plugins/fancybox/fancy_shadow_w.png -> disuse/lollytin/plugins/fancybox/fancy_shadow_w.png
renamed: lollytin/plugins/fancybox/fancy_title_left.png -> disuse/lollytin/plugins/fancybox/fancy_title_left.png
renamed: lollytin/plugins/fancybox/fancy_title_main.png -> disuse/lollytin/plugins/fancybox/fancy_title_main.png
renamed: lollytin/plugins/fancybox/fancy_title_over.png -> disuse/lollytin/plugins/fancybox/fancy_title_over.png
renamed: lollytin/plugins/fancybox/fancy_title_right.png -> disuse/lollytin/plugins/fancybox/fancy_title_right.png
renamed: lollytin/plugins/fancybox/fancybox-1.3.4.min.css -> disuse/lollytin/plugins/fancybox/fancybox-1.3.4.min.css
renamed: lollytin/plugins/fancybox/fancybox-1.3.4.pack.js -> disuse/lollytin/plugins/fancybox/fancybox-1.3.4.pack.js
renamed: lollytin/plugins/fancybox/fancybox-x.png -> disuse/lollytin/plugins/fancybox/fancybox-x.png
renamed: lollytin/plugins/fancybox/fancybox-y.png -> disuse/lollytin/plugins/fancybox/fancybox-y.png
renamed: lollytin/plugins/fancybox/fancybox.png -> disuse/lollytin/plugins/fancybox/fancybox.png
renamed: lollytin/plugins/fancybox/klass-1.0.min.js -> disuse/lollytin/plugins/fancybox/klass-1.0.min.js
renamed: lollytin/plugins/fancybox/photoswipe-3.0.5.min.css -> disuse/lollytin/plugins/fancybox/photoswipe-3.0.5.min.css
renamed: lollytin/plugins/fancybox/photoswipe-3.0.5.min.js -> disuse/lollytin/plugins/fancybox/photoswipe-3.0.5.min.js
renamed: lollytin/plugins/hover-animations/b70.png -> disuse/lollytin/plugins/hover-animations/b70.png
renamed: lollytin/plugins/hover-animations/hover-animations-1.0.min.css -> disuse/lollytin/plugins/hover-animations/hover-animations-1.0.min.css
renamed: lollytin/plugins/hover-animations/hover-animations-1.0.min.js -> disuse/lollytin/plugins/hover-animations/hover-animations-1.0.min.js
renamed: lollytin/plugins/hover-animations/transform2d.min.js -> disuse/lollytin/plugins/hover-animations/transform2d.min.js
renamed: lollytin/plugins/justinaguilar-animations/animations.css -> disuse/lollytin/plugins/justinaguilar-animations/animations.css
renamed: lollytin/plugins/match-height/match-height-0.5.1.min.js -> disuse/lollytin/plugins/match-height/match-height-0.5.1.min.js
renamed: lollytin/js/respond-1.4.2.min.js -> disuse/lollytin/plugins/respond-1.4.2.min.js
renamed: lollytin/plugins/validation/Thumbs.db -> disuse/lollytin/plugins/validation/Thumbs.db
renamed: lollytin/plugins/validation/captchaoverlay.png -> disuse/lollytin/plugins/validation/captchaoverlay.png
renamed: lollytin/plugins/validation/validation-2.2.min.css -> disuse/lollytin/plugins/validation/validation-2.2.min.css
renamed: lollytin/plugins/validation/validation-2.2.min.js -> disuse/lollytin/plugins/validation/validation-2.2.min.js
renamed: lollytin/practice.js -> disuse/lollytin/practice.js
renamed: lollytin/sample.html -> disuse/lollytin/sample.html
renamed: lollytin/tags.html -> disuse/lollytin/tags.html
renamed: lollytin/ver2.html -> disuse/lollytin/ver2.html
renamed: lollytin/ver3-2.html -> disuse/lollytin/ver3-2.html
renamed: lollytin/ver3.html -> disuse/lollytin/ver3.html
renamed: lollytin/white_background.png -> disuse/lollytin/white_background.png
renamed: nbproject/project.properties -> disuse/nbproject/project.properties
renamed: nbproject/project.xml -> disuse/nbproject/project.xml
renamed: test.html -> disuse/test.html
renamed: test2.html -> disuse/test2.html
renamed: ver3-2.html -> disuse/ver3-2.html
renamed: wg.gif -> disuse/wg.gif
renamed: whitegray.html -> disuse/whitegray.html
renamed: whitegray.jpg -> disuse/whitegray.jpg
renamed: whitegray_files/analytics.js -> disuse/whitegray_files/analytics.js
renamed: whitegray_files/ca-pub-
1371203131723711.js -> disuse/whitegray_files/ca-pub-
1371203131723711.js
renamed: whitegray_files/colorsample.css -> disuse/whitegray_files/colorsample.css
renamed: whitegray_files/show_ads.js -> disuse/whitegray_files/show_ads.js
renamed: whitegray_files/sp.gif -> disuse/whitegray_files/sp.gif
renamed: whitegray_files/widgets.js -> disuse/whitegray_files/widgets.js
renamed: "\343\203\200\343\202\246\343\203\263\343\203\255\343\203\274\343\203\211.tiff" -> "disuse/\343\203\200\343\202\246\343\203\263\343\203\255\343\203\274\343\203\211.tiff"
renamed: "CC124crude\343\203\200\343\202\244\343\203\213\343\203\263.jpg" -> "image/CC124crude\343\203\200\343\202\244\343\203\213\343\203\263.jpg"
renamed: axoF11-2 .jpg -> image/axoF11-2 .jpg
renamed: fla.jpg -> image/disuse/fla.jpg
renamed: purin.jpeg -> image/disuse/purin.jpeg
renamed: yuri.jpg -> image/disuse/yuri.jpg
renamed: ef2000.jpg -> image/ef2000.jpg
renamed: ele.jpg -> image/ele.jpg
renamed: fei.jpg -> image/fei.jpg
renamed: fei.png -> image/fei.png
renamed: flower.jpg -> image/flower.jpg
renamed: hi.png -> image/hi.png
renamed: hi2.png -> image/hi2.png
renamed: jeol.jpg -> image/jeol.jpg
renamed: jeol.png -> image/jeol.png
renamed: select.html -> index.html
renamed: File/CSS/vemclient.css -> tsurutafile/File/CSS/vemclient.css
renamed: cgi-bin/activetem.rb -> tsurutafile/cgi-bin/activetem.rb
new file: tsurutafile/cgi-bin/activetem.rb~
renamed: cgi-bin/implementation.rb -> tsurutafile/cgi-bin/implementation.rb
new file: tsurutafile/cgi-bin/implementation.rb~
renamed: cgi-bin/settem.rb -> tsurutafile/cgi-bin/settem.rb
new file: tsurutafile/cgi-bin/settem.rb~
renamed: cgi-bin/vemclient.rb -> tsurutafile/cgi-bin/vemclient.rb
new file: tsurutafile/cgi-bin/vemclient.rb~
renamed: emcontrol.js -> tsurutafile/emcontrol.js
renamed: images/download.gif -> tsurutafile/images/download.gif
renamed: images/download.mrc -> tsurutafile/images/download.mrc
renamed: images/download.tif -> tsurutafile/images/download.tif
renamed: images/leaf.gif -> tsurutafile/images/leaf.gif
renamed: images/leaf.mrc -> tsurutafile/images/leaf.mrc
renamed: images/leaf.tif -> tsurutafile/images/leaf.tif
renamed: images/test.gif -> tsurutafile/images/test.gif
renamed: images/test.mrc -> tsurutafile/images/test.mrc
renamed: images/test.tif -> tsurutafile/images/test.tif
renamed: vem.html -> tsurutafile/vem.html
new file: tsurutafile/vem.html~
renamed: vemserver.rb -> tsurutafile/vemserver.rb
new file: tsurutafile/vemserver.rb~
modified: wits_fei.html
modified: wits_hitachi.html
modified: wits_jeol.html
--- /dev/null
+body{
+ background-color:#F5FFFA;
+ margin-left:auto;
+ margin-right:auto;
+ text-align:center;
+ width:90%;
+}
+
+#HITACHI {
+ border:0px;
+ height:141px;
+ width:300px;
+ background:url(icon/TEM1icon.png) left top no-repeat;
+}
+
+#FEI {
+ border:0px;
+ height:141px;
+ width:300px;
+ background:url(icon/TEM2icon.png) left top no-repeat;
+}
+
+#JEOL {
+ border:0px;
+ height:141px;
+ width:300px;
+ background:url(icon/TEM3icon.png) left top no-repeat;
+}
+
+#container{
+ width:1000px;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+#leftside{
+ width:580px;
+ float:left;
+ margin: 10px;
+}
+
+#rightside{
+ width:380px;
+ float:left;
+ margin: 10px;
+}
+
+div#left{
+ float:left;
+ position:absolute;
+ left:150px;
+ text-align:left;
+}
+div#right{
+ position:relative;
+ left:80px;
+}
+.clearRight{
+ clear:left;
+}
+.box{
+ position:absolute;
+ text-align:left;
+ left:60px;
+}
+++ /dev/null
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Accepted!
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect JEOL
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect JEOL
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect JEOL
-Connect JEOL
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect JEOL
-Accepted!
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect JEOL
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect HITACHI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect HITACHI
-Connect FEI
-Connect FEI
-Connect FEI
--- /dev/null
+function Currentcondition(command) {
+
+ var ajax=getAjax();
+
+ if(command == "request"){
+ var position1 = document.getElementById("Position");
+ var magnificant = document.getElementById("Magnificant");
+ var brightness = document.getElementById("Brightness");
+ var contrast = document.getElementById("Contrast");
+ var forcus = document.getElementById("Forcus");
+ var voltage = document.getElementById("Voltage");
+ }else {
+ var position1 = document.anchorsgetElementById("result");
+ }
+
+ if (ajax) {
+ try{
+ ajax.onreadystatechange = getData;
+ }catch(e){
+ position1.innerHTML="Onreadystate change error.";
+ }
+
+ try{
+ ajax.open("GET","//localhost:8000/cgi-bin/vemclient.rb?command="+encodeURIComponent(command),true);
+ }catch(e){
+ position1.innerHTML = "ajax open error";
+ }
+
+ try {
+ ajax.send(null);
+ }catch (e) {
+ position1.innerHTML ="send error";
+ }
+
+ }else {
+ position1.innerHTML = "you cannot use ajax....";
+ }
+
+ function getData() {
+ if (ajax.readyState==4) {
+ if (ajax.status==200) {
+ console.log("Hello!");
+
+ var resultjson = ajax.responseText;
+ resultjson=JSON.parse(resultjson);
+ console.log(typeof resultjson);
+ /*
+ for (key in resultjson) {
+ console.log(key+":"+resultjson(key));
+ }
+ */
+ //position1.innerHTML=resultjson;
+
+ position1.innerHTML = "x="+resultjson["Current_stageX"]+" y="+resultjson['Current_stageY']+" z="+resultjson['Current_stageZ']+" a="+resultjson['Current_stageA'];
+ magnificant.innerHTML = "Magnificant:"+resultjson['Magnificant'];
+ brightness.innerHTML = "Brightness:"+resultjson['Brightness'];
+ contrast.innerHTML = "Contrast:"+resultjson['Contrast'];
+ forcus.innerHTML = "Forcus:"+resultjson['Forcus'];
+ voltage.innerHTML = "Voltage:"+resultjson['Voltage'];
+ // result.innerHTML = ajax.responseText;
+ }else {
+ position1.innerHTML = "HTTP transmission....";
+ }
+ }
+ }
+ }
\ No newline at end of file
--- /dev/null
+function TemControl(command,parameter){
+
+ var ajax = getAjax();
+
+ if(command == "Connect"){
+ var result = document.getElementById("connection");
+ }else{
+ var result = document.getElementById("result");
+ }
+
+ if(ajax){
+ try{
+ ajax.onreadystatechange = getData;
+ }catch(e){
+ result.innerHTML = "onreadystate change error";
+ }
+
+ try{
+ ajax.open("GET","//localhost:8000/cgi-bin/vemclient.rb?command="+encodeURIComponent(command)+"¶meter="+encodeURIComponent(parameter),true);
+ }catch(e){
+ result.innerHTML = "ajax open error";
+ }
+
+ try{
+ ajax.send(null);
+ }catch(e){
+ result.innerHTML = "send error";
+ }
+ }else{
+ result.innerHTML = "you cannot use ajax...";
+ }
+
+ function getData(){
+ if(ajax.readyState == 4){
+ if(ajax.status == 200){
+ result.innerHTML = ajax.responseText;
+ if(ajax.responseText.match(/Control/i)){
+ a = ajax.responseText.split(" ");
+ alert(a[1]+a[2]);
+ }
+ }else{
+ result.innerHTML = "HTTP error";
+ }
+ }else{
+ result.innerHTML = "HTTP Transmission...";
+ }
+ }
+
+}
--- /dev/null
+function getAjax(){
+ var ajax = null;
+ try{
+ ajax = new XMLHttpRequest();
+ }catch(e){
+ try{
+ ajax = new ActiveXObject("Msxml2.XMLHTTP");
+ }catch(e){
+ try{
+ ajax = new ActiveXObject("Microsoft.XMLHTTP");
+ }catch(e){
+ alert("Not Init");
+ }
+ }
+ }
+ return ajax;
+}
var insingle = document.getElementById('singleparticlecontents');
var intomo = document.getElementById('tomography');
var inmds = document.getElementById('mds');
-
+
if (insingle.style.display == "") {
canvasmode = 1;
canvasApp();
*/
//var movex = document.forms.movestage.movex.value;
//var movey = document.forms.movestage.movey.value;
-/*
+/*
function putTxt(){
document.onkeydown = funcKey;
}
if (gamepad.axes[1] > 0.5) {
movey = parseInt(movey) + parseInt(10);
canvasApp();
-
+
}
},1000/60);
*/
}
}
}, 1000 / 60);
-
-
+
+
window.addEventListener("gamepaddisconnected", function(e) {
console.log("gamepad disconnected");
});
e.gamepad.index, e.gamepad.id,
e.gamepad.buttons.length, e.gamepad.axes.length);
});
-
+
};
//if(document.forms.movestage.movey.value!=moveformy){
moveformy = document.forms.movestage.movey.value;
movey=parseInt(moveformy);
-
+
moveformz = document.forms.moveza.movez.value;
movez=parseInt(moveformz);
-
-
+
+
stagecontrol('stage',movex,movey,movez,movea);
emcondition('request');
//}
}
/*
var movez = document.forms.s2.movez.value;
-
+
if (movez == 0) {
movez = 1;
}
}
//見る画像
- img.src = "./CC124crudeダイニン.jpg";
+ img.src = "./image/CC124crudeダイニン.jpg";
//--ふちの設定--現在見えてない
context.strokeStyle = "#000000";
//if(document.forms.movestage.movey.value!=moveformy){
moveformy = document.forms.movestagetomo.movey.value;
movey=parseInt(moveformy);
-
+
moveformz = document.forms.moveztomo.movez.value;
movez=parseInt(moveformz);
-
+
if (tiltmode == 1) {
moveformas = document.forms.setting.standardnum.value;
movea = parseInt(moveformas);
}
/*
var movez = document.forms.s2.movez.value;
-
+
if (movez == 0) {
movez = 1;
}
}
//見る画像
- img.src = "./axoF11-2 .jpg";
+ img.src = "./image/axoF11-2 .jpg";
//--ふちの設定--現在見えてない
context.strokeStyle = "#000000";
document.getElementById("gamepad").style.backgroundColor = 'transparent';
document.getElementById("gamepad2").style.backgroundColor = 'transparent';
document.getElementById("gamepad3").style.backgroundColor = 'transparent';
-
+
if(modename){
document.getElementById(modename).style.backgroundColor = '#e0ffff';
}
}
-/*
+/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
//if(document.forms.movestage.movey.value!=moveformy){
moveformy = document.forms.movestagemds.movey.value;
movey=parseInt(moveformy);
-
+
moveformz = document.forms.movezmds.movez.value;
movez=parseInt(moveformz);
-
-
+
+
stagecontrol('stage',movex,movey,movez,movea);
emcondition('request');
//}
}
/*
var movez = document.forms.s2.movez.value;
-
+
if (movez == 0) {
movez = 1;
}
}
//見る画像
- img.src = "./flower.jpg";
+ img.src = "./image/flower.jpg";
//--ふちの設定--現在見えてない
context.strokeStyle = "#000000";
//if(document.forms.movestage.movey.value!=moveformy){
moveformy = document.forms.movestage.movey.value;
movey=parseInt(moveformy);
-
+
moveformz = document.forms.moveza.movez.value;
movez=parseInt(moveformz);
-
-
+
+
stagecontrol('stage',movex,movey,movez,movea);
emcondition('request');
//}
}*/
/*
var movez = document.forms.s2.movez.value;
-
+
if (movez == 0) {
movez = 1;
}
}
//見る画像
- img.src = "./ele.jpg";
+ img.src = "./image/ele.jpg";
//--ふちの設定--現在見えてない
context.strokeStyle = "#000000";
//わくの輪郭を書く、引数は左端のx,y,幅,高さ
}
drawScreen();
-}
\ No newline at end of file
+}
BeamTiltX3.innerHTML = resultjson['BeamTiltX'];
BeamTiltY3.innerHTML = resultjson['BeamTiltY'];
Speed3.innerHTML = resultjson['Speed'];
-
+
// result.innerHTML = ajax.responseText;
} else {
position1.innerHTML = "HTTP transmission....";
}
if (ajax) {
- try{
+ /* try{
ajax.onreadystatechange = getData;
}catch(e){
result.innerHTML="Onreadystate change error.";
result2.innerHTML="Onreadystate change error.";
result3.innerHTML="Onreadystate change error.";
- }
+ }*/
try{
ajax.open("GET","//localhost:9090/"+encodeURIComponent(emname)+"/set/stagea?x="+encodeURIComponent(absolutex)+"&y="+encodeURIComponent(absolutey)+"&z="+encodeURIComponent(absolutez)+"&a="+encodeURIComponent(absolutea),true);
result.innerHTML = "ajax open error";
result2.innerHTML = "ajax open error";
result3.innerHTML = "ajax open error";
-
+
}
try {
}
}
}
-
+
function objcontrol(command,obj) {
var ajax=getAjax();
result.innerHTML = "ajax open error";
result2.innerHTML = "ajax open error";
result3.innerHTML = "ajax open error";
-
+
}
try {
}
}
}
- }
\ No newline at end of file
+ }
--- /dev/null
+function fileListDialog(files){
+ var name = new Array();
+ var urn = new Array();
+ var type = new Array();
+ var size = new Array();
+ var latest = new Array();
+
+
+ i=0
+ name[i] = files[i].name;
+ urn[i] = files[i].urn;
+ type[i] = files[i].type;
+ size[i] = files[i].size;
+ latest[i] = files[i].lastModifiedDate;
+
+ //display file status
+ var output = "<hr>The number of files is "+files.length+"<br><hr/>";
+ output+="Name:"+name[i]+"<br>"+"URN:"+urn[i]+"<br>"+"Type:"+type[i]+"<br>"+"Size:"+size[i]+"<br>"+"Date:"+latest[i]+"<br><hr>"
+ document.getElementById("filestatus").innerHTML = output;
+
+ document.getElementById("filecontent").innerHTML = "";
+ //get file contents
+ fileread(files,"filecontent","file");
+
+}
+
+function fileread(blob,place,variable){
+ var f = blob[i];
+ var reader = new FileReader();
+
+ if(f.type.match("text.*")){
+ reader.onload = function(e){
+ document.getElementById(place).innerHTML = reader.result;
+ document.getElementById(variable).value = reader.result;
+ document.getElementById("flag").value = "text";
+ }
+ reader.readAsText(f,"utf-8");
+ }
+
+ if(f.type.match("image.*")){
+ reader.onload = function(e){
+ var img = document.createElement("img");
+ img.src = reader.result;
+ document.getElementById(place).appendChild(img);
+ document.getElementById(variable).value = reader.result;
+ document.getElementById("flag").value = "image";
+ }
+ reader.readAsDataURL(f);
+ }
+
+}
+
+
+function onDrop(event){
+ var files = event.dataTransfer.files;
+ var disp = document.getElementById("disp");
+ disp.innerHTML = "";
+
+ for(i=0;i<files.length;i++){
+ var f = files[i];
+ var reader = new FileReader();
+
+ if(!f.type.match('image.*')&&!f.type.match('text.*')){
+ alert("Drag and Drop Image or Text file!");
+ continue;
+ }
+
+ reader.onerror = function(event){
+ disp.innerHTML = "read error!";
+ }
+
+ if(f.type.match('text.*')){
+ reader.onload = function(event){
+ disp.innerHTML = event.target.result;
+ document.getElementById("file").value = reader.result;
+ }
+ reader.readAsText(f,"utf-8");
+ }
+
+ if(f.type.match('image.*')){
+ reader.onload = function(event){
+ var img = document.createElement("img");
+ img.src = event.target.result;
+ disp.appendChild(img);
+ document.getElementById("file").value = reader.result;
+ }
+ reader.readAsDataURL(f);
+ }
+ }
+
+ reader.addEventListener('progress',function(event){
+ document.getElementById("progress").innerHTML = Math.floor((event.loaded / event.total)*100);
+ },true);
+
+ event.preventDefault();
+}
+
+function onDragOver(event){
+ event.preventDefault();
+}
+
--- /dev/null
+function filewrite(){
+ var ajax = getAjax();
+ var result = document.getElementById("link");
+
+ if(ajax){
+ try{
+ ajax.onreadystatechange = getData;
+ }catch(e){
+ result.innerHTML = "onreadystatechange error!"
+ }
+
+ try{
+ ajax.open("GET","//localhost:8000/images/"+document.cameracontrol.input.value+".tif",true);
+ ajax.responseType = 'blob'
+ }catch(e){
+ result.innerHTML = "ajax open error!";
+ }
+
+ try{
+ ajax.send(null);
+ }catch(e){
+ result.innerHTML = "send error!";
+ }
+ }else{
+ result.innerHTML = "you cannot use ajax...";
+ }
+
+ function getData(){
+ if(ajax.readyState == 4){
+ if(ajax.status == 200){
+ var url = window.URL.createObjectURL(this.response)
+ dl_name = document.cameracontrol.dlname.value+"_"+document.cameracontrol.mode.value;
+ result.innerHTML = '<a href="'+url+'" download='+dl_name+'>download_link</a>';
+ }else{
+ result.innerHTML = "HTTP error!";
+ }
+ }else{
+ result.innerHTML = "HTTP Transmission!";
+ }
+ }
+
+}
+
--- /dev/null
+function mscontrol(command,catchvalue) {
+
+ var ajax=getAjax();
+
+ if(command == "Brightnessset"){
+ var result = document.getElementById("Brightness");
+ }else if (command == "Voltageset") {
+ var result = document.getElementById("Voltage");
+ }else {
+ var result = document.getElementById("result");
+ }
+
+ if (ajax) {
+ try{
+ ajax.onreadystatechange = getData;
+ }catch(e){
+ result.innerHTML="Onreadystate change error.";
+ }
+
+ try{
+ ajax.open("GET","//localhost:8000/cgi-bin/vemclient.rb?command="+encodeURIComponent(command)+"&catchvalue="+encodeURIComponent(catchvalue),true);
+ }catch(e){
+ result.innerHTML = "ajax open error";
+ }
+
+ try {
+ ajax.send(null);
+ }catch (e) {
+ result.innerHTML ="send error";
+ }
+
+ }else {
+ result.innerHTML = "you cannot use ajax....";
+ }
+
+ function getData() {
+ if (ajax.readyState==4) {
+ if (ajax.status==200) {
+ result.innerHTML = ajax.responseText;
+ }else {
+ result.innerHTML = "HTTP transmission....";
+ }
+ }
+ }
+ }
\ No newline at end of file
--- /dev/null
+
+function stagecontrol(command,absolutex,absolutey,absolutez,absolutea) {
+
+ var ajax=getAjax();
+
+ if(command == "detailcatch"){
+ var result = document.getElementById("detail");
+ }else {
+ var result = document.anchorsgetElementById("result");
+ }
+
+ if (ajax) {
+ try{
+ ajax.onreadystatechange = getData;
+ }catch(e){
+ result.innerHTML="Onreadystate change error.";
+ }
+
+ try{
+ ajax.open("GET","//localhost:8000/cgi-bin/vemclient.rb?command="+encodeURIComponent(command)+"&x="+encodeURIComponent(absolutex)+"&y="+encodeURIComponent(absolutey)+"&z="+encodeURIComponent(absolutez)+"&a="+encodeURIComponent(absolutea),true);
+ //document.getElementById("mid").innerHTML="absolutex="+absolutex+" absolutey="+absolutey;
+ }catch(e){
+ result.innerHTML = "ajax open error";
+ }
+
+ try {
+ ajax.send(null);
+ }catch (e) {
+ result.innerHTML ="send error";
+ }
+
+ }else {
+ result.innerHTML = "you cannot use ajax....";
+ }
+
+ function getData() {
+ if (ajax.readyState==4) {
+ if (ajax.status==200) {
+ result.innerHTML = ajax.responseText;
+ }else {
+ result.innerHTML = "HTTP transmission....";
+ }
+ }
+ }
+ }
\ No newline at end of file
#!/usr/bin/ruby
-
require 'sinatra/base'
require './vem'
require './hitachicontrol'
require './feicontrol'
require './jeolcontrol'
-
-
class Vemapi < Sinatra::Base
-
@@controls = {
"stagea" => "setStageA",
"stager" => "setStager",
"beamtilt" => "setBeamTilt",
"speed" => "setSpeed"
}
-
- get '/' do
+
+ get '/' do
+ headers \
+ "Access-Control-Allow-origin" => "*"
'VEM API test'
end
get '/:emname/get' do
+ headers \
+ "Access-Control-Allow-origin" => "*"
@@vem = VEM.create("#{params[:emname]}");
result = @@vem.__send__("getCondition")
"#{result}"
end
get '/:emname/set/:command' do
+ headers \
+ "Access-Control-Allow-origin" => "*"
@@vem = VEM.create("#{params[:emname]}");
command = "#{params[:command]}"
result = @@vem.__send__(@@controls[command], params)
end
Vemapi.run! :host => 'localhost', :port => 9090
-
<div class="col-md-4 col-sm-4">
<div class="animate-paraslide animatedEntrance">
<a href="./wits_hitachi.html">
- <img src="./ef2000.jpg"/>
+ <img src="./image/ef2000.jpg"/>
<div class="overlay">
<h3>HITACHI EF-2000</h3>
<p>Use this electron microscope.</p>
<div class="col-md-4 col-sm-4">
<div class="animate-paraslide animatedEntrance">
<a href="./wits_fei.html" onclick="emnamecatch('fei')">
- <img onclick = "emnamecatch('fei')" src="./fei.jpg"/>
+ <img onclick = "emnamecatch('fei')" src="./image/fei.jpg"/>
<div class="overlay">
<h3>FEI TecnaiG^2 Spirit</h3>
<p>Use this electron microscope.</p>
<div class="col-md-4 col-sm-4">
<div class="animate-paraslide animatedEntrance">
<a href="./wits_jeol.html">
- <img onclick = "emnamecatch('jeol')" src="./jeol.jpg" alt="empicture"/>
+ <img onclick = "emnamecatch('jeol')" src="./image/jeol.jpg" alt="empicture"/>
<div class="overlay">
<h3>JEOL JEM-2100</h3>
<p>Use this electron microscope.</p>
</div>
</div>
</div>
-
+
<!-- SCRIPTS -->
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/bootstrap-3.1.1.min.js"></script>
--- /dev/null
+$activehost = '192.168.4.218'
+$activeport = '22222'
--- /dev/null
+#!/ruby/bin/ruby
+
+$tem = Hash.new{|h,k| h[k]=Hash.new(&h.default_proc)}
+
+$tem = {
+ 'HITACHI' => {
+ 'host' => '192.168.4.218',
+ 'port' => '11111'
+ },
+ 'FEI' => {
+ 'host' => '192.168.4.218',
+ 'port' => '22222'
+ },
+ 'JEOL' => {
+ 'host' => '192.168.4.218',
+ 'port' => '33333'
+ }
+}
+
--- /dev/null
+#!/usr/local/bin/ruby
+
+require "socket"
+require "./cgi-bin/implementation"
+require "./cgi-bin/activetem"
+
+class SetTem
+
+ def initialize(activetem)
+ @@tem = activetem
+ #get TEM_Instrument info
+ @@host = $tem["#{activetem}"]["host"]
+ @@port = $tem["#{activetem}"]["port"]
+
+ #set TEM_instrument info
+ tem = File.open("./cgi-bin/activetem.rb","w")
+ tem.write "$activehost = '#{@@host}'\n$activeport = '#{@@port}'\n"
+
+ tem.close
+
+ end
+
+ def connect
+
+ log = File.open("./File/log.txt","a")
+ socket = TCPSocket.open($activehost,$activeport)
+ socket.puts "Connect:#{@@tem}"
+ socket.flush
+
+ output = socket.gets
+ log.write output
+
+ log.close
+ socket.close
+
+ return output
+
+ end
+
+end
+
--- /dev/null
+#!/usr/local/bin/ruby
+
+require "cgi"
+require "socket"
+require "./cgi-bin/settem"
+require "./cgi-bin/activetem"
+require "rubygems"
+require "systemu"
+require "json"
+
+cgi = CGI.new
+
+command = cgi['command']
+command = CGI.unescapeHTML(command)
+
+parameter = cgi['parameter']
+parameter = CGI.unescapeHTML(parameter)
+
+
+case command
+
+when "Connect" then
+ temset = SetTem.new(parameter)
+ result = temset.connect
+
+when "StageSet", "MagnificationSet", "ImageShift" then
+ socket = TCPSocket.open($activehost,$activeport)
+ socket.puts parameter
+
+
+ result = socket.gets.chomp
+ if result == "Accepted!" then
+ tiff2gif = "source Eos/env/Eos_env;tiff2mrc -i images/download.tif -o images/download.mrc;mrc2gif -i images/download.mrc -o images/download.gif"
+ systemu tiff2gif
+ end
+ result = "<img src = 'images/download.gif' height=200 width=400><br>"
+
+
+#when something then
+ #do_something
+ #
+ #
+when "Control" then
+ socket = TCPSocket.open($activehost,$activeport)
+
+ control={"Command"=>"Connect","Parameter"=>parameter}
+ controlj=control.to_json
+ socket.puts controlj
+ puts controlj
+ result = socket.gets
+
+
+when "detailcatch" then
+
+ socket = TCPSocket.open($activehost,$activeport)
+
+ movex=cgi['x']
+ movex=CGI.unescapeHTML(movex)
+ movey=cgi['y']
+ movey=CGI.unescapeHTML(movey)
+ movez=cgi['z']
+ movez=CGI.unescapeHTML(movez)
+ tilta=cgi['a']
+ tilta=CGI.unescapeHTML(tilta)
+
+ position={"Command"=>"Control","Parameter"=>"StagesetA","GonionXA"=>movex.to_i,"GonionYA"=>movey.to_i,"GonionZA"=>movez.to_i,"GonionAA"=>tilta.to_i}
+
+=begin .to_json not use!
+ socket.puts "{'Command':'Control','Parameter':'StargesetA','GonionX':"+movex.to_s+",'GonionY':"+movey.to_s+",'GonionZ':"+movez.to_s+",'GonionA':"+tilta.to_s+"}"
+ puts "{'Command':'Control','Parameter':'StargesetA','GonionX':"+movex.to_s+",'GonionY':"+movey.to_s+",'GonionZ':"+movez.to_s+",'GonionA':"+tilta.to_s+"}"
+=end
+
+ positionj=position.to_json
+ socket.puts positionj
+ puts positionj
+
+ result = "move x ="+movex.to_s+" move y ="+movey.to_s+" move z ="+movez.to_s+" tilt a ="+tilta.to_s+"<br>"
+
+when "request" then
+ socket = TCPSocket.open($activehost,$activeport)
+ request = {"Command"=>"Request"}
+ requestj = request.to_json
+ puts requestj
+ socket.puts requestj
+ result = socket.gets
+ puts result
+
+
+when "TakePhoto" then
+ filename = parameter.split(":")
+ tiff2gif = "source Eos/env/Eos_env;tiff2mrc -i images/#{filename[0]}.tif -o images/#{filename[0]}.mrc;mrc2gif -i images/#{filename[0]}.mrc -o images/#{filename[1]}.gif"
+ systemu tiff2gif
+
+ result = "<img src = 'images/#{filename[1]}.gif' height=400 width=400><br>"
+
+when "Brightnessset" then
+
+ socket = TCPSocket.open($activehost,$activeport)
+ Bv=cgi['catchvalue']
+ Bv=CGI.unescapeHTML(Bv)
+
+ brightinfo={"Command"=>"Control","Parameter"=>"Brightnessset","Brightvalue"=>Bv.to_i}
+
+ brightinfoj=brightinfo.to_json
+ socket.puts brightinfoj
+ puts brightinfoj
+ result = "Brightness: "+Bv.to_s
+
+when "Voltageset" then
+
+ socket = TCPSocket.open($activehost,$activeport)
+ Voltagevalue=cgi['catchvalue']
+ Voltagevalue=CGI.unescapeHTML(Voltagevalue)
+
+ voltageinfo={"Command"=>"Control","Parameter"=>"Voltageset","Voltagevalue"=>Voltagevalue.to_i}
+
+ voltageinfoj=voltageinfo.to_json
+ socket.puts voltageinfoj
+ puts voltageinfoj
+
+ result = "Volatege : "+Voltagevalue.to_s+"<br>"
+
+else
+ #do_something_other
+end
+
+
+#return ajax-engine::create HTML code
+puts "Content-type: text/html\n\n"
+puts ""
+
+puts result
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>VEM Control Interface</title>
+ <link rel="stylesheet" type="text/css" href="CSS/vemclient.css">
+ <script type ="text/javascript" src="JS/ajax.js"></script>
+ <script type ="text/javascript" src="JS/TemControl.js"></script>
+ <script type ="text/javascript" src="JS/filecontrol.js"></script>
+ <script type ="text/javascript" src="JS/filedownload.js"></script>
+ <script type ="text/javascript" src="JS/stagecontrol.js"></script>
+ <script type ="text/javascript" src="JS/mscontrol.js"></script>
+ <script type="text/javascript"></script>
+ </head>
+ <body onLoad="Currentcondition('request')">
+
+ <b>V</b>irtual <b>E</b>lectron <b>M</b>icroscope Client
+
+ <form id="temselect" name="temselect" action="#" onsubmit="return false;">
+ <input type="hidden" id="teminfo" name="teminfo" value="none"></input>
+ <input type="button" name="submit" id="HITACHI" onclick="TemControl('Connect','HITACHI');"></input>
+ <input type="button" name="submit" id="FEI" onclick="TemControl('Connect','FEI');"></input>
+ <input type="button" name="submit" id="JEOL" onclick="TemControl('Connect','JEOL');"></input>
+ </form>
+ <br>
+ <div id="connection" style="width:600px; height:20px; border:3px inset; margin:0 auto">
+
+ </div>
+
+
+ <div id="container">
+
+ <div id="leftside">
+
+ <p>The EM Image</p>
+ <div id="result" style="margin:0 auto; width:400px; height:400px; padding:10px; border:3px solid">The EM-Image from instrument.</div>
+
+ <form id="cameracontrol" name="cameracontrol" action="#" onsubmit="return false;">
+ <input type="hidden" id="fileurl" name="fileurl" value="none"></input>
+
+ <br>
+ <input type="button" style="width:150px;" name="submit" value="Initialization" onclick="TemControl('Control','initialization');"></input>
+ <input type="button" style="width:150px;" name="submit" value="Finalization" onclick="TemControl('Control','finalization');"></input>
+ <br>
+
+ <div id="takephoto">
+ <div id="left">
+ <p>Input<input type="text" name="input" class="box" size="30"></input>
+ <br>
+ Output<input type="text" name="output" class="box" size="30"></input>
+ </p>
+ </div>
+ <br>
+ <div id="right">
+ <input type="button" style="width:150px;" name="submit" value="TakePhoto" onclick="TemControl('TakePhoto',document.cameracontrol.input.value+':'+document.cameracontrol.output.value);">
+ </div>
+ <p class ="clearRight" />
+
+ </div>
+
+ <div id="download">
+
+ <div id="left">
+ <p>Mode<input type="text" name="mode" class="box" size="30"></input>
+ <br>
+ DL<input type="text" name="dlname" class="box" size="30"></input>
+ </p>
+ </div>
+ <br>
+ <div id="right">
+ <input type="button" style="width:150px;" name="submit" value="Download" onclick="filewrite();">
+ <p id="link"></p>
+ </div>
+ <p class ="clearRight" />
+ </div>
+
+ <div id="stagecontrol">
+ <div id="left">
+ <br>
+ Absolute coordinate
+ <p>move x <input type="text" name="x" class="box" size="30" ></input>
+ <br>
+ move y <input type="text" name="y" class="box" size="30"></input>
+ <br>
+ move z <input type="text" name="z"= class="box" size="30"></input>
+ <br>
+ tilt a <input type="text" name="a" class="box" size="30"></input>
+ <br>
+ </p>
+ <br>
+ <p>Brightnessset(0~200)
+ <input type="text" name="brightness"></p>
+ <p>Voltageset (0~120kV)
+ <input type="text" name="voltage"></p>
+ </p>
+ </div>
+
+ <div id="right">
+ <br>
+ <br>
+ <br>
+ <br>
+ <input type="button" style="width:150px;" name="submit" value="Detailset" onclick="stagecontrol('detailcatch',x.value,y.value,z.value,a.value)"></input>
+ <br>
+ <input type="button" style="width:150px;" name="submit" value="Autoset" onclick="alert('Under construction! Only use Detailset!')"></input>
+ <br>
+ <br>
+ <br>
+ <br>
+ <input type="button" style="widrh:150px;" name="submit" value="Brightnessset" onclick="mscontrol('Brightnessset',brightness.value)"></input>
+ <br>
+ <br>
+ <input type="button" style="widrh:150px;" name="submit" value="Voltageset" onclick="mscontrol('Voltageset',voltage.value)"></input>
+ </div>
+
+ </div>
+
+ </div>
+
+
+ </form>
+
+ </div>
+
+ <div id="rightside">
+ <p>TEM Control Command</p>
+ <div id="command" style="width:340px; height:570px; padding:10px; border:6px outset">The EM-control commandset.
+ <br>
+ <br>
+ <div id="detail"></div>
+ </div>
+
+ <br>
+
+ <p>Current condition</p>
+ <input type="button" value="push" onClick="Currentcondition('request')"></input>
+ <div id="condition" style="width:340px; height:250; padding:10px; border:6px outset">
+ <div id="Position">Position: </div>
+ <div id="Magnificant">Magnificant: </div>
+ <div id="Brightness">Brightness:</div>
+ <div id="Contrast">Contrast: </div>
+ <div id="Forcus">Forcus: </div>
+ <div id="Voltage">Voltage: </div>
+ </div>
+
+
+ </div>
+ </div>
+
+ </body>
+</html>
--- /dev/null
+#!/usr/bin/ruby
+
+require "socket"
+require "thread"
+
+class FEIControlServer
+ @@flag = true
+
+ def initialize()
+ @server = TCPServer.open("192.168.4.218",11111)
+ puts @server.to_s
+ end
+
+ def listener
+ while @@flag
+ Thread.start(@server.accept){|socket|
+ begin
+ line = socket.gets.chomp
+ puts line
+ socket.puts "Accepted!"
+
+
+ ensure
+ socket.close
+
+ end
+ }
+ end
+ end
+
+end
+
+fei = FEIControlServer.new
+fei.listener
+
<script type="text/javascript" src="JS/canvas.js"></script>
<script type="text/javascript" src="JS/emcontrol.js"></script>
<script type="text/javascript" src="JS/ajax.js"></script>
-
+
<!-- <script type="text/javascript" src="JS/gamepad.js"></script> -->
<!--[if lt IE 9]>
<script src="js/html5shiv-3.7.0.js"></script>
<div class="col-md-3 spacer"></div>
<div class="col-md-6">
<!-- LOGO 4️--><b>W</b>ebsystem <b>I</b>ntegrated <b>T</b>ems
- <div id="logo"><a href="/"><img src="fei.png" /></a></div>
+ <div id="logo"><a href="/"><img src="image/fei.png" /></a></div>
</div>
<div class="col-md-3 spacer"></div>
</div>
</li>
<li id="mtab4"><a href="#" onclick="cngTab('5');tabcheck();FocusTab('mtab4')">MDS</a></li>
<li id="mtab5"><a href="#" onclick="FocusTab('mtab5')">Information</a></li>
- <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
+ <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
<li id="mtab7"><a href="#" onclick="FocusTab('mtab7')" >Nav Item7</a></li>-->
<li class="dropdown" id="mtab8">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="FocusTab('mtab8')">Option<b class="caret"></b></a>
<input type="number" name="zshift" id="zshift" onchange="SaveFileContents()" onclick="SaveFileContents()">nm
</div>
- </p>
+ </p>
</form>
<button type="submit" class="btn btn-default" id="submit" onclick="SaveFileContents()">Start</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
<option value="4">four sheets</option>
<option value="8">eight sheets</option>
</select>
- </div>
+ </div>
</form>
<p>
<label>Step3. Take Photo</label>
<!--
<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
<script type="text/javascript" src="JS/canvas.js"></script>
<script type="text/javascript" src="JS/emcontrol.js"></script>
<script type="text/javascript" src="JS/ajax.js"></script>
-
+
<!-- <script type="text/javascript" src="JS/gamepad.js"></script> -->
<!--[if lt IE 9]>
<script src="js/html5shiv-3.7.0.js"></script>
<div class="col-md-3 spacer"></div>
<div class="col-md-6">
<!-- LOGO 4️--><b>W</b>ebsystem <b>I</b>ntegrated <b>T</b>ems
- <div id="logo"><a href="/"><img src="hi2.png" /></a></div>
+ <div id="logo"><a href="/"><img src="image/hi2.png" /></a></div>
</div>
<div class="col-md-3 spacer"></div>
</div>
<li id="mtab3"><a href="#" id="mtab31"><span style="color:#7f7f7f">Tomography</span></a></li>
<li id="mtab4"><a href="#" onclick="cngTab('5');tabcheck();FocusTab('mtab4')">MDS</a></li>
<li id="mtab5"><a href="#" onclick="FocusTab('mtab5')">Information</a></li>
- <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
+ <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
<li id="mtab7"><a href="#" onclick="FocusTab('mtab7')" >Nav Item7</a></li>-->
<li class="dropdown" id="mtab8">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="FocusTab('mtab8')">Option<b class="caret"></b></a>
<input type="number" name="zshift" id="zshift" onchange="SaveFileContents()" onclick="SaveFileContents()">nm
</div>
- </p>
+ </p>
</form>
<button type="submit" class="btn btn-default" id="submit" onclick="SaveFileContents()">Start</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
<option value="4">four sheets</option>
<option value="8">eight sheets</option>
</select>
- </div>
+ </div>
</form>
<p>
<label>Step3. Take Photo</label>
<!--
<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
<script src="JS/custom.js"></script>
</body>
</html>
-
<script type="text/javascript" src="JS/canvas.js"></script>
<script type="text/javascript" src="JS/emcontrol.js"></script>
<script type="text/javascript" src="JS/ajax.js"></script>
-
+
<!-- <script type="text/javascript" src="JS/gamepad.js"></script> -->
<!--[if lt IE 9]>
<script src="js/html5shiv-3.7.0.js"></script>
<div class="col-md-3 spacer"></div>
<div class="col-md-6">
<!-- LOGO 4️--><b>W</b>ebsystem <b>I</b>ntegrated <b>T</b>ems
- <div id="logo"><a href="/"><img src="jeol.png" /></a></div>
+ <div id="logo"><a href="/"><img src="image/jeol.png" /></a></div>
</div>
<div class="col-md-3 spacer"></div>
</div>
</li>
<li id="mtab4"><a href="#" onclick="cngTab('5');tabcheck();FocusTab('mtab4')">MDS</a></li>
<li id="mtab5"><a href="#" onclick="FocusTab('mtab5')">Information</a></li>
- <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
+ <!-- <li id="mtab6"><a href="#" onclick="FocusTab('mtab6')"></a></li>
<li id="mtab7"><a href="#" onclick="FocusTab('mtab7')" >Nav Item7</a></li>-->
<li class="dropdown" id="mtab8">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="FocusTab('mtab8')">Option<b class="caret"></b></a>
<input type="number" name="zshift" id="zshift" onchange="SaveFileContents()" onclick="SaveFileContents()">nm
</div>
- </p>
+ </p>
</form>
<button type="submit" class="btn btn-default" id="submit" onclick="SaveFileContents()">Start</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
<option value="4">four sheets</option>
<option value="8">eight sheets</option>
</select>
- </div>
+ </div>
</form>
<p>
<label>Step3. Take Photo</label>
<!--
<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>
</p>
<!--<p>
<label>Save condition</label><br>
- Todays:<span id="daysdata">a</span>
+ Todays:<span id="daysdata">a</span>
<form name="save" id="saveid">
File name:<input id="name" placeholder="mytext">.txt
<button onclick="ConditionFileSave()" class="btn btn-default">Save</button>