Scope
FPUController.h
1 #pragma once
2 
3 #include "ScopeDefines.h"
4 #include "ScopeController.h"
5 #include "ScopeDatatypes.h"
6 #include "devices/xyz/XYControlStanda.h"
7 #include "devices/xyz/XYControl.h"
8 
9 namespace scope {
10 
16 
17 protected:
19  std::array<double, SCOPE_NAREAS> stepsizes;
20 
23 
24 public:
26  std::array<std::unique_ptr<SCOPE_FPUXYCONTROL_T>, SCOPE_NAREAS> theXYStages;
27 
28 public:
30  FPUController();
31 
33  void Initialize(const parameters::Scope& _params);
34 
37  void MoveAbsolute(const uint32_t& _area);
38 
42  void MoveRelative(const uint32_t& _area, const FPUMoveDirection& _dir);
43 
45  void SetXYZero(const uint32_t& _area);
46 };
47 
48 }
Main controller of microscope hardware and acquisition, also interface to the GUI.
std::array< double, SCOPE_NAREAS > stepsizes
step size for a relative movement
Definition: FPUController.h:19
The master parameters class.
Definition: Scope.h:204
void Initialize(const parameters::Scope &_params)
Initialize the FPU's hardware.
void MoveAbsolute(const uint32_t &_area)
Move to an absolute position given by the scope_controller's GuiParameters.
In here all declarations for all kinds of datatypes Scope needs.
void MoveRelative(const uint32_t &_area, const FPUMoveDirection &_dir)
Move one stepsize relative to the current position.
void SetXYZero(const uint32_t &_area)
Set the current xy position of the FPU as zero.
FPUController()
Create XYControls and ETLs and connect buttons.
The FPUController.
Definition: FPUController.h:15
std::array< std::unique_ptr< SCOPE_FPUXYCONTROL_T >, SCOPE_NAREAS > theXYStages
for xy movement of FPU stages
Definition: FPUController.h:26
ScopeController scope_controller
our ScopeController
Definition: FPUController.h:22