AHP® GT Controllers API
AHP GT Controllers
Loading...
Searching...
No Matches
ahp_gt.h
1
26
27#ifndef _AHP_GT_H
28#define _AHP_GT_H
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33#ifdef _WIN32
34#include <winsock2.h>
35#include <windows.h>
36#define DLL_EXPORT __declspec(dllexport)
37#else
38#define DLL_EXPORT extern
39#endif
40
41#include <stdio.h>
42#include <stdlib.h>
43#include <string.h>
44#include <math.h>
45#include <unistd.h>
46
67
79
80#ifndef AHP_DEBUG
81#define AHP_DEBUG
82#define AHP_DEBUG_INFO 0
83#define AHP_DEBUG_ERROR 1
84#define AHP_DEBUG_WARNING 2
85#define AHP_DEBUG_DEBUG 3
90DLL_EXPORT void ahp_set_debug_level(int value);
95DLL_EXPORT int ahp_get_debug_level(void);
100DLL_EXPORT void ahp_set_app_name(char* name);
105DLL_EXPORT char* ahp_get_app_name(void);
110DLL_EXPORT void ahp_set_stdout(FILE *f);
115DLL_EXPORT void ahp_set_stderr(FILE *f);
116#endif
117
121
123typedef enum {
125 AABB = 0,
127 ABAB = 1,
129 ABBA = 2,
131
133typedef enum {
141
143typedef enum {
145GpioUnused = 0x0000,
147GpioAsST4 = 0x0001,
152} GTFeature;
153
167
169typedef enum {
171inPPECTraining = 0x000010,
173inPPEC = 0x000020,
175hasEncoder = 0x000001,
177hasPPEC = 0x000002,
179hasHomeIndexer = 0x000004,
181isAZEQ = 0x000008,
183hasPolarLed = 0x001000,
189hasWifi = 0x008000,
191
192typedef enum {
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;
203
205typedef enum {
207isEQ6 = 0x00,
209isHEQ5 = 0x01,
211isEQ5 = 0x02,
213isEQ3 = 0x03,
215isEQ8 = 0x04,
217isAZEQ6 = 0x05,
219isAZEQ5 = 0x06,
221isGT = 0x80,
223isMF = 0x81,
225is114GT = 0x82,
227isDOB = 0x90,
229isCustom = 0xF0,
230} MountType;
231
232typedef enum {
233 Null = '\0',
234 Initialize = 'F',
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',
244 GetAxisStatus = 'f',
245 SetSwitch = 'O',
246 SetMotionMode = 'G',
247 SetGotoTargetIncrement = 'H',
248 SetBreakPointIncrement = 'M',
249 SetGotoTarget = 'S',
250 SetBreakStep = 'U',
251 SetStepPeriod = 'I',
252 StartMotion = 'J',
253 GetStepPeriod = 'D', // See Merlin protocol http://www.papywizard.org/wiki/DevelopGuide
254 ActivateMotor = 'B', // See eq6direct implementation http://pierre.nerzic.free.fr/INDI/
255 SetST4GuideRateCmd = 'P',
256 SetFeatureCmd = 'W', // EQ8/AZEQ6/AZEQ5 only
257 GetFeatureCmd = 'q', // EQ8/AZEQ6/AZEQ5 only
258 InquireAuxEncoder = 'd', // EQ8/AZEQ6/AZEQ5 only
259 SetVars = '@',
260 GetVars = '?',
261 ReloadVars = '$',
262 Flash = '#',
263 FlashEnable = '!',
264 SetAddress = '=',
265 SetAxis = '.',
266 GetAxis = ',',
267} SkywatcherCommand;
268
270typedef enum {
272 GetRaDec = 'E', // < '34AB,12CE#'
274 GetPreciseRaDec = 'e', // < 34AB0500,12CE0500#
276 GetAzAlt = 'Z', // < 12AB,4000#
278 GetPreciseAzAlt = 'z', // < 12AB0500,40000500#
280 GotoRaDec = 'R', // > 'R34AB,12CE' < #
282 GotoPreciseRaDec = 'r', // > r'34AB0500,12CE0500', < #
284 GotoAzAlt = 'B', // > 'B12AB,4000', < '#'
286 GotoPreciseAzAlt = 'b', // > 'b12AB0500,40000500', < #
288 SyncRaDec = 'S', // > 'S34AB,12CE', < '#'
290 SyncPreciseRaDec = 's', // > 's34AB0500,12CE0500', < #
292 GetTrackingMode = 't', // < chr:mode #
294 SetTrackingMode = 'T', // > chr:mode #
313 Slew = 'P',
315 GetLocation = 'w', // < chr:A & chr:B & chr:C & chr:D & chr:E & chr:F & chr:G & chr:H & '#'
317 SetLocation = 'W', // > & chr:A & chr:B & chr:C & chr:D & chr:E & chr:F & chr:G & chr:H '#'
319 GetTime = 'h', // < chr:Q & chr:R & chr:S & chr:T & chr:U & chr:V & chr:W & chr:X & '#'
321 SetTime = 'H', // > & chr:Q & chr:R & chr:S & chr:T & chr:U & chr:V & chr:W & chr:X
323 GetSynScanVersion = 'V', // Replies 6 hexadecimal digits in ASCII and ends with '#', i.e. if the version is 04.37.07, then the hand control will responses '042507#', Hand Control responses its firmware version in 6 hexadecimal digits in ASCII. Each hexadecimal digits will be one of ‘0’~ ‘9’ and ‘A’~ ‘F’.
325 GetModel = 'm', // < chr:model & '#' Hand Control responses the model of mount.
327 Echo = 'K', // > & chr:x chr:x & '#'
329 AlignmentComplete = 'J', // chr:align & #
333 CancelGOTO = 'M', // < '#'
335 GetMountPointingState = 'p', // < 'E' or 'W' & '#' Hand Control responses the mount current pointing state. For northern 'E' means no flipping (OTA is on the eastern side of meridian), 'W' means flipped (OTA is on the western side). For southern hemisphere, 'E' means flipped, 'W' means not flipped.
337
349
351typedef enum {
357
359typedef enum {
365
373
375typedef enum {
376Ra = 0,
377Dec,
378Focus,
379Filter,
380Rotator,
381Iris,
382Shutter,
383Dome,
384Instrument,
385TipX,
386TipY,
387TipZ,
388TiltX,
389TiltY,
390TiltZ,
391InstrumentX,
392InstrumentY,
393InstrumentZ,
394InstrumentRotationX,
395InstrumentRotationY,
396InstrumentRotationZ,
397PhasePrimaryX,
398PhasePrimaryY,
399PhasePrimaryZ,
400PhaseSecondaryX,
401PhaseSecondaryY,
402PhaseSecondaryZ,
403PhaseTertiaryX,
404PhaseTertiaryY,
405PhaseTertiaryZ,
406FrequencyPrimaryX,
407FrequencyPrimaryY,
408FrequencyPrimaryZ,
409FrequencySecondaryX,
410FrequencySecondaryY,
411FrequencySecondaryZ,
412FrequencyTertiaryX,
413FrequencyTertiaryY,
414FrequencyTertiaryZ,
415PCMPrimaryX,
416PCMPrimaryY,
417PCMPrimaryZ,
418PCMSecondaryX,
419PCMSecondaryY,
420PCMSecondaryZ,
421PCMTertiaryX,
422PCMTertiaryY,
423PCMTertiaryZ,
424PlaneX,
425PlaneY,
426PlaneZ,
427RailX,
428RailY,
429RailZ,
431Guide = 64,
432NumAxes,
434
436typedef struct {
438 double variable;
440 double constant;
442
444typedef struct {
455//Current position
456double position;
457//timestamp
458double timestamp;
460
465#define AHP_GT_VERSION 0x177
466#define AHP_GT_ONE_SECOND 1500000
467
471
476 DLL_EXPORT inline unsigned int ahp_gt_get_version(void) { return AHP_GT_VERSION; }
477
483DLL_EXPORT int ahp_gt_connect(const char* port);
484
490DLL_EXPORT int ahp_gt_connect_fd(int fd);
491
498DLL_EXPORT int ahp_gt_connect_udp(const char* address, int port);
499
504DLL_EXPORT int ahp_gt_get_fd(void);
505
509DLL_EXPORT void ahp_gt_disconnect(void);
510
516DLL_EXPORT void ahp_gt_set_fd(int fd);
517
525DLL_EXPORT unsigned int ahp_gt_is_connected(void);
526
537DLL_EXPORT unsigned int ahp_gt_is_detected(int index);
538
544DLL_EXPORT int ahp_gt_get_mc_version(int axis);
545
549
555
560DLL_EXPORT int ahp_gt_get_axes_limit(void);
561
567DLL_EXPORT GTFeature ahp_gt_get_feature(int axis);
568
575
581DLL_EXPORT double ahp_gt_get_motor_steps(int axis);
582
588DLL_EXPORT double ahp_gt_get_motor_teeth(int axis);
589
595DLL_EXPORT double ahp_gt_get_worm_teeth(int axis);
596
602DLL_EXPORT double ahp_gt_get_crown_teeth(int axis);
603
609DLL_EXPORT double ahp_gt_get_divider(int axis);
610
616DLL_EXPORT double ahp_gt_get_multiplier(int axis);
617
623DLL_EXPORT int ahp_gt_get_totalsteps(int axis);
624
630DLL_EXPORT int ahp_gt_get_wormsteps(int axis);
631
637DLL_EXPORT double ahp_gt_get_guide_steps(int axis);
638
644DLL_EXPORT double ahp_gt_get_acceleration_steps(int axis);
645
651DLL_EXPORT double ahp_gt_get_acceleration_angle(int axis);
652
657DLL_EXPORT int ahp_gt_get_rs232_polarity(void);
658
664DLL_EXPORT int ahp_gt_get_pwm_frequency(int axis);
665
671DLL_EXPORT int ahp_gt_get_direction_invert(int axis);
672
678
685
692
698DLL_EXPORT double ahp_gt_get_max_speed(int axis);
699
705DLL_EXPORT double ahp_gt_get_speed_limit(int axis);
706
712DLL_EXPORT double ahp_gt_get_timing(int axis);
713
719DLL_EXPORT void ahp_gt_set_timing(int axis, int value);
720
725DLL_EXPORT void ahp_gt_set_mount_type(MountType value);
726
732DLL_EXPORT void ahp_gt_copy_axis(int axis, int value);
733
739DLL_EXPORT const char* ahp_gt_axis_name(int axis);
740
745DLL_EXPORT void ahp_gt_set_axes_limit(int value);
746
752DLL_EXPORT void ahp_gt_set_features(int axis, SkywatcherFeature value);
753
759DLL_EXPORT void ahp_gt_set_feature(int axis, GTFeature value);
760
766DLL_EXPORT void ahp_gt_set_motor_steps(int axis, double value);
767
773DLL_EXPORT void ahp_gt_set_motor_teeth(int axis, double value);
774
780DLL_EXPORT void ahp_gt_set_worm_teeth(int axis, double value);
781
787DLL_EXPORT void ahp_gt_set_crown_teeth(int axis, double value);
788
794DLL_EXPORT void ahp_gt_set_divider(int axis, int value);
795
801DLL_EXPORT void ahp_gt_set_multiplier(int axis, int value);
802
808DLL_EXPORT void ahp_gt_set_totalsteps(int axis, int value);
809
815DLL_EXPORT void ahp_gt_set_wormsteps(int axis, int value);
816
822DLL_EXPORT void ahp_gt_set_guide_steps(int axis, double value);
823
829DLL_EXPORT void ahp_gt_limit_intensity(int axis, int value);
830
836DLL_EXPORT int ahp_gt_is_intensity_limited(int axis);
837
843DLL_EXPORT void ahp_gt_set_intensity_limit(int axis, double value);
844
850DLL_EXPORT double ahp_gt_get_intensity_limit(int axis);
851
857void ahp_gt_set_voltage(int axis, double value);
858
865
871double ahp_gt_get_intensity_deviation(int axis, double freq);
872
878DLL_EXPORT void ahp_gt_set_acceleration_angle(int axis, double value);
879
884DLL_EXPORT void ahp_gt_set_rs232_polarity(int value);
885
891DLL_EXPORT void ahp_gt_set_pwm_frequency(int axis, int value);
892
898DLL_EXPORT void ahp_gt_set_direction_invert(int axis, int value);
899
904DLL_EXPORT void ahp_gt_set_mount_flags(GTFlags value);
905
911DLL_EXPORT void ahp_gt_set_stepping_conf(int axis, GTSteppingConfiguration value);
912
918DLL_EXPORT void ahp_gt_set_stepping_mode(int axis, GTSteppingMode value);
919
925DLL_EXPORT void ahp_gt_set_max_speed(int axis, double value);
926
930
935DLL_EXPORT int ahp_gt_detect_device(void);
936
942DLL_EXPORT int ahp_gt_select_device(int address);
943
948DLL_EXPORT int ahp_gt_get_current_device(void);
949
954DLL_EXPORT void ahp_gt_set_address(int address);
955
960DLL_EXPORT int ahp_gt_get_address(void);
961
965
972DLL_EXPORT void ahp_gt_write_values(int axis, int *percent, int *finished);
973
978DLL_EXPORT void ahp_gt_read_values(int axis);
979
983
990
997DLL_EXPORT double ahp_gt_get_position(int axis, double *timestamp);
998
1004DLL_EXPORT void ahp_gt_set_position(int axis, double value);
1005
1011DLL_EXPORT int ahp_gt_is_axis_moving(int axis);
1012
1018DLL_EXPORT void ahp_gt_stop_motion(int axis, int wait);
1019
1025DLL_EXPORT void ahp_gt_start_motion(int axis, double speed);
1026
1033DLL_EXPORT void ahp_gt_goto_relative(int axis, double increment, double speed);
1034
1041DLL_EXPORT void ahp_gt_goto_absolute(int axis, double target, double speed);
1042
1045
1052DLL_EXPORT int ahp_gt_start_synscan_server(int port, int *interrupt);
1053
1059DLL_EXPORT void ahp_gt_set_aligned(int aligned);
1060
1065DLL_EXPORT int ahp_gt_is_aligned(void);
1066
1071DLL_EXPORT void ahp_gt_set_time(double seconds);
1072
1077DLL_EXPORT double ahp_gt_get_time(void);
1078
1079
1084DLL_EXPORT void ahp_gt_set_time_offset(double offset);
1085
1090DLL_EXPORT double ahp_gt_get_time_offset(void);
1091
1098DLL_EXPORT void ahp_gt_set_location(double latitude, double longitude, double elevation);
1099
1106DLL_EXPORT void ahp_gt_get_location(double *latitude, double *longitude, double *elevation);
1107
1113DLL_EXPORT void ahp_gt_goto_altaz(double alt, double az);
1114
1122DLL_EXPORT double ahp_gt_tracking_sine(double Alt, double Az, double Lat);
1123
1131DLL_EXPORT double ahp_gt_tracking_cosine(double Alt, double Az, double Lat);
1132
1138DLL_EXPORT void ahp_gt_goto_radec(double ra, double dec);
1139
1145DLL_EXPORT void ahp_gt_sync_radec(double ra, double dec);
1146
1153DLL_EXPORT void ahp_gt_correct_tracking(int axis, double target_period, int *interrupt);
1154
1158DLL_EXPORT void ahp_gt_start_tracking_thread(void);
1159
1163DLL_EXPORT void ahp_gt_stop_tracking_thread(void);
1164
1169DLL_EXPORT void ahp_gt_set_tracking_mode(int mode);
1170
1175DLL_EXPORT int ahp_gt_get_tracking_mode(void);
1176
1181DLL_EXPORT void ahp_gt_start_tracking(int axis);
1182
1190DLL_EXPORT void ahp_gt_get_ra_dec_coordinates(double Alt, double Az, double *Ra, double *Dec);
1191
1199DLL_EXPORT void ahp_gt_get_alt_az_coordinates(double Ra, double Dec, double* Alt, double *Az);
1200
1205DLL_EXPORT double ahp_gt_get_ha(void);
1206
1211DLL_EXPORT double ahp_gt_get_ra(void);
1212
1217DLL_EXPORT double ahp_gt_get_dec(void);
1218
1222
1223#if (AHP_GT_VERSION < 0x173)
1224#define GT GT1
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()
1228#endif
1229
1230#ifdef __cplusplus
1231} // extern "C"
1232#endif
1233
1234#endif //_AHP_GT_H
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