| gclib 2.4.1 Galil Communications Library

Loading...
Searching...
No Matches
gclib.h
Go to the documentation of this file.
1
3
4#pragma once
5
6#ifdef __cplusplus
7 extern "C" {
8#endif
9
10#include <string.h>
11#include <stdlib.h>
12#include <stdint.h>
13#include <stdbool.h>
14#include <stdarg.h>
15
16#include "gclib_compat.h"
17
18#ifndef _WIN32
19#pragma GCC visibility push(default)
20#endif
21
23 typedef struct Context* gclib_handle;
25 typedef struct DataRecord* gclib_data_record_handle;
26
29 typedef enum gclib_result {
30 GCLIB_SUCCESS,
31 GCLIB_INVALID_ARGUMENT,
32 GCLIB_INTERNAL_ERROR,
33 GCLIB_TIMEOUT,
34 GCLIB_COMMAND_ERROR,
35 GCLIB_BUFFER_TOO_SMALL,
36 GCLIB_NOT_CONNECTED,
37 GCLIB_NOT_SUBSCRIBED
38} gclib_result;
39
41 typedef enum gclib_interrupt_type {
42 GCLIB_NO_INTERRUPTS = 0,
43 GCLIB_USER_INTERRUPT = 0, // Cannot be enabled or disabled
44 GCLIB_MOTION_COMPLETE = 1 << 0,
45 GCLIB_ALL_AXES_MOTION_COMPLETE = 1 << 8,
46 GCLIB_EXCESS_POSITION_ERROR = 1 << 9,
47 GCLIB_LIMIT_SWITCH = 1 << 10,
48 GCLIB_WATCHDOG_TIMER = 1 << 11,
49 GCLIB_PROGRAM_STOPPED = 1 << 13,
50 GCLIB_COMMAND_DONE = 1 << 14,
51 GCLIB_DIGITAL_INPUT_LOW = 1 << 15,
52 GCLIB_ALL_INTERRUPTS = (1 << 16) - 1,
53} gclib_interrupt_type;
54
55 typedef struct gclib_interrupt_t {
56 gclib_interrupt_type type;
57 union {
58 char axis;
59 uint8_t digital_input;
60 uint8_t user_interrupt;
61 };
62 uint8_t status;
63} gclib_interrupt_t;
64
65 typedef enum gclib_digital_input_flags {
66 GCLIB_NO_DIGITAL_INPUTS = 0,
67 GCLIB_DIGITAL_INPUT_1 = 1 << 0,
68 GCLIB_DIGITAL_INPUT_2 = 1 << 1,
69 GCLIB_DIGITAL_INPUT_3 = 1 << 2,
70 GCLIB_DIGITAL_INPUT_4 = 1 << 3,
71 GCLIB_DIGITAL_INPUT_5 = 1 << 4,
72 GCLIB_DIGITAL_INPUT_6 = 1 << 5,
73 GCLIB_DIGITAL_INPUT_7 = 1 << 6,
74 GCLIB_DIGITAL_INPUT_8 = 1 << 7,
75 GCLIB_ALL_DIGITAL_INPUTS = (1 << 8) - 1
76} gclib_digital_input_flags;
77
78 typedef enum gclib_axis_flags {
79 GCLIB_NO_AXES = 0,
80 GCLIB_AXIS_A = 1 << 0,
81 GCLIB_AXIS_B = 1 << 1,
82 GCLIB_AXIS_C = 1 << 2,
83 GCLIB_AXIS_D = 1 << 3,
84 GCLIB_AXIS_E = 1 << 4,
85 GCLIB_AXIS_F = 1 << 5,
86 GCLIB_AXIS_G = 1 << 6,
87 GCLIB_AXIS_H = 1 << 7,
88 GCLIB_ALL_AXES = (1 << 8) - 1
89} gclib_axis_flags;
90
91
98 gclib_result gclib_version(char* version, size_t len);
99
106 gclib_result gclib_gcaps_version(char* gcaps_version, size_t len);
107
111
112
132 gclib_result gclib_addresses(char* addresses, size_t len);
133
147 gclib_result gclib_ip_requests(char* ip_requests, size_t len);
148
157 gclib_result gclib_assign_ip(const char* mac, const char* ip);
158
164
165
172 gclib_result gclib_list_servers(char* servers, size_t len);
173
182 gclib_result gclib_server(char* name, size_t len);
183
191 gclib_result gclib_set_server(const char* name);
192
200 gclib_result gclib_published(char* name, size_t len);
201
207 gclib_result gclib_set_published(const char* name);
208
210
211
222 void gclib_force_gcaps(bool on);
223
237 gclib_result gclib_open(gclib_handle* h, const char* address);
238
246 gclib_result gclib_set_baud_rate(gclib_handle h, size_t baud_rate);
247
254 gclib_result gclib_close(gclib_handle* h);
255
265 const char* gclib_error(gclib_handle h);
266
274 gclib_result gclib_address(gclib_handle h, char* address, size_t len);
276 typedef enum gclib_connection_t {
277 GCLIB_ETHERNET = 1,
278 GCLIB_SERIAL,
279 GCLIB_PCI
280} gclib_connection_t;
281
288 gclib_result gclib_connection_type(gclib_handle h, gclib_connection_t* type);
289
294
295
306 gclib_result gclib_revision_information(gclib_handle h, char* rev_info, size_t len);
307
315 gclib_result gclib_serial_number(gclib_handle h, uint32_t* serial_number);
316
332 gclib_result gclib_command(gclib_handle h, const char* command, char* buf, size_t len);
333
334
341
342
375 gclib_result gclib_set_interrupts(gclib_handle h, gclib_interrupt_type interrupt_mask, gclib_axis_flags motion_complete_axes, gclib_digital_input_flags digital_inputs);
376
389 gclib_result gclib_set_data_records(gclib_handle h, size_t period_ms);
390
413 gclib_result gclib_subscribe_messages(gclib_handle h, void(callback)(void* user_data, const char* message), void* user_data);
414
438 gclib_result gclib_subscribe_interrupts(gclib_handle h, void(callback)(void* user_data, gclib_interrupt_t interrupt), void* user_data);
439
463 gclib_result gclib_subscribe_data_records(gclib_handle h, void(callback)(void* user_data, gclib_data_record_handle data_record), void* user_data);
464
479 gclib_result gclib_subscribe_progress(gclib_handle h, void(callback)(void* user_data, size_t current, size_t max), void* user_data);
480
489 gclib_result gclib_unsubscribe(gclib_handle h, void* callback);
490
502 gclib_result gclib_message(gclib_handle h, char* message, size_t len, int timeout);
503
512 gclib_result gclib_interrupt(gclib_handle h, gclib_interrupt_t* interrupt, int timeout);
513
524 gclib_result gclib_data_record(gclib_handle h, gclib_data_record_handle* data_record, int timeout);
525
530
531
539 gclib_result gclib_program(gclib_handle h, char* program, size_t len);
540
550 gclib_result gclib_set_program(gclib_handle h, const char* program, const char* insert);
551
562 gclib_result gclib_array(gclib_handle h, const char* name, char* buf, size_t len, size_t start, size_t end);
563
580 gclib_result gclib_set_array(gclib_handle h, const char* name, const char* buf, size_t start, size_t end);
581
589 gclib_result gclib_set_firmware(gclib_handle h, const char* file_path);
590
592
599
601 typedef enum gclib_mode_of_motion_t {
602 GCLIB_NO_MOTION,
603 GCLIB_CONTOUR,
604 GCLIB_POSITION_ABSOLUTE,
605 GCLIB_POSITION_RELATIVE,
606 GCLIB_FIND_EDGE,
607 GCLIB_FIND_INDEX,
608 GCLIB_HOME,
609 GCLIB_VECTOR_MOVE,
610 GCLIB_LINEAR_MOVE = GCLIB_VECTOR_MOVE
611} gclib_mode_of_motion_t;
612
614 typedef enum gclib_ethernet_status_t {
615 HANDLE_FREE = 0,
616 UDP_SLAVE = 1,
617 TCP_SLAVE = 2,
618 UDP_MASTER = -1,
619 TCP_MASTER = -2,
620 ESTABLISHING_UDP = -5,
621 ESTABLISHING_TCP = -6
622} gclib_ethernet_status_t;
623
625uint16_t gclib_data_record_sample(gclib_data_record_handle h);
626
638 bool gclib_data_record_input(gclib_data_record_handle h, size_t index);
640 bool gclib_data_record_output(gclib_data_record_handle h, size_t index);
642uint8_t gclib_data_record_input_bank(gclib_data_record_handle h, size_t index);
644uint8_t gclib_data_record_output_bank(gclib_data_record_handle h, size_t index);
646uint8_t gclib_data_record_error_code(gclib_data_record_handle h);
648uint32_t gclib_data_record_contour_segment_count(gclib_data_record_handle h);
650uint16_t gclib_data_record_contour_buffer_available(gclib_data_record_handle h);
652 bool gclib_data_record_thread_running(gclib_data_record_handle h, size_t thread);
653
660 gclib_ethernet_status_t gclib_data_record_ethernet_status(gclib_data_record_handle h, char handle);
661
671 gclib_result gclib_data_record_bytes(gclib_data_record_handle h, char* data_record, size_t len);
675
677 bool gclib_data_record_motor_off(gclib_data_record_handle h, char axis);
679 bool gclib_data_record_latch_armed(gclib_data_record_handle h, char axis);
681 bool gclib_data_record_final_deceleration(gclib_data_record_handle h, char axis);
683 bool gclib_data_record_stopping(gclib_data_record_handle h, char axis);
685 bool gclib_data_record_slewing(gclib_data_record_handle h, char axis);
687 gclib_mode_of_motion_t gclib_data_record_mode_of_motion(gclib_data_record_handle h, char axis);
689 bool gclib_data_record_negative_direction_move(gclib_data_record_handle h, char axis);
691 bool gclib_data_record_moving(gclib_data_record_handle h, char axis);
693 int gclib_data_record_home_phase(gclib_data_record_handle h, char axis);
695 bool gclib_data_record_stepper_mode(gclib_data_record_handle h, char axis);
697 bool gclib_data_record_home_input(gclib_data_record_handle h, char axis);
699 bool gclib_data_record_reverse_limit(gclib_data_record_handle h, char axis);
701 bool gclib_data_record_forward_limit(gclib_data_record_handle h, char axis);
703 bool gclib_data_record_latch_input(gclib_data_record_handle h, char axis);
705 bool gclib_data_record_latch_occurred(gclib_data_record_handle h, char axis);
707uint8_t gclib_data_record_stop_code(gclib_data_record_handle h, char axis);
709int32_t gclib_data_record_reference_position(gclib_data_record_handle h, char axis);
711int32_t gclib_data_record_position(gclib_data_record_handle h, char axis);
713int32_t gclib_data_record_position_error(gclib_data_record_handle h, char axis);
715int32_t gclib_data_record_aux_position(gclib_data_record_handle h, char axis);
717int32_t gclib_data_record_velocity(gclib_data_record_handle h, char axis);
719 double gclib_data_record_torque(gclib_data_record_handle h, char axis);
721 double gclib_data_record_analog_input(gclib_data_record_handle h, char axis);
723uint8_t gclib_data_record_halls(gclib_data_record_handle h, char axis);
725int32_t gclib_data_record_variable(gclib_data_record_handle h, char axis);
727 bool gclib_data_record_hall_error(gclib_data_record_handle h, char axis);
729 bool gclib_data_record_peak_current(gclib_data_record_handle h, char axis);
736
738 bool gclib_data_record_over_current(gclib_data_record_handle h, size_t amp);
740 bool gclib_data_record_over_voltage(gclib_data_record_handle h, size_t amp);
742 bool gclib_data_record_over_temp(gclib_data_record_handle h, size_t amp);
744 bool gclib_data_record_under_voltage(gclib_data_record_handle h, size_t amp);
746 bool gclib_data_record_electronic_lock_out(gclib_data_record_handle h, size_t amp);
751
753uint16_t gclib_data_record_coordinated_move_segment_count(gclib_data_record_handle h, char plane);
755uint16_t gclib_data_record_coordinated_move_status(gclib_data_record_handle h, char plane);
757 bool gclib_data_record_coordinated_move_final_deceleration(gclib_data_record_handle h, char plane);
759 bool gclib_data_record_coordinated_move_stopping(gclib_data_record_handle h, char plane);
761 bool gclib_data_record_coordinated_move_slewing(gclib_data_record_handle h, char plane);
763 bool gclib_data_record_coordinated_move_moving(gclib_data_record_handle h, char plane);
765int32_t gclib_data_record_coordinated_move_distance(gclib_data_record_handle h, char plane);
767uint16_t gclib_data_record_coordinated_move_buffer_available(gclib_data_record_handle h, char plane);
770
771// Undoc methods for gclibo
772 void gclib_set_compat();
773 gclib_result gclib_set_timeout(gclib_handle h, size_t timeout);
774
775#ifdef __cplusplus
776}
777#endif
778
779#ifndef _WIN32
780#pragma GCC visibility pop
781#endif
782
gclib_compat.h
gclib_data_record_electronic_lock_out
bool gclib_data_record_electronic_lock_out(gclib_data_record_handle h, size_t amp)
Returns electronic lockout (ELO) status for a bank.
gclib_data_record_over_voltage
bool gclib_data_record_over_voltage(gclib_data_record_handle h, size_t amp)
Returns over voltage status.
gclib_data_record_over_temp
bool gclib_data_record_over_temp(gclib_data_record_handle h, size_t amp)
Returns over temperature status.
gclib_data_record_under_voltage
bool gclib_data_record_under_voltage(gclib_data_record_handle h, size_t amp)
Returns under voltage status.
gclib_data_record_over_current
bool gclib_data_record_over_current(gclib_data_record_handle h, size_t amp)
Returns over current status.
gclib_data_record_variable
int32_t gclib_data_record_variable(gclib_data_record_handle h, char axis)
Returns the value of a user variable for an axis.
gclib_data_record_reference_position
int32_t gclib_data_record_reference_position(gclib_data_record_handle h, char axis)
Returns the reference position.
gclib_data_record_reverse_limit
bool gclib_data_record_reverse_limit(gclib_data_record_handle h, char axis)
Returns the state of the reverse limit.
gclib_data_record_velocity
int32_t gclib_data_record_velocity(gclib_data_record_handle h, char axis)
Returns the velocity.
gclib_data_record_home_phase
int gclib_data_record_home_phase(gclib_data_record_handle h, char axis)
Returns home phase when in GCLIB_HOME mode.
gclib_data_record_moving
bool gclib_data_record_moving(gclib_data_record_handle h, char axis)
Returns true if motion is being profiled.
gclib_data_record_stopping
bool gclib_data_record_stopping(gclib_data_record_handle h, char axis)
Returns true if axis is stopping.
gclib_data_record_forward_limit
bool gclib_data_record_forward_limit(gclib_data_record_handle h, char axis)
Returns the state of the forward limit.
gclib_data_record_mode_of_motion
gclib_mode_of_motion_t gclib_data_record_mode_of_motion(gclib_data_record_handle h, char axis)
Returns the mode of motion being profiled.
gclib_data_record_hall_error
bool gclib_data_record_hall_error(gclib_data_record_handle h, char axis)
Returns true if the amplifier for this axis has triggered a hall error.
gclib_data_record_aux_position
int32_t gclib_data_record_aux_position(gclib_data_record_handle h, char axis)
Returns the auxiliary position.
gclib_data_record_slewing
bool gclib_data_record_slewing(gclib_data_record_handle h, char axis)
Returns true if axis is slewing.
gclib_data_record_position_error
int32_t gclib_data_record_position_error(gclib_data_record_handle h, char axis)
Returns the position error.
gclib_data_record_home_input
bool gclib_data_record_home_input(gclib_data_record_handle h, char axis)
Returns the state of the home input.
gclib_data_record_final_deceleration
bool gclib_data_record_final_deceleration(gclib_data_record_handle h, char axis)
Returns true when axis is in final deceleration.
gclib_data_record_stop_code
uint8_t gclib_data_record_stop_code(gclib_data_record_handle h, char axis)
Returns a code indicating why the motor has stopped. See the SC command reference for details.
gclib_data_record_analog_input
double gclib_data_record_analog_input(gclib_data_record_handle h, char axis)
Returns the analog input.
gclib_data_record_latch_armed
bool gclib_data_record_latch_armed(gclib_data_record_handle h, char axis)
Get latch armed.
gclib_data_record_latch_occurred
bool gclib_data_record_latch_occurred(gclib_data_record_handle h, char axis)
Returns whether the latch was triggered.
gclib_data_record_latch_input
bool gclib_data_record_latch_input(gclib_data_record_handle h, char axis)
Returns the state of the latch input.
gclib_data_record_negative_direction_move
bool gclib_data_record_negative_direction_move(gclib_data_record_handle h, char axis)
Returns true if axis velocity is negative.
gclib_data_record_position
int32_t gclib_data_record_position(gclib_data_record_handle h, char axis)
Returns the position.
gclib_data_record_motor_off
bool gclib_data_record_motor_off(gclib_data_record_handle h, char axis)
Get motor off status.
gclib_data_record_torque
double gclib_data_record_torque(gclib_data_record_handle h, char axis)
Returns the torque.
gclib_data_record_stepper_mode
bool gclib_data_record_stepper_mode(gclib_data_record_handle h, char axis)
Returns true if axis is configured as a stepper motor.
gclib_data_record_halls
uint8_t gclib_data_record_halls(gclib_data_record_handle h, char axis)
Returns the hall state.
gclib_data_record_peak_current
bool gclib_data_record_peak_current(gclib_data_record_handle h, char axis)
Returns true if the amplifier for this axis has triggered a peak current error.
gclib_close
gclib_result gclib_close(gclib_handle *h)
Close connection to controller.
gclib_assign_ip
gclib_result gclib_assign_ip(const char *mac, const char *ip)
Assign IP to a controller.
gclib_address
gclib_result gclib_address(gclib_handle h, char *address, size_t len)
Get connection address.
gclib_connection_t
gclib_connection_t
Connection type, as returned by gclib_connection_type().
Definition gclib.h:276
gclib_set_baud_rate
gclib_result gclib_set_baud_rate(gclib_handle h, size_t baud_rate)
Set baud rate of serial connection.
gclib_ip_requests
gclib_result gclib_ip_requests(char *ip_requests, size_t len)
Show MAC address, model, and serial of all controllers requesting IP addresses, comma-separated.
gclib_addresses
gclib_result gclib_addresses(char *addresses, size_t len)
Show address, model, and serial of detected controllers, where available.
gclib_error
const char * gclib_error(gclib_handle h)
Get library error string.
gclib_open
gclib_result gclib_open(gclib_handle *h, const char *address)
Open a connection to a controller.
gclib_force_gcaps
void gclib_force_gcaps(bool on)
Force future library calls to use either gcaps or direct connections.
gclib_connection_type
gclib_result gclib_connection_type(gclib_handle h, gclib_connection_t *type)
Get connection type.
GCLIB_SERIAL
@ GCLIB_SERIAL
Definition gclib.h:278
GCLIB_ETHERNET
@ GCLIB_ETHERNET
Definition gclib.h:277
GCLIB_PCI
@ GCLIB_PCI
Definition gclib.h:279
gclib_command
gclib_result gclib_command(gclib_handle h, const char *command, char *buf, size_t len)
Issues a command to the controller and provides the response.
gclib_set_timeout
gclib_result gclib_set_timeout(gclib_handle h, size_t timeout)
gclib_set_compat
void gclib_set_compat()
gclib_serial_number
gclib_result gclib_serial_number(gclib_handle h, uint32_t *serial_number)
Get serial number from controller.
gclib_revision_information
gclib_result gclib_revision_information(gclib_handle h, char *rev_info, size_t len)
Get revision information (^R^V) from controller.
gclib_published
gclib_result gclib_published(char *name, size_t len)
Provides published status of local gcaps server.
gclib_set_server
gclib_result gclib_set_server(const char *name)
Set gcaps server.
gclib_list_servers
gclib_result gclib_list_servers(char *servers, size_t len)
List available gcaps servers separated by newline.
gclib_server
gclib_result gclib_server(char *name, size_t len)
Current gcaps server.
gclib_set_published
gclib_result gclib_set_published(const char *name)
Set published status of local gcaps server.
gclib_set_program
gclib_result gclib_set_program(gclib_handle h, const char *program, const char *insert)
Set the program on the controller.
gclib_set_array
gclib_result gclib_set_array(gclib_handle h, const char *name, const char *buf, size_t start, size_t end)
Set an array on the controller.
gclib_array
gclib_result gclib_array(gclib_handle h, const char *name, char *buf, size_t len, size_t start, size_t end)
Get an array from the controller.
gclib_set_firmware
gclib_result gclib_set_firmware(gclib_handle h, const char *file_path)
Set the firmware on the controller.
gclib_program
gclib_result gclib_program(gclib_handle h, char *program, size_t len)
Get the controller's current program.
gclib_interrupt
gclib_result gclib_interrupt(gclib_handle h, gclib_interrupt_t *interrupt, int timeout)
Get a queued interrupt, or wait up to timeout ms for one to arrive.
gclib_message
gclib_result gclib_message(gclib_handle h, char *message, size_t len, int timeout)
Get a queued unsolicited message, or wait up to timeout ms for one to arrive.
gclib_subscribe_data_records
gclib_result gclib_subscribe_data_records(gclib_handle h, void(callback)(void *user_data, gclib_data_record_handle data_record), void *user_data)
Subscribe to data records.
gclib_set_interrupts
gclib_result gclib_set_interrupts(gclib_handle h, gclib_interrupt_type interrupt_mask, gclib_axis_flags motion_complete_axes, gclib_digital_input_flags digital_inputs)
Configure which interrupts will be generated by the controller.
gclib_subscribe_interrupts
gclib_result gclib_subscribe_interrupts(gclib_handle h, void(callback)(void *user_data, gclib_interrupt_t interrupt), void *user_data)
Subscribe to interrupts.
gclib_unsubscribe
gclib_result gclib_unsubscribe(gclib_handle h, void *callback)
Unsubscribe from messages, interrupts, data records, or progress.
gclib_set_data_records
gclib_result gclib_set_data_records(gclib_handle h, size_t period_ms)
Configure controller data records.
gclib_subscribe_progress
gclib_result gclib_subscribe_progress(gclib_handle h, void(callback)(void *user_data, size_t current, size_t max), void *user_data)
Subscribe to progress for gclib_set_program(), gclib_set_array(), and gclib_set_firmware().
gclib_subscribe_messages
gclib_result gclib_subscribe_messages(gclib_handle h, void(callback)(void *user_data, const char *message), void *user_data)
Subscribe to unsolicited messages.
gclib_data_record
gclib_result gclib_data_record(gclib_handle h, gclib_data_record_handle *data_record, int timeout)
Get a queued data record, or wait up to timeout ms for one to arrive.
gclib_digital_input_flags
gclib_digital_input_flags
Flags to enable or disable GCLIB_DIGITAL_INPUT_LOW interrupts per digital input, for use in gclib_set...
Definition gclib.h:65
gclib_axis_flags
gclib_axis_flags
Flags for building an axis mask, for example in gclib_set_interrupts().
Definition gclib.h:78
gclib_gcaps_version
gclib_result gclib_gcaps_version(char *gcaps_version, size_t len)
Get library version used by current gcaps server.
gclib_version
gclib_result gclib_version(char *version, size_t len)
Get library version.
gclib_interrupt_type
gclib_interrupt_type
All interrupt status types.
Definition gclib.h:41
gclib_interrupt_t::type
gclib_interrupt_type type
Definition gclib.h:56
gclib_interrupt_t::axis
char axis
If type is GCLIB_MOTION_COMPLETE, holds the axis that triggered the interrupt.
Definition gclib.h:58
gclib_result
gclib_result
All gclib function return values.
Definition gclib.h:29
gclib_interrupt_t::status
uint8_t status
The raw status byte generated by the controller. See the EI command reference for all possible values...
Definition gclib.h:62
gclib_interrupt_t::digital_input
uint8_t digital_input
If type is GCLIB_DIGITAL_INPUT_LOW, holds the digital input that triggered the interrupt.
Definition gclib.h:59
gclib_data_record_handle
struct DataRecord * gclib_data_record_handle
A handle to a data record, for use in Data Record API calls.
Definition gclib.h:25
gclib_interrupt_t::user_interrupt
uint8_t user_interrupt
If type is GCLIB_USER_INTERRUPT, holds the user input that was triggered.
Definition gclib.h:60
gclib_handle
struct Context * gclib_handle
A handle to an open connection given by gclib_open() for use in future API calls.
Definition gclib.h:23
GCLIB_ALL_DIGITAL_INPUTS
@ GCLIB_ALL_DIGITAL_INPUTS
Definition gclib.h:75
GCLIB_DIGITAL_INPUT_2
@ GCLIB_DIGITAL_INPUT_2
Definition gclib.h:68
GCLIB_DIGITAL_INPUT_3
@ GCLIB_DIGITAL_INPUT_3
Definition gclib.h:69
GCLIB_NO_DIGITAL_INPUTS
@ GCLIB_NO_DIGITAL_INPUTS
Definition gclib.h:66
GCLIB_DIGITAL_INPUT_5
@ GCLIB_DIGITAL_INPUT_5
Definition gclib.h:71
GCLIB_DIGITAL_INPUT_4
@ GCLIB_DIGITAL_INPUT_4
Definition gclib.h:70
GCLIB_DIGITAL_INPUT_7
@ GCLIB_DIGITAL_INPUT_7
Definition gclib.h:73
GCLIB_DIGITAL_INPUT_1
@ GCLIB_DIGITAL_INPUT_1
Definition gclib.h:67
GCLIB_DIGITAL_INPUT_8
@ GCLIB_DIGITAL_INPUT_8
Definition gclib.h:74
GCLIB_DIGITAL_INPUT_6
@ GCLIB_DIGITAL_INPUT_6
Definition gclib.h:72
GCLIB_AXIS_G
@ GCLIB_AXIS_G
Definition gclib.h:86
GCLIB_AXIS_B
@ GCLIB_AXIS_B
Definition gclib.h:81
GCLIB_AXIS_E
@ GCLIB_AXIS_E
Definition gclib.h:84
GCLIB_AXIS_F
@ GCLIB_AXIS_F
Definition gclib.h:85
GCLIB_AXIS_H
@ GCLIB_AXIS_H
Definition gclib.h:87
GCLIB_AXIS_C
@ GCLIB_AXIS_C
Definition gclib.h:82
GCLIB_NO_AXES
@ GCLIB_NO_AXES
Definition gclib.h:79
GCLIB_AXIS_D
@ GCLIB_AXIS_D
Definition gclib.h:83
GCLIB_AXIS_A
@ GCLIB_AXIS_A
Definition gclib.h:80
GCLIB_ALL_AXES
@ GCLIB_ALL_AXES
Definition gclib.h:88
GCLIB_USER_INTERRUPT
@ GCLIB_USER_INTERRUPT
Definition gclib.h:43
GCLIB_PROGRAM_STOPPED
@ GCLIB_PROGRAM_STOPPED
If multiple threads are running, this interrupt is only triggered when all threads are finished.
Definition gclib.h:49
GCLIB_EXCESS_POSITION_ERROR
@ GCLIB_EXCESS_POSITION_ERROR
Must be reenabled with gclib_set_interrupts() after occurrence.
Definition gclib.h:46
GCLIB_WATCHDOG_TIMER
@ GCLIB_WATCHDOG_TIMER
Definition gclib.h:48
GCLIB_ALL_INTERRUPTS
@ GCLIB_ALL_INTERRUPTS
Definition gclib.h:52
GCLIB_ALL_AXES_MOTION_COMPLETE
@ GCLIB_ALL_AXES_MOTION_COMPLETE
Definition gclib.h:45
GCLIB_COMMAND_DONE
@ GCLIB_COMMAND_DONE
Definition gclib.h:50
GCLIB_MOTION_COMPLETE
@ GCLIB_MOTION_COMPLETE
Definition gclib.h:44
GCLIB_NO_INTERRUPTS
@ GCLIB_NO_INTERRUPTS
Definition gclib.h:42
GCLIB_LIMIT_SWITCH
@ GCLIB_LIMIT_SWITCH
Must be reenabled with gclib_set_interrupts() after each occurrence.
Definition gclib.h:47
GCLIB_DIGITAL_INPUT_LOW
@ GCLIB_DIGITAL_INPUT_LOW
Must be reenabled with gclib_set_interrupts() after each occurrence.
Definition gclib.h:51
GCLIB_INTERNAL_ERROR
@ GCLIB_INTERNAL_ERROR
Definition gclib.h:32
GCLIB_INVALID_ARGUMENT
@ GCLIB_INVALID_ARGUMENT
Definition gclib.h:31
GCLIB_COMMAND_ERROR
@ GCLIB_COMMAND_ERROR
Definition gclib.h:34
GCLIB_NOT_CONNECTED
@ GCLIB_NOT_CONNECTED
Definition gclib.h:36
GCLIB_BUFFER_TOO_SMALL
@ GCLIB_BUFFER_TOO_SMALL
Definition gclib.h:35
GCLIB_NOT_SUBSCRIBED
@ GCLIB_NOT_SUBSCRIBED
Definition gclib.h:37
GCLIB_TIMEOUT
@ GCLIB_TIMEOUT
Definition gclib.h:33
GCLIB_SUCCESS
@ GCLIB_SUCCESS
Definition gclib.h:30
gclib_data_record_coordinated_move_slewing
bool gclib_data_record_coordinated_move_slewing(gclib_data_record_handle h, char plane)
Returns true if slewing.
gclib_data_record_coordinated_move_status
uint16_t gclib_data_record_coordinated_move_status(gclib_data_record_handle h, char plane)
Returns the coordinated move status word.
gclib_data_record_coordinated_move_stopping
bool gclib_data_record_coordinated_move_stopping(gclib_data_record_handle h, char plane)
Returns true if stopping.
gclib_data_record_coordinated_move_segment_count
uint16_t gclib_data_record_coordinated_move_segment_count(gclib_data_record_handle h, char plane)
Returns the segment count for the current move.
gclib_data_record_coordinated_move_buffer_available
uint16_t gclib_data_record_coordinated_move_buffer_available(gclib_data_record_handle h, char plane)
Returns the available buffer space.
gclib_data_record_coordinated_move_distance
int32_t gclib_data_record_coordinated_move_distance(gclib_data_record_handle h, char plane)
Returns the distance covered in the current move.
gclib_data_record_coordinated_move_moving
bool gclib_data_record_coordinated_move_moving(gclib_data_record_handle h, char plane)
Returns true if moving.
gclib_data_record_coordinated_move_final_deceleration
bool gclib_data_record_coordinated_move_final_deceleration(gclib_data_record_handle h, char plane)
Returns true if in final deceleration.
gclib_data_record_input_bank
uint8_t gclib_data_record_input_bank(gclib_data_record_handle h, size_t index)
Get a bank of inputs.
gclib_mode_of_motion_t
gclib_mode_of_motion_t
The controller's current mode of motion, given by gclib_data_record_mode_of_motion().
Definition gclib.h:601
gclib_data_record_error_code
uint8_t gclib_data_record_error_code(gclib_data_record_handle h)
Get the error code.
gclib_data_record_ethernet_status
gclib_ethernet_status_t gclib_data_record_ethernet_status(gclib_data_record_handle h, char handle)
Get ethernet handle status.
gclib_data_record_bytes
gclib_result gclib_data_record_bytes(gclib_data_record_handle h, char *data_record, size_t len)
Copy data record to user buffer.
gclib_data_record_output
bool gclib_data_record_output(gclib_data_record_handle h, size_t index)
Get an output.
gclib_data_record_contour_segment_count
uint32_t gclib_data_record_contour_segment_count(gclib_data_record_handle h)
Get the contour segment count.
gclib_data_record_thread_running
bool gclib_data_record_thread_running(gclib_data_record_handle h, size_t thread)
Returns true if a given thread is running.
gclib_data_record_input
bool gclib_data_record_input(gclib_data_record_handle h, size_t index)
Get an input.
gclib_data_record_contour_buffer_available
uint16_t gclib_data_record_contour_buffer_available(gclib_data_record_handle h)
Get remaining contour buffer.
gclib_ethernet_status_t
gclib_ethernet_status_t
The current status of an ethernet handle, given by gclib_data_record_ethernet_status().
Definition gclib.h:614
gclib_data_record_output_bank
uint8_t gclib_data_record_output_bank(gclib_data_record_handle h, size_t index)
Get a bank of outputs.
gclib_data_record_sample
uint16_t gclib_data_record_sample(gclib_data_record_handle h)
The sample in which this data record was generated.
GCLIB_CONTOUR
@ GCLIB_CONTOUR
Definition gclib.h:603
GCLIB_LINEAR_MOVE
@ GCLIB_LINEAR_MOVE
Definition gclib.h:610
GCLIB_POSITION_RELATIVE
@ GCLIB_POSITION_RELATIVE
Definition gclib.h:605
GCLIB_HOME
@ GCLIB_HOME
Definition gclib.h:608
GCLIB_FIND_EDGE
@ GCLIB_FIND_EDGE
Definition gclib.h:606
GCLIB_VECTOR_MOVE
@ GCLIB_VECTOR_MOVE
Definition gclib.h:609
GCLIB_NO_MOTION
@ GCLIB_NO_MOTION
Definition gclib.h:602
GCLIB_POSITION_ABSOLUTE
@ GCLIB_POSITION_ABSOLUTE
Definition gclib.h:604
GCLIB_FIND_INDEX
@ GCLIB_FIND_INDEX
Definition gclib.h:607
UDP_MASTER
@ UDP_MASTER
Definition gclib.h:618
TCP_MASTER
@ TCP_MASTER
Definition gclib.h:619
HANDLE_FREE
@ HANDLE_FREE
Definition gclib.h:615
UDP_SLAVE
@ UDP_SLAVE
Definition gclib.h:616
ESTABLISHING_TCP
@ ESTABLISHING_TCP
Definition gclib.h:621
TCP_SLAVE
@ TCP_SLAVE
Definition gclib.h:617
ESTABLISHING_UDP
@ ESTABLISHING_UDP
Definition gclib.h:620
gclib_interrupt_t
An interrupt generated by the controller.
Definition gclib.h:55