36#define DLL_EXPORT __declspec(dllexport)
38#define DLL_EXPORT extern
82#define AHP_DEBUG_INFO 0
83#define AHP_DEBUG_ERROR 1
84#define AHP_DEBUG_WARNING 2
85#define AHP_DEBUG_DEBUG 3
193 START_PPEC_TRAINING_CMD = 0x00,
194 STOP_PPEC_TRAINING_CMD = 0x01,
195 TURN_PPEC_ON_CMD = 0x02,
196 TURN_PPEC_OFF_CMD = 0x03,
197 ENCODER_ON_CMD = 0x04,
198 ENCODER_OFF_CMD = 0x05,
199 DISABLE_FULL_CURRENT_LOW_SPEED_CMD = 0x0006,
200 ENABLE_FULL_CURRENT_LOW_SPEED_CMD = 0x0106,
201 RESET_HOME_INDEXER_CMD = 0x08,
202} SkywatcherSetFeatureCmd;
235 InquireMotorBoardVersion =
'e',
236 InquireGridPerRevolution =
'a',
237 InquireTimerInterruptFreq =
'b',
238 InquireHighSpeedRatio =
'g',
239 InquirePECPeriod =
's',
240 InstantAxisStop =
'L',
241 NotInstantAxisStop =
'K',
242 SetAxisPositionCmd =
'E',
243 GetAxisPosition =
'j',
247 SetGotoTargetIncrement =
'H',
248 SetBreakPointIncrement =
'M',
255 SetST4GuideRateCmd =
'P',
258 InquireAuxEncoder =
'd',
465#define AHP_GT_VERSION 0x177
466#define AHP_GT_ONE_SECOND 1500000
483DLL_EXPORT
int ahp_gt_connect(
const char* port);
664DLL_EXPORT
int ahp_gt_get_pwm_frequency(
int axis);
891DLL_EXPORT
void ahp_gt_set_pwm_frequency(
int axis,
int value);
1223#if (AHP_GT_VERSION < 0x173)
1225#define ahp_gt_connect(a, b) ahp_gt_connect(a)
1226#define ahp_gt_set_pwm_frequency(a, b) ahp_gt_set_pwm_frequency(b)
1227#define ahp_gt_get_pwm_frequency(a) ahp_gt_get_pwm_frequency()
DLL_EXPORT int ahp_gt_select_device(int address)
Select a device on a serial bus.
DLL_EXPORT int ahp_gt_get_address(void)
Get the current device address.
DLL_EXPORT int ahp_gt_detect_device(void)
Detect the currently selected device.
DLL_EXPORT void ahp_gt_set_address(int address)
Change the current device address.
DLL_EXPORT int ahp_gt_get_current_device(void)
Obtain the current device address.
DLL_EXPORT void ahp_gt_correct_tracking(int axis, double target_period, int *interrupt)
Start a tracking motion correction.
DLL_EXPORT void ahp_gt_get_ra_dec_coordinates(double Alt, double Az, double *Ra, double *Dec)
Get the azimuth tracking multiplier for AZ mounts.
DLL_EXPORT double ahp_gt_get_ra(void)
Get the current right ascension.
DLL_EXPORT void ahp_gt_set_aligned(int aligned)
Set the alignment state of the current device.
DLL_EXPORT void ahp_gt_sync_radec(double ra, double dec)
Set both axes positions to celestial coordinates.
DLL_EXPORT double ahp_gt_tracking_cosine(double Alt, double Az, double Lat)
Get the azimuth tracking multiplier for AZ mounts.
DLL_EXPORT void ahp_gt_goto_radec(double ra, double dec)
Move both axes to celestial coordinates.
DLL_EXPORT double ahp_gt_tracking_sine(double Alt, double Az, double Lat)
Get the altitude tracking multiplier for AZ mounts.
DLL_EXPORT void ahp_gt_set_location(double latitude, double longitude, double elevation)
Set geographic coordinates.
DLL_EXPORT void ahp_gt_set_time_offset(double offset)
Set current time offset.
DLL_EXPORT void ahp_gt_start_tracking(int axis)
Start a test tracking motion.
DLL_EXPORT double ahp_gt_get_time(void)
Get current time.
DLL_EXPORT double ahp_gt_get_ha(void)
Get the current hour angle.
DLL_EXPORT int ahp_gt_get_tracking_mode(void)
Get the tracking mode.
DLL_EXPORT double ahp_gt_get_dec(void)
Get the current declination.
DLL_EXPORT int ahp_gt_start_synscan_server(int port, int *interrupt)
Start an TCP server on the given port and stop after interrupt equals to 1.
DLL_EXPORT void ahp_gt_set_tracking_mode(int mode)
Set the tracking mode.
DLL_EXPORT double ahp_gt_get_time_offset(void)
Get current time offset.
DLL_EXPORT void ahp_gt_get_alt_az_coordinates(double Ra, double Dec, double *Alt, double *Az)
Get current altitude and azimuth.
DLL_EXPORT void ahp_gt_get_location(double *latitude, double *longitude, double *elevation)
Get geographic coordinates.
DLL_EXPORT void ahp_gt_stop_tracking_thread(void)
Stop the tracking thread.
DLL_EXPORT int ahp_gt_is_aligned(void)
Get the alignment state of the current device.
DLL_EXPORT void ahp_gt_goto_altaz(double alt, double az)
Move both axes to horizontal coordinates.
DLL_EXPORT void ahp_gt_set_time(double seconds)
Set current time.
DLL_EXPORT void ahp_gt_start_tracking_thread(void)
Start the tracking thread.
DLL_EXPORT void ahp_gt_read_values(int axis)
Read values from the GT controller.
DLL_EXPORT void ahp_gt_write_values(int axis, int *percent, int *finished)
Write values from the GT controller.
DLL_EXPORT void ahp_gt_disconnect(void)
Disconnect from the GT controller.
DLL_EXPORT unsigned int ahp_gt_is_detected(int index)
Report detection status.
DLL_EXPORT unsigned int ahp_gt_is_connected(void)
Report connection status.
DLL_EXPORT void ahp_gt_set_fd(int fd)
Set the file descriptor that links to the controller.
DLL_EXPORT int ahp_gt_connect_udp(const char *address, int port)
Connect to the GT controller throught an UDP connection.
DLL_EXPORT unsigned int ahp_gt_get_version(void)
Obtain the current libahp-gt version.
Definition ahp_gt.h:476
DLL_EXPORT int ahp_gt_get_fd(void)
Return the file descriptor of the port connected to the GT controllers.
DLL_EXPORT int ahp_gt_get_mc_version(int axis)
Get the GT firmware version.
DLL_EXPORT int ahp_gt_connect_fd(int fd)
Connect to the GT controller using an existing file descriptor.
DLL_EXPORT char * ahp_get_app_name(void)
get the application name
DLL_EXPORT void ahp_set_app_name(char *name)
set the application name
DLL_EXPORT int ahp_get_debug_level(void)
get the debug level
DLL_EXPORT void ahp_set_debug_level(int value)
set the debug level
DLL_EXPORT void ahp_set_stderr(FILE *f)
set the error log stream
DLL_EXPORT void ahp_set_stdout(FILE *f)
set the output log stream
#define AHP_GT_VERSION
AHP_GT_VERSION This library version.
Definition ahp_gt.h:465
DLL_EXPORT int ahp_gt_is_axis_moving(int axis)
Determine if an axis is moving.
DLL_EXPORT double ahp_gt_get_position(int axis, double *timestamp)
Get the axis position.
DLL_EXPORT void ahp_gt_goto_absolute(int axis, double target, double speed)
Move an axis to a position.
DLL_EXPORT void ahp_gt_goto_relative(int axis, double increment, double speed)
Move an axis by an offset.
DLL_EXPORT void ahp_gt_stop_motion(int axis, int wait)
Stop an axis motion.
DLL_EXPORT void ahp_gt_start_motion(int axis, double speed)
Move an axis.
DLL_EXPORT void ahp_gt_set_position(int axis, double value)
Set the axis position in radians.
DLL_EXPORT SkywatcherAxisStatus ahp_gt_get_status(int axis)
Get an axis status.
DLL_EXPORT void ahp_gt_set_motor_steps(int axis, double value)
Set the motor steps number.
DLL_EXPORT void ahp_gt_set_crown_teeth(int axis, double value)
Set the crown gear teeth number.
DLL_EXPORT double ahp_gt_get_worm_teeth(int axis)
Get the current worm gear teeth number.
DLL_EXPORT void ahp_gt_copy_axis(int axis, int value)
Set the GT controller axis number.
DLL_EXPORT double ahp_gt_get_speed_limit(int axis)
Get the speed limit.
DLL_EXPORT void ahp_gt_set_stepping_mode(int axis, GTSteppingMode value)
Set the stepping mode.
DLL_EXPORT void ahp_gt_limit_intensity(int axis, int value)
Limit the axis in intensity.
DLL_EXPORT double ahp_gt_get_intensity_limit(int axis)
Get the intensity limit.
DLL_EXPORT int ahp_gt_get_rs232_polarity(void)
Get the rs232 port polarity.
DLL_EXPORT double ahp_gt_get_acceleration_angle(int axis)
Get the acceleration angle.
DLL_EXPORT double ahp_gt_get_guide_steps(int axis)
Get the guiding rate.
DLL_EXPORT void ahp_gt_set_rs232_polarity(int value)
Set the rs232 port polarity.
DLL_EXPORT void ahp_gt_set_direction_invert(int axis, int value)
Set the forward direction.
DLL_EXPORT double ahp_gt_get_max_speed(int axis)
Get the maximum speed.
DLL_EXPORT void ahp_gt_set_motor_teeth(int axis, double value)
Set the motor gear teeth number.
DLL_EXPORT void ahp_gt_set_acceleration_angle(int axis, double value)
Set the acceleration in high speed mode.
DLL_EXPORT MountType ahp_gt_get_mount_type(void)
Get the current GT mount type.
DLL_EXPORT double ahp_gt_get_timing(int axis)
Get the timing value of the axis.
DLL_EXPORT void ahp_gt_set_totalsteps(int axis, int value)
Set the total number of steps.
DLL_EXPORT int ahp_gt_get_direction_invert(int axis)
Get the forward direction.
DLL_EXPORT double ahp_gt_get_motor_steps(int axis)
Get the current motor steps number.
DLL_EXPORT void ahp_gt_set_feature(int axis, GTFeature value)
Set the GT features.
DLL_EXPORT void ahp_gt_set_mount_flags(GTFlags value)
Set the mount flags.
DLL_EXPORT GTFlags ahp_gt_get_mount_flags(void)
Get the mount flags.
double ahp_gt_get_intensity_deviation(int axis, double freq)
Get the intensity or intensity estimated at a given frequency.
DLL_EXPORT GTSteppingConfiguration ahp_gt_get_stepping_conf(int axis)
Get the stepping configuration.
DLL_EXPORT GTFeature ahp_gt_get_feature(int axis)
Get the current GT features.
void ahp_gt_set_voltage(int axis, double value)
Set the voltage for intensity or intensity estimation.
DLL_EXPORT double ahp_gt_get_crown_teeth(int axis)
Get the current crown gear teeth number.
DLL_EXPORT void ahp_gt_set_features(int axis, SkywatcherFeature value)
Set the Skywatcher features.
DLL_EXPORT void ahp_gt_set_guide_steps(int axis, double value)
Set the guiding speed.
DLL_EXPORT int ahp_gt_get_axes_limit(void)
Get the current GT controller axis number limit.
DLL_EXPORT void ahp_gt_set_wormsteps(int axis, int value)
Set the worm number of steps.
DLL_EXPORT int ahp_gt_get_wormsteps(int axis)
Get the worm number of steps.
DLL_EXPORT double ahp_gt_get_acceleration_steps(int axis)
Get the acceleration increment steps number.
DLL_EXPORT GTSteppingMode ahp_gt_get_stepping_mode(int axis)
Get the stepping mode.
DLL_EXPORT const char * ahp_gt_axis_name(int axis)
Get the GT controller axis name.
DLL_EXPORT void ahp_gt_set_timing(int axis, int value)
Set the timing value of the axis.
DLL_EXPORT void ahp_gt_set_intensity_limit(int axis, double value)
Set the intensity limit.
DLL_EXPORT void ahp_gt_set_axes_limit(int value)
Set the GT controller axis number limit.
DLL_EXPORT int ahp_gt_get_totalsteps(int axis)
Get the total number of steps.
DLL_EXPORT void ahp_gt_set_max_speed(int axis, double value)
Set the maximum goto speed.
DLL_EXPORT double ahp_gt_get_divider(int axis)
Get the divider in the current configuration.
DLL_EXPORT double ahp_gt_get_motor_teeth(int axis)
Get the current motor gear teeth number.
DLL_EXPORT void ahp_gt_set_divider(int axis, int value)
Set the divider in the current configuration.
DLL_EXPORT int ahp_gt_is_intensity_limited(int axis)
Query if the axis is intensity limited.
DLL_EXPORT SkywatcherFeature ahp_gt_get_features(int axis)
Get the current SkyWatcher features.
DLL_EXPORT void ahp_gt_set_worm_teeth(int axis, double value)
Set the worm gear teeth number.
DLL_EXPORT void ahp_gt_set_multiplier(int axis, int value)
Set the multiplier in the current configuration.
DLL_EXPORT double ahp_gt_get_multiplier(int axis)
Get the multiplier in the current configuration.
DLL_EXPORT void ahp_gt_set_stepping_conf(int axis, GTSteppingConfiguration value)
Set the stepping configuration.
void ahp_gt_add_intensity_deviator(int axis, gt_deviator deviator)
Add an intensity deviator for the intensity estimation.
DLL_EXPORT void ahp_gt_set_mount_type(MountType value)
Set the mount type.
SkywatcherDirection
Direction.
Definition ahp_gt.h:367
MountType
Default Mount types.
Definition ahp_gt.h:205
GTFlags
GT custom flags.
Definition ahp_gt.h:155
SkywatcherAxis
Axis Indexes.
Definition ahp_gt.h:375
GTSteppingMode
Stepping mode.
Definition ahp_gt.h:133
SkywatcherMotionMode
Motion Mode.
Definition ahp_gt.h:339
SkywatcherFeature
Skywatcher default features - EQ8/AZEQ6/AZEQ5 only.
Definition ahp_gt.h:169
SkywatcherSpeedMode
Speed Mode.
Definition ahp_gt.h:359
SkywatcherSlewMode
Slew Mode.
Definition ahp_gt.h:351
SynscanCommand
Commands for the SynScan protocol implementation.
Definition ahp_gt.h:270
GTFeature
ST-4 port configuration.
Definition ahp_gt.h:143
GTSteppingConfiguration
Motor coils phase winding configuration.
Definition ahp_gt.h:123
@ DIRECTION_BACKWARD
Move backward.
Definition ahp_gt.h:371
@ DIRECTION_FORWARD
Move forward.
Definition ahp_gt.h:369
@ isMF
Fork Mount.
Definition ahp_gt.h:223
@ isHEQ5
Sky-Watcher HEQ5.
Definition ahp_gt.h:209
@ isAZEQ5
Sky-Watcher AZEQ5.
Definition ahp_gt.h:219
@ isAZEQ6
Sky-Watcher AZEQ6.
Definition ahp_gt.h:217
@ isEQ5
Sky-Watcher EQ5.
Definition ahp_gt.h:211
@ isCustom
Custom mount.
Definition ahp_gt.h:229
@ isEQ8
Sky-Watcher EQ8.
Definition ahp_gt.h:215
@ is114GT
114GT
Definition ahp_gt.h:225
@ isDOB
Dobsonian mount.
Definition ahp_gt.h:227
@ isGT
Sky-Watcher GT.
Definition ahp_gt.h:221
@ isEQ3
Sky-Watcher EQ3.
Definition ahp_gt.h:213
@ isEQ6
Sky-Watcher EQ6.
Definition ahp_gt.h:207
@ halfCurrentRA
Half-current high-speed on RA.
Definition ahp_gt.h:159
@ torqueControl
Control torque.
Definition ahp_gt.h:165
@ halfCurrentDec
Half-current high-speed on Dec.
Definition ahp_gt.h:161
@ isForkMount
Fork mount, will avoid meridian flip.
Definition ahp_gt.h:157
@ bauds_115200
high Baud Rate 115200
Definition ahp_gt.h:163
@ Guide
Guide, following indexes add motion compensation to the previous axes, starting from Ra.
Definition ahp_gt.h:431
@ HalfStep
Half-stepping in low speed, Half-stepping in high speed.
Definition ahp_gt.h:139
@ Microstep
Microstepping in low speed, Microstepping in high speed.
Definition ahp_gt.h:137
@ Mixed
Microstepping in low speed, Half-stepping in high speed.
Definition ahp_gt.h:135
@ MODE_GOTO_HISPEED
High-speed (half-stepping mostly) Goto.
Definition ahp_gt.h:341
@ MODE_SLEW_HISPEED
High-speed (half-stepping mostly) Slew.
Definition ahp_gt.h:347
@ MODE_SLEW_LOSPEED
Low-speed (microstepping possibly) Slew.
Definition ahp_gt.h:343
@ MODE_GOTO_LOSPEED
Low-speed (microstepping possibly) Goto.
Definition ahp_gt.h:345
@ hasHalfCurrentTracking
Mount allows half-current tracking.
Definition ahp_gt.h:187
@ hasCommonSlewStart
Mount has a common slew start.
Definition ahp_gt.h:185
@ hasEncoder
Mount has an encoder.
Definition ahp_gt.h:175
@ inPPEC
PPEC correction in progress.
Definition ahp_gt.h:173
@ hasWifi
Mount provides a WiFi communication.
Definition ahp_gt.h:189
@ hasPPEC
Mount has PPEC.
Definition ahp_gt.h:177
@ inPPECTraining
PPEC training in progress.
Definition ahp_gt.h:171
@ hasHomeIndexer
Mount has an home indexer.
Definition ahp_gt.h:179
@ isAZEQ
Mount is an AZEQ.
Definition ahp_gt.h:181
@ hasPolarLed
Mount has a polar scope led.
Definition ahp_gt.h:183
@ SPEED_LOW
Low-speed (microstepping possibly)
Definition ahp_gt.h:361
@ SPEED_HIGH
High-speed (half-stepping mostly)
Definition ahp_gt.h:363
@ MODE_SLEW
Slew, no target, will stop upon request only.
Definition ahp_gt.h:353
@ MODE_GOTO
Goto, targeted, will stop upon request or on target reached.
Definition ahp_gt.h:355
@ SetLocation
Set Location.
Definition ahp_gt.h:317
@ GetModel
Get Model 0 = EQ6 GOTO Series 1 = HEQ5 GOTO Series 2 = EQ5 GOTO Series 3 = EQ3 GOTO Series 4 = EQ8 GO...
Definition ahp_gt.h:325
@ SyncPreciseRaDec
Sync precise RA/DEC.
Definition ahp_gt.h:290
@ GotoPreciseAzAlt
GOTO precise AZM-ALT.
Definition ahp_gt.h:286
@ CancelGOTO
Cancel GOTO.
Definition ahp_gt.h:333
@ SetTrackingMode
Set Tracking Mode.
Definition ahp_gt.h:294
@ GetLocation
Get Location.
Definition ahp_gt.h:315
@ GetSynScanVersion
Get Version.
Definition ahp_gt.h:323
@ GetRaDec
Get RA/DEC.
Definition ahp_gt.h:272
@ SetTime
Set Time.
Definition ahp_gt.h:321
@ Slew
Definition ahp_gt.h:313
@ SyncRaDec
Sync RA/DEC.
Definition ahp_gt.h:288
@ GetMountPointingState
Get Mount Pointing State.
Definition ahp_gt.h:335
@ GotoPreciseRaDec
GOTO precise RA/DEC.
Definition ahp_gt.h:282
@ GetTime
Get Time.
Definition ahp_gt.h:319
@ GetPreciseRaDec
Get precise RA/DEC.
Definition ahp_gt.h:274
@ GetPreciseAzAlt
Get precise AZM-ALT.
Definition ahp_gt.h:278
@ Echo
Echo - useful to check communication.
Definition ahp_gt.h:327
@ GetAzAlt
Get AZM-ALT.
Definition ahp_gt.h:276
@ GetTrackingMode
Get Tracking Mode.
Definition ahp_gt.h:292
@ GotoAzAlt
GOTO AZM-ALT.
Definition ahp_gt.h:284
@ AlignmentComplete
Is Alignment Complete? - align=1 if aligned and 0 if not.
Definition ahp_gt.h:329
@ GOTOinProgress
Is GOTO in Progress? - Response is ASCII'0' or '1'& '#'.
Definition ahp_gt.h:331
@ GotoRaDec
GOTO RA/DEC.
Definition ahp_gt.h:280
@ GpioUnused
The ST4 port will remain unused.
Definition ahp_gt.h:145
@ GpioAsPulseDrive
The ST4 port will drive an external Step/Dir power drive.
Definition ahp_gt.h:151
@ GpioAsST4
The ST4 port will work as autoguider.
Definition ahp_gt.h:147
@ GpioAsEncoder
The ST4 port will be connected to an encoder.
Definition ahp_gt.h:149
@ ABBA
ABBA Motor winding.
Definition ahp_gt.h:129
@ AABB
AABB Motor winding.
Definition ahp_gt.h:125
@ ABAB
ABAB Motor winding.
Definition ahp_gt.h:127
Axis Status.
Definition ahp_gt.h:444
SkywatcherSlewMode Mode
Current slew mode.
Definition ahp_gt.h:450
SkywatcherSpeedMode Speed
Current speed mode.
Definition ahp_gt.h:452
SkywatcherDirection Direction
Current direction.
Definition ahp_gt.h:454
int Initialized
Motor was initialized.
Definition ahp_gt.h:446
int Running
Motor is running.
Definition ahp_gt.h:448
Axis Intensity predictor.
Definition ahp_gt.h:436
double variable
2nd order variable
Definition ahp_gt.h:438
double constant
offset constant
Definition ahp_gt.h:440