Composite_Control/Composite_Control_BTS.h Source File

[[PREPROC_HEADER_GUARD_BEGIN]]
 
 
#include "HC_API.h"
 
#include "zaber_controller/zaber_controller.h"
 
 
 
#include "Composite_Control/Composite_Control.h"
 
 
namespace ControlAPI {
    
 
 
 
 
    class HC_API BTSFramingCommandStatusSet : public CompositeCommandStatusSet {
    public:
        HC_CLASS_META(BTSFramingCommandStatusSet)
 
        CommandStatus* xAxis = nullptr;
        CommandStatus* zAxis = nullptr;
 
    };
 
 
    struct BTSFramingInternals;
 
    class HC_API BTSFraming : public CompositeFrameBase {
    public:
        HC_CLASS_META(BTSFraming)
 
 
        
        std::string zaberPort;
 
#ifdef HC_API_MACRO_EXCLUDE_DOCS
        std::shared_ptr<BTSFramingInternals> internals;
               
 
#endif
        Vector3D ChartCenterHome_CameraCenterFrame = { -148.88, 99.3, 1120 };
 
 
        Vector3D calibrationOffset;
 
 
        Vector3D chartCenterFrame_CameraCenterFrame;
 
        //enum class ConfigurationDefaults {
        //    BTSFraming_IMTS_R_KIT = 0,
        //    BTSFraming_ILB_B,
        //    BTSFraming_ILP_A
        //};
 
      
 
        void initialize(ControlSystem* system);
 
        //void targetMountFrame_Go_TargetMountHome(); -->home
        void Home();
        
 
        void chartCenterFrame_Go_ChartCenterHomeFrame(Vector3D homeSpace);
 
 
 
        void chartCenterFrame_Go_CameraCenterFrame(Vector3D cameraSpace);
        
 
 
        Vector3D doCalibrationAndValidation();
 
 
        Vector3D homeFrame_To_cameraCenterFrame(Vector3D homeSpace);
 
 
        Vector3D cameraCenterFrame_To_homeFrame(Vector3D cameraSpace);
 
        float stageVelocity = 20;
 
        float stageAcceleration = 20;
 
 
        zaberController* zaberCont();
 
 
        ZaberDeviceInfo* zaberDevice1();
        ZaberDeviceInfo* zaberDevice2();
 
        ZaberAxisInfo* zaberDevice1Axis();
        ZaberAxisInfo* zaberDevice2Axis();
    };
 
 
 
 
 
 
}
 
[[PREPROC_HEADER_GUARD_END]]