SIDX 7
SIDXCStage.h
Go to the documentation of this file.
1 
6 #include "SIDXCConstants.h"
7 
8 #ifndef SIDXCStage_H
9 #define SIDXCStage_H
10 
19 int SIDXStageAccelerateGetLimitXY(void* SIDXstage, double& maximum);
28 int SIDXStageAccelerateGetLimitZ(void* SIDXstage, double& maximum);
38 int SIDXStageAccelerateGetXY(void* SIDXstage, double& acceleration);
47 int SIDXStageAccelerateGetZ(void* SIDXstage, double& acceleration);
55 int SIDXStageAccelerateSetXY(void* SIDXstage, double acceleration);
63 int SIDXStageAccelerateSetZ(void* SIDXstage, double acceleration);
64 
73 int SIDXStageAxisEnableXY(void* SIDXstage, bool x_enable, bool y_enable);
81 int SIDXStageAxisEnableZ(void* SIDXstage, bool z_enable);
90 int SIDXStageAxisExistsXY(void* SIDXstage, bool& motorized);
98 int SIDXStageAxisExistsZ(void* SIDXstage, bool& motorized);
99 
107 int SIDXStageBacklashExists(void* SIDXstage, bool& control);
116 int SIDXStageBacklashGetXY(void* SIDXstage, double& distance);
124 int SIDXStageBacklashGetZ(void* SIDXstage, double& distance);
132 int SIDXStageBacklashSetXY(void* SIDXstage, double distance);
140 int SIDXStageBacklashSetZ(void* SIDXstage, double distance);
141 
149 int SIDXStageClose(void* SIDXstage);
150 
158 int SIDXStageJoystickDisable(void* SIDXstage);
166 int SIDXStageJoystickEnable(void* SIDXstage);
180  (void* SIDXstage, bool x_right, bool y_right, double fraction);
192  (void* SIDXstage, bool z_up, double fraction);
193 
203 int SIDXStageLimitIsXMinus(void* SIDXstage, bool& limit);
213 int SIDXStageLimitIsXPlus(void* SIDXstage, bool& limit);
223 int SIDXStageLimitIsXY(void* SIDXstage, bool& limit);
233 int SIDXStageLimitIsXYZ(void* SIDXstage, bool& limit);
243 int SIDXStageLimitIsYMinus(void* SIDXstage, bool& limit);
253 int SIDXStageLimitIsYPlus(void* SIDXstage, bool& limit);
263 int SIDXStageLimitIsZ(void* SIDXstage, bool& limit);
273 int SIDXStageLimitIsZMinus(void* SIDXstage, bool& limit);
283 int SIDXStageLimitIsZPlus(void* SIDXstage, bool& limit);
292 int SIDXStageLimitQuery(void* SIDXstage);
293 
304 int SIDXStageMotorAccelerateGet(void* SIDXstage, int motor, double& acceleration);
315 int SIDXStageMotorAccelerateSet(void* SIDXstage, int motor, double acceleration);
325 int SIDXStageMotorBacklashExists(void* SIDXstage, int motor, bool& available);
334 int SIDXStageMotorBacklashGet(void* SIDXstage, int motor, double& distance);
343 int SIDXStageMotorBacklashSet(void* SIDXstage, int motor, double distance);
352 int SIDXStageMotorExists(void* SIDXstage, int motor, bool& installed);
361 int SIDXStageMotorGetByName(void* SIDXstage, const wchar_t* name, int& motor);
369 int SIDXStageMotorGetCount(void* SIDXstage, int& identifiers);
380 int SIDXStageMotorGetName(void* SIDXstage, int motor, wchar_t* name, size_t length);
390 int SIDXStageMotorLimit(void* SIDXstage, int motor, bool& limit);
400 int SIDXStageMotorLimitMinus(void* SIDXstage, int motor, bool& limit);
410 int SIDXStageMotorLimitPlus(void* SIDXstage, int motor, bool& limit);
421 int SIDXStageMotorMoveRelative(void* SIDXstage, int motor, double offset);
432 int SIDXStageMotorMoveSpeed(void* SIDXstage, int motor, double velocity);
440 int SIDXStageMotorMoveStop(void* SIDXstage, int motor);
449 int SIDXStageMotorMovingIs(void* SIDXstage, int motor, bool& moving);
459 int SIDXStageMotorSpeedGet(void* SIDXstage, int motor, double& speed);
469 int SIDXStageMotorSpeedSet(void* SIDXstage, int motor, double speed);
470 
483  (void* SIDXstage, double x_position_m, double y_position_m);
498  void* SIDXstage,
499  double x_position_m,
500  double y_position_m,
501  double z_position_m
502 );
512 int SIDXStageMovePositionZ(void* SIDXstage, double z_position_m);
513 
526  (void* SIDXstage, double x_offset_m, double y_offset_m);
541  (void* SIDXstage, double x_offset_m, double y_offset_m, double z_offset_m);
550 int SIDXStageMoveRelativeZ(void* SIDXstage, double z_offset_m);
551 
564  (void* SIDXstage, double x_velocity_mps, double y_velocity_mps);
579  void* SIDXstage,
580  double x_velocity_mps,
581  double y_velocity_mps,
582  double z_velocity_mps
583 );
593 int SIDXStageMoveSpeedZ(void* SIDXstage, double z_velocity_mps);
594 
602 int SIDXStageMoveStopXYZ(void* SIDXstage);
611 int SIDXStageMovingIsXY(void* SIDXstage, bool& moving);
612 
621 int SIDXStageMovingIsXYZ(void* SIDXstage, bool& moving);
630 int SIDXStageMovingIsZ(void* SIDXstage, bool& moving);
639 int SIDXStageMovingQuery(void* SIDXstage);
640 
649 int SIDXStageOriginResetXYZ(void* SIDXstage);
650 
661  (void* SIDXstage, double& position_x, double& position_y, double& position_z);
670 int SIDXStagePositionGetX(void* SIDXstage, double& coordinate);
679 int SIDXStagePositionGetY(void* SIDXstage, double& coordinate);
688 int SIDXStagePositionGetZ(void* SIDXstage, double& coordinate);
697 int SIDXStagePositionQuery(void* SIDXstage);
698 
706 int SIDXStageReset(void* SIDXstage);
707 
715 int SIDXStageResolutionGetXY(void* SIDXstage, double& resolution);
723 int SIDXStageResolutionGetZ(void* SIDXstage, double& resolution);
724 
732 int SIDXStageRotateClear(void* SIDXstage);
743 int SIDXStageRotateMirrorX(void* SIDXstage);
754 int SIDXStageRotateMirrorY(void* SIDXstage);
766 int SIDXStageRotateSet(void* SIDXstage, int count);
767 
776 int SIDXStageSpeedGetXY(void* SIDXstage, double& speed);
785 int SIDXStageSpeedGetZ(void* SIDXstage, double& speed);
793 int SIDXStageSpeedSetXY(void* SIDXstage, double speed_mps);
801 int SIDXStageSpeedSetZ(void* SIDXstage, double speed_mps);
802 
810 __declspec(dllexport) void SIDXStageGetLastError
811  (void* SIDXstage, wchar_t* message, size_t length);
812 
813 #endif
int SIDXStageMovePositionXY(void *SIDXstage, double x_position_m, double y_position_m)
Commands the stage to begin moving to the absolute position specified along the X and Y axes...
int SIDXStageAccelerateGetZ(void *SIDXstage, double &acceleration)
Gets the acceleration during stage movement for the Z axis as a fraction of maximum acceleration...
int SIDXStageLimitIsXPlus(void *SIDXstage, bool &limit)
Gets whether the upper limit switch associated with the X axis was set during the last successful lim...
int SIDXStageBacklashExists(void *SIDXstage, bool &control)
Gets whether backlash control is available on this stage.
int SIDXStageRotateMirrorY(void *SIDXstage)
Mirror the image in y.
int SIDXStageMotorLimitPlus(void *SIDXstage, int motor, bool &limit)
Gets whether the upper limit switch associated with the specified motor is currently set...
File containing SIDX constants for reference.
int SIDXStageRotateSet(void *SIDXstage, int count)
Set the image rotation as a count of 90 degree clockwise rotations.
int SIDXStageResolutionGetXY(void *SIDXstage, double &resolution)
Gets the resolution of the X and Y axes in units of meters.
int SIDXStageMotorBacklashGet(void *SIDXstage, int motor, double &distance)
Gets the backlash distance for the specified motor, in meters.
int SIDXStageOriginResetXYZ(void *SIDXstage)
Sets the current position to zero on the X, Y and Z axes.
int SIDXStageAxisExistsXY(void *SIDXstage, bool &motorized)
Gets the motorized status of the X and Y axes.
int SIDXStageLimitIsYMinus(void *SIDXstage, bool &limit)
Gets whether the lower limit switch associated with the Y axis was set during the last successful lim...
int SIDXStageMovingIsZ(void *SIDXstage, bool &moving)
Gets the motion status of the Z axis during the last successful motion query.
int SIDXStageMotorMoveRelative(void *SIDXstage, int motor, double offset)
Commands the stage to begin moving the specified motor the specified offset, measured in meters...
int SIDXStagePositionGetZ(void *SIDXstage, double &coordinate)
Gets the current absolute position coordinate for the Z axis, in meters.
int SIDXStageSpeedGetXY(void *SIDXstage, double &speed)
Gets the speed for the X and Y axes in meters per second.
int SIDXStageMotorMovingIs(void *SIDXstage, int motor, bool &moving)
Gets the motion status of the specified motor.
int SIDXStageMoveSpeedXY(void *SIDXstage, double x_velocity_mps, double y_velocity_mps)
Commands the stage to begin moving at the specified speed along the X and Y axes, measured in meters/...
int SIDXStageMovePositionZ(void *SIDXstage, double z_position_m)
Commands the stage to begin moving to the absolute position specified along the Z axis...
int SIDXStageLimitIsXY(void *SIDXstage, bool &limit)
Gets whether any of the limit switches associated with the X or Y axes were set during the last succe...
int SIDXStagePositionGet(void *SIDXstage, double &position_x, double &position_y, double &position_z)
Gets the current absolute position coordinates for all three axes, in meters.
int SIDXStageMotorAccelerateSet(void *SIDXstage, int motor, double acceleration)
Sets the acceleration during stage movement for the specified motor as a fraction of maximum accelera...
int SIDXStageMovingIsXY(void *SIDXstage, bool &moving)
Gets the motion status of the X and Y axes during the last successful motion query.
int SIDXStageAxisEnableXY(void *SIDXstage, bool x_enable, bool y_enable)
Enables and disables motorized control of the stage axes.
int SIDXStageMotorMoveStop(void *SIDXstage, int motor)
Commands the stage to stop the motor.
int SIDXStageAccelerateGetXY(void *SIDXstage, double &acceleration)
Gets the acceleration during stage movement for the X and Y axes as a fraction of maximum acceleratio...
int SIDXStageJoystickDisable(void *SIDXstage)
Sets the stage's attached joystick to be disabled.
void SIDXStageGetLastError(void *SIDXstage, wchar_t *message, size_t length)
The function translates the error code into a text string.
int SIDXStageLimitIsXYZ(void *SIDXstage, bool &limit)
Gets whether any of the limit switches associated with the X, Y or Z axes were set during the last su...
int SIDXStageAxisEnableZ(void *SIDXstage, bool z_enable)
Enables and disables motorized control of the focus axis.
int SIDXStageMotorSpeedSet(void *SIDXstage, int motor, double speed)
Sets the speed for the specified motor as a fraction of maximum speed.
int SIDXStageReset(void *SIDXstage)
Commands the stage to stop all motion and reboot.
int SIDXStagePositionGetY(void *SIDXstage, double &coordinate)
Gets the current absolute position coordinate for the Y axis, in meters.
int SIDXStageMoveRelativeXY(void *SIDXstage, double x_offset_m, double y_offset_m)
Commands the stage to begin moving the specified offsets along the X and Y axes, measured in meters...
int SIDXStageMotorBacklashSet(void *SIDXstage, int motor, double distance)
Sets the backlash distance for the specified motor, in meters.
int SIDXStageMovingQuery(void *SIDXstage)
Queries the stage about the current motion along the X, Y and Z axes.
int SIDXStageLimitQuery(void *SIDXstage)
Queries the current stage limit switch values.
int SIDXStageMotorGetCount(void *SIDXstage, int &identifiers)
Gets the number of different motor identifiers.
int SIDXStageMotorAccelerateGet(void *SIDXstage, int motor, double &acceleration)
Gets the acceleration during stage movement for the specified motor as a fraction of maximum accelera...
int SIDXStageAxisExistsZ(void *SIDXstage, bool &motorized)
Gets the motorized status of the Z axis.
int SIDXStageAccelerateSetZ(void *SIDXstage, double acceleration)
Sets the acceleration during stage movement for the Z axis as a fraction of maximum acceleration...
int SIDXStageBacklashGetZ(void *SIDXstage, double &distance)
Gets the backlash distance for the Z axis, measured in meters.
int SIDXStageMoveStopXYZ(void *SIDXstage)
Commands the stage to stop all movement along the X, Y and Z axes.
int SIDXStageMotorSpeedGet(void *SIDXstage, int motor, double &speed)
Gets the speed for the specified motor as a fraction of maximum speed.
int SIDXStageMoveRelativeXYZ(void *SIDXstage, double x_offset_m, double y_offset_m, double z_offset_m)
Commands the stage to begin moving the specified offsets along the X, Y and Z axes, measured in meters.
int SIDXStageMoveSpeedZ(void *SIDXstage, double z_velocity_mps)
Commands the stage to begin moving at the specified speed along the Z axis, measured in meters/second...
int SIDXStageLimitIsXMinus(void *SIDXstage, bool &limit)
Gets whether the lower limit switch associated with the X axis was set during the last successful lim...
int SIDXStageBacklashSetZ(void *SIDXstage, double distance)
Sets the backlash distance for the Z axis, measured in meters.
int SIDXStageMotorLimit(void *SIDXstage, int motor, bool &limit)
Gets whether either of the limit switches associated with the specified motor is currently set...
int SIDXStageAccelerateGetLimitZ(void *SIDXstage, double &maximum)
Gets the maximum acceleration during stage movement for the Z axis in meters/second^2.
int SIDXStageMoveSpeedXYZ(void *SIDXstage, double x_velocity_mps, double y_velocity_mps, double z_velocity_mps)
Commands the stage to begin moving at the specified speed along the X, Y and Z axes, measured in meters/second.
int SIDXStageLimitIsZPlus(void *SIDXstage, bool &limit)
Gets whether the upper limit switch associated with the Z axis was set during the last successful lim...
int SIDXStageRotateClear(void *SIDXstage)
Clear the rotation and mirroring settings, so acquired images are not transformed.
int SIDXStageMovingIsXYZ(void *SIDXstage, bool &moving)
Gets the motion status of the X, Y and Z axes during the last successful motion query.
int SIDXStageResolutionGetZ(void *SIDXstage, double &resolution)
Gets the resolution of the Z axis in units of meters.
int SIDXStageMotorBacklashExists(void *SIDXstage, int motor, bool &available)
Gets whether backlash control is available on the specified motor.
int SIDXStageClose(void *SIDXstage)
Close the stage controller.
int SIDXStageMotorMoveSpeed(void *SIDXstage, int motor, double velocity)
Commands the stage to begin moving the specified motor at the specified speed, as a fraction of maxim...
int SIDXStageJoystickEnable(void *SIDXstage)
Sets the stage's attached joystick to be enabled.
int SIDXStageSpeedGetZ(void *SIDXstage, double &speed)
Gets the speed for the Z axis in meters per second.
int SIDXStageMovePositionXYZ(void *SIDXstage, double x_position_m, double y_position_m, double z_position_m)
Commands the stage to begin moving to the absolute position specified along the X, Y and Z axes, measured in meters.
int SIDXStageMotorLimitMinus(void *SIDXstage, int motor, bool &limit)
Gets whether the lower limit switch associated with the specified motor is currently set...
int SIDXStageMotorGetName(void *SIDXstage, int motor, wchar_t *name, size_t length)
Gets the name corresponding to the specified motor number.
int SIDXStageBacklashGetXY(void *SIDXstage, double &distance)
Gets the backlash distance for the X and Y axes, measured in meters.
int SIDXStageMotorGetByName(void *SIDXstage, const wchar_t *name, int &motor)
Gets the handle to the specified motor.
int SIDXStageJoystickSetMovementXY(void *SIDXstage, bool x_right, bool y_right, double fraction)
Sets the direction and speed of the X and Y axis controls for stage's attached joystick.
int SIDXStageAccelerateSetXY(void *SIDXstage, double acceleration)
Sets the acceleration during stage movement for the X and Y axes as a fraction of maximum acceleratio...
int SIDXStagePositionQuery(void *SIDXstage)
Queries the stage about the current position of the X, Y and Z axes.
int SIDXStageSpeedSetZ(void *SIDXstage, double speed_mps)
Sets the speed for the Z axis in meters per second.
int SIDXStageSpeedSetXY(void *SIDXstage, double speed_mps)
Sets the speed for the X and Y axes in meters per second.
int SIDXStageMotorExists(void *SIDXstage, int motor, bool &installed)
Gets whether the specified motor is currently installed.
int SIDXStagePositionGetX(void *SIDXstage, double &coordinate)
Gets the current absolute position coordinate for the X axis, in meters.
int SIDXStageMoveRelativeZ(void *SIDXstage, double z_offset_m)
Commands the stage to begin moving the specified offset along the Z axis, measured in meters...
int SIDXStageBacklashSetXY(void *SIDXstage, double distance)
Sets the backlash distance for the X and Y axes, measured in meters.
int SIDXStageLimitIsZMinus(void *SIDXstage, bool &limit)
Gets whether the lower limit switch associated with the Z axis was set during the last successful lim...
int SIDXStageAccelerateGetLimitXY(void *SIDXstage, double &maximum)
Gets the maximum acceleration during stage movement for the X and Y axes in meters/second^2.
int SIDXStageLimitIsZ(void *SIDXstage, bool &limit)
Gets whether either of the limit switches associated with the Z axis were set during the last success...
int SIDXStageLimitIsYPlus(void *SIDXstage, bool &limit)
Gets whether the upper limit switch associated with the Y axis was set during the last successful lim...
int SIDXStageJoystickSetMovementZ(void *SIDXstage, bool z_up, double fraction)
Sets the direction and speed of the Z axis control for stage's attached joystick. ...
int SIDXStageRotateMirrorX(void *SIDXstage)
Mirror the image in x.