Scope
GalilController.h
1 #pragma once
2 
3 #include "ScopeDefines.h"
4 
5 // Only use this code if we need it
6 #ifdef SCOPE_USE_GALIL_XYZSTAGE
7 
8 // Link the correct library file depending on debug/release and x32/x64
9 #ifdef _DEBUG
10  #ifdef _WIN64
11  #pragma comment(lib, "devices/xyz/galil/x64/debug/galil2.lib")
12  #else
13  #pragma comment(lib, "devices/xyz/galil/debug/galil2.lib")
14  #endif
15 #else
16  #ifdef _WIN64
17  #pragma comment(lib, "devices/xyz/galil/x64/release/galil2.lib")
18  #else
19  #pragma comment(lib, "devices/xyz/galil/release/galil2.lib")
20  #endif
21 #endif
22 
23 #include "galil/Galil.h"
24 
25 namespace scope {
26 
33 class GalilController {
34 
35 public:
37  GalilController(const std::wstring& _comstring);
38 
40  std::wstring LibraryVersion();
41 
43  std::wstring Connection();
44 
46  void SetTimeout(const int32_t& _milliseconds);
47 
49  std::wstring Command(const std::wstring& _cmd);
50 
52  double CommandValue(const std::wstring& _cmd);
53 
54 protected:
56  Galil& Ctrl();
57 
61  static Galil& CreateInstance(const std::string& stdcomstring);
62 
64  static std::mutex mutex;
65 
66 protected:
68  std::wstring comstring;
69 };
70 
71 
72 }
73 
74 #endif