OSDN Git Service

create mock get_vacuum_status
authorayaka <gyzdisk@gmail.com>
Tue, 16 Feb 2016 18:27:07 +0000 (03:27 +0900)
committerayaka <gyzdisk@gmail.com>
Tue, 16 Feb 2016 18:27:07 +0000 (03:27 +0900)
14 files changed:
lib/.cameraSocket.rb.un~
lib/.request.rb.un~
lib/cameraSocket.rb
lib/request.rb
lib/vemapi.rb
vem/.feicontrol.rb.un~
vem/.test.rb.un~
vem/feicontrol.rb
vem/feicontrol.rb~
vem/mock.rb
vem/test.rb
vem/test.rb~
vemserver/.config.rb.un~
vemserver/config.rb~

index 0b248d4..4d04e3c 100644 (file)
Binary files a/lib/.cameraSocket.rb.un~ and b/lib/.cameraSocket.rb.un~ differ
index 8a2bd2d..6327617 100644 (file)
Binary files a/lib/.request.rb.un~ and b/lib/.request.rb.un~ differ
index b48e6a5..cca4a39 100644 (file)
@@ -28,21 +28,25 @@ class CameraSocket
         @buf["type"] = "connection"
         @buf["data"] = "open"
         ws.send(@buf.to_json)
+       @request = Request.new('acq', nil)
       end
 
       ws.onmessage do |msg|
+             result = Benchmark.realtime do
         rec_buf = JSON.parse(msg)
         if(rec_buf["type"]=="req")
           if(rec_buf["data"]=="img")
-            request = Request.new('acq', nil)
-            @camera_host.put_request(request)
+            @camera_host.put_request(@request)
             @buf["type"] = "img"
-            @buf["data"] = request.get_result
+            @buf["data"] = @request.get_result
             @buf["count"] = @count
             ws.send(@buf.to_json)
             @count = @count + 1
+            @request = Request.new('acq', nil)
           end
         end
+             end
+             puts "#{result}"
       end
 
       ws.onclose do
index 3fa08f1..506af53 100644 (file)
@@ -1,5 +1,6 @@
 $:.unshift(File.dirname(__FILE__))
 
+require 'benchmark'
 require 'json'
 require '../vem/vem'
 require '../vem/mock'
@@ -25,10 +26,13 @@ class Request
 
   def execute
     @vem = VEM.create(@em)
-    puts "execute #{@command}"
+    #puts "execute #{@command}"
     case @command
     when "get"
       @result = @vem.get_params
+    when "vacuum_status"
+      @result = @vem.get_vacuum_status
+      puts "flag"
     when "stagea"
       @result = @vem.set_stageA(@params["x"].to_i, @params["y"].to_i, @params["z"].to_i, @params["a"].to_i)
     when "stager"
@@ -53,18 +57,9 @@ class Request
       image = @vem.acquisition
       converted_image = convert_256(image)
       @result = converted_image.to_json
-    when "start"
-      serial_camera = SerialCamera.instance
-      serial_camera.on_flag
-      @result = "start serial_camera"
-    when "stop"
-      serial_camera = SerialCamera.instance
-      serial_camera.off_flag
-      @result = "stop serial_camera"
     else
       puts "else"
     end
-      puts "request complete"
       @complete = true
       @cv.broadcast
   end
@@ -72,7 +67,6 @@ class Request
   def get_result
     @mutex.synchronize do
       @cv.wait(@mutex) while (@complete == false)
-      puts "resturn result"
       return @result
     end
   end
index 7580ea1..0cd1e1a 100644 (file)
@@ -24,6 +24,14 @@ class Vemapi < Sinatra::Base
     return request.get_result
   end
 
+  get '/:emname/get/:command' do
+    headers \
+      "Access-Control-Allow-origin" => "*"
+    request = Request.new(params["command"], nil)
+    @@channel.put_request(request)
+    return request.get_result
+  end
+
   get '/:emname/set/:command' do
     headers \
       "Access-Control-Allow-origin" => "*"
index 55fcb70..a5ed234 100644 (file)
Binary files a/vem/.feicontrol.rb.un~ and b/vem/.feicontrol.rb.un~ differ
index 9d5afca..b58df66 100644 (file)
Binary files a/vem/.test.rb.un~ and b/vem/.test.rb.un~ differ
index 96b2ae8..fb40cff 100644 (file)
@@ -45,6 +45,14 @@ class FEIControl < VEM
                                :spotSizeIndex => 0,
                                :condenserStg => {:x => 0, :y => 0}
 
+                       },
+                       :vacuum => {
+                               :p1 => 0,
+                               :p2 => 0,
+                               :p3 => 0,
+                               :p4 => 0,
+                               :p5 => 0,
+                               :p8 => 0
                        }
                }
        end
@@ -58,11 +66,11 @@ class FEIControl < VEM
                @@params[:stage][:a] = @@tem.Stage.Position.A
                @@params[:ill][:spotSizeIndex] = @@tem.Illumination.SpotsizeIndex
                @@params[:proj][:magIndex] = @@tem.Projection.MagnificationIndex
+               @@params[:proj][:defocus] = @@tem.Projection.Defocus*1000000000
     @@params[:proj][:mag] = @@tem.Projection.Magnification
     @@params[:proj][:imageBeamShift][:x] = @@tem.Projection.ImageBeamShift.x
     @@params[:proj][:imageBeamShift][:y] = @@tem.Projection.ImageBeamShift.y
     @@params[:proj][:focus] = @@tem.Projection.Focus
-    @@params[:proj][:defocus] = @@tem.Projection.Defocus
                #       @@params[:ccdCamera][:binning] = ccdCamerasAcqParams.Binning
                #       @@params[:ccdCamera][:expTime]  = ccdCamerasAcqParams.ExposureTime
                #       @@params[:ccdCamera][:imageSize] = ccdCamerasAcqParams.ImageSize
@@ -176,7 +184,7 @@ class FEIControl < VEM
 
                proj = @@tem.Projection
                proj.Defocus = proj.Defocus + params*1e-9
-               @@params[:proj][:defocus] = proj.Defocus
+               @@params[:proj][:defocus] = proj.Defocus*1000000000
                return @@params[:proj][:defocus].to_json
        end
 
@@ -185,7 +193,7 @@ class FEIControl < VEM
 
                proj = @@tem.Projection
                proj.ResetDefocus
-               @@params[:proj][:defocus] = proj.Defocus
+               @@params[:proj][:defocus] = proj.Defocus*1000000000
                return @@params[:proj][:defocus].to_json
        end
 
@@ -231,6 +239,8 @@ class FEIControl < VEM
                ccdCamerasAcqParams.ExposureTime = exp_time
                # imagesize
                ccdCamerasAcqParams.ImageSize = image_size
+               # image correction
+               # ccdCamerasAcqParams.ImageCorrection = 1 
 
                @@params[:ccdCamera][:binning] = ccdCamerasAcqParams.Binning
                @@params[:ccdCamera][:expTime]  = ccdCamerasAcqParams.ExposureTime
@@ -255,5 +265,18 @@ class FEIControl < VEM
                puts "FEI setBeamTilt"
        end
 
+       def get_vacuum_status
+               puts "FEI getVacuumStatus"
+
+               @@params[:vacuum][:p1] = @@tem.Vacuum.Gauges.Item(0).Pressure
+                       @@params[:vacuum][:p2] = @@tem.Vacuum.Gauges.Item(1).Pressure
+                       @@params[:vacuum][:p3] = @@tem.Vacuum.Gauges.Item(2).Pressure
+               @@params[:vacuum][:p4] = @@tem.Vacuum.Gauges.Item(3).Pressure
+               @@params[:vacuum][:p5] = @@tem.Vacuum.Gauges.Item(4).Pressure
+               @@params[:vacuum][:p8] = @@tem.Vacuum.Gauges.Item(5).Pressure
+
+       return @@params[:vacuum].to_json
+       end
+
 end
 
index 2364aed..9b9856a 100644 (file)
@@ -36,7 +36,7 @@ class FEIControl < VEM
                        :proj => {
                                :magIndex => 0,
                                :mag => 0,
-                               :imageShift => {:x => 0, :y => 0},
+                               :imageBeamShift => {:x => 0, :y => 0},
                                :focus => 0,
                                :defocus => 0,
                                :objStg => {:x => 0, :y => 0}
@@ -45,6 +45,14 @@ class FEIControl < VEM
                                :spotSizeIndex => 0,
                                :condenserStg => {:x => 0, :y => 0}
 
+                       },
+                       :vacuum => {
+                               :p1 => 0,
+                               :p2 => 0,
+                               :p3 => 0,
+                               :p4 => 0,
+                               :p5 => 0,
+                               :p8 => 0
                        }
                }
        end
@@ -58,6 +66,11 @@ class FEIControl < VEM
                @@params[:stage][:a] = @@tem.Stage.Position.A
                @@params[:ill][:spotSizeIndex] = @@tem.Illumination.SpotsizeIndex
                @@params[:proj][:magIndex] = @@tem.Projection.MagnificationIndex
+               @@params[:proj][:defocus] = @@tem.Projection.Defocus*1000000000
+    @@params[:proj][:mag] = @@tem.Projection.Magnification
+    @@params[:proj][:imageBeamShift][:x] = @@tem.Projection.ImageBeamShift.x
+    @@params[:proj][:imageBeamShift][:y] = @@tem.Projection.ImageBeamShift.y
+    @@params[:proj][:focus] = @@tem.Projection.Focus
                #       @@params[:ccdCamera][:binning] = ccdCamerasAcqParams.Binning
                #       @@params[:ccdCamera][:expTime]  = ccdCamerasAcqParams.ExposureTime
                #       @@params[:ccdCamera][:imageSize] = ccdCamerasAcqParams.ImageSize
@@ -143,7 +156,7 @@ class FEIControl < VEM
                return @@params[:proj].to_json
        end
 
-       def set_image_beam_shift(x, y)
+       def set_image_beamshift(x, y)
                puts "FEI setImageShift"
 
                proj = @@tem.Projection
@@ -171,7 +184,7 @@ class FEIControl < VEM
 
                proj = @@tem.Projection
                proj.Defocus = proj.Defocus + params*1e-9
-               @@params[:proj][:defocus] = proj.Defocus
+               @@params[:proj][:defocus] = proj.Defocus*1000000000
                return @@params[:proj][:defocus].to_json
        end
 
@@ -180,7 +193,7 @@ class FEIControl < VEM
 
                proj = @@tem.Projection
                proj.ResetDefocus
-               @@params[:proj][:defocus] = proj.Defocus
+               @@params[:proj][:defocus] = proj.Defocus*1000000000
                return @@params[:proj][:defocus].to_json
        end
 
@@ -226,6 +239,8 @@ class FEIControl < VEM
                ccdCamerasAcqParams.ExposureTime = exp_time
                # imagesize
                ccdCamerasAcqParams.ImageSize = image_size
+               # image correction
+               # ccdCamerasAcqParams.ImageCorrection = 1 
 
                @@params[:ccdCamera][:binning] = ccdCamerasAcqParams.Binning
                @@params[:ccdCamera][:expTime]  = ccdCamerasAcqParams.ExposureTime
@@ -239,7 +254,6 @@ class FEIControl < VEM
                # acquisition Image
                imageCollection = @@acq.AcquireImages
                img     = imageCollection.Item(0)
-       puts img
                return img.AsSafeArray
        end
 
@@ -251,5 +265,18 @@ class FEIControl < VEM
                puts "FEI setBeamTilt"
        end
 
+       def get_vacuum_status
+               puts "FEI getVacuumStatus"
+
+               @@params[:vacuum][:p1] = @@tem.Vacuum.Gauges.Item(0).PressureLevel
+                       @@params[:vacuum][:p2] = @@tem.Vacuum.Gauges.Item(1).Pressure
+                       @@params[:vacuum][:p3] = @@tem.Vacuum.Gauges.Item(2).Pressure
+               @@params[:vacuum][:p4] = @@tem.Vacuum.Gauges.Item(3).Pressure
+               @@params[:vacuum][:p5] = @@tem.Vacuum.Gauges.Item(4).Pressure
+               @@params[:vacuum][:p8] = @@tem.Vacuum.Gauges.Item(5).Pressure
+
+       return @@params[:vacuum].to_json
+       end
+
 end
 
index 839bc0e..95e4a61 100755 (executable)
@@ -27,11 +27,19 @@ class MockControl < VEM
       :imageBeamShift => {:x => 0, :y => 0},
       :focus => 0,
       :defocus => 0,
-      :objStg => {:x => 0, :y => 0},
-      :condenserStg => {:x => 0, :y => 0}
+      :objStg => {:x => 0, :y => 0}
     },
       :ill => {
-      :spotSizeIndex => 0
+      :spotSizeIndex => 0,
+      :condenserStg => {:x => 0, :y => 0}
+    },
+      :vacuum => {
+      :p1 => 1,
+      :p2 => 2,
+      :p3 => 3,
+      :p4 => 4,
+      :p5 => 5,
+      :p8 => 8
     }
     }
     @send_size = 2048
@@ -139,5 +147,11 @@ class MockControl < VEM
     return img_array
   end 
 
+  def get_vacuum_status
+    puts "MOCK getVacuumStatus"
+
+    return @params[:vacuum].to_json
+  end
+
 end
 
index 88db3ce..f8af857 100644 (file)
@@ -5,6 +5,7 @@ rescue LoadError
 end
 require "./hitachicontrol"
 require "./mock"
+require "benchmark"
 
 class TEST
        def initialize
@@ -67,6 +68,10 @@ class TEST
        def test_acq
                @@vem.acquisition
        end
+
+       def test_get_vacuum_status
+               puts @@vem.get_vacuum_status
+       end
 end
 
 test = TEST.new
@@ -83,9 +88,6 @@ test.test_set_spotsizeR
 test.test_acq_init
 test.test_acq
 =end
-#test.test_acq_init
-#test.test_acq
-
 #test.test_set_magnificationR
 #test.test_set_image_beam_shift
 #test.test_set_focus
@@ -93,3 +95,4 @@ test.test_acq
 #test.test_set_reset_defocus
 #test.test_set_condenser_stg
 #test.test_set_object_stg
+test.test_get_vacuum_status
index 264a75b..a7b502d 100644 (file)
@@ -4,6 +4,7 @@ require "./feicontrol"
 rescue LoadError
 end
 require "./mock"
+require "benchmark"
 
 class TEST
        def initialize
@@ -66,6 +67,10 @@ class TEST
        def test_acq
                @@vem.acquisition
        end
+
+       def test_get_vacuum_status
+               @@vem.get_vacuum_status
+       end
 end
 
 test = TEST.new
@@ -78,9 +83,6 @@ test.test_set_spotsizeR
 test.test_acq_init
 test.test_acq
 =end
-
-test.test_acq
-
 #test.test_set_magnificationR
 #test.test_set_image_beam_shift
 #test.test_set_focus
@@ -88,3 +90,4 @@ test.test_acq
 #test.test_set_reset_defocus
 #test.test_set_condenser_stg
 #test.test_set_object_stg
+test.test_get_vacuum_status
index 88876cb..90657d4 100644 (file)
Binary files a/vemserver/.config.rb.un~ and b/vemserver/.config.rb.un~ differ
index 1ca54c5..3cdec1b 100644 (file)
@@ -1,8 +1,8 @@
 $:.unshift(File.dirname(__FILE__))
 
 $ip_address  = 'localhost'
-$cs_port     = '192.168.4.146'
+$cs_port     = '3000'
 $vemapi_port = 9090
 $debug       = true
-$em_name     = 'fei'
+$em_name     = 'mock'