19#pragma GCC visibility push(default)
780#pragma GCC visibility pop
bool gclib_data_record_electronic_lock_out(gclib_data_record_handle h, size_t amp)
Returns electronic lockout (ELO) status for a bank.
bool gclib_data_record_over_voltage(gclib_data_record_handle h, size_t amp)
Returns over voltage status.
bool gclib_data_record_over_temp(gclib_data_record_handle h, size_t amp)
Returns over temperature status.
bool gclib_data_record_under_voltage(gclib_data_record_handle h, size_t amp)
Returns under voltage status.
bool gclib_data_record_over_current(gclib_data_record_handle h, size_t amp)
Returns over current status.
int32_t gclib_data_record_variable(gclib_data_record_handle h, char axis)
Returns the value of a user variable for an axis.
int32_t gclib_data_record_reference_position(gclib_data_record_handle h, char axis)
Returns the reference position.
bool gclib_data_record_reverse_limit(gclib_data_record_handle h, char axis)
Returns the state of the reverse limit.
int32_t gclib_data_record_velocity(gclib_data_record_handle h, char axis)
Returns the velocity.
int gclib_data_record_home_phase(gclib_data_record_handle h, char axis)
Returns home phase when in GCLIB_HOME mode.
bool gclib_data_record_moving(gclib_data_record_handle h, char axis)
Returns true if motion is being profiled.
bool gclib_data_record_stopping(gclib_data_record_handle h, char axis)
Returns true if axis is stopping.
bool gclib_data_record_forward_limit(gclib_data_record_handle h, char axis)
Returns the state of the forward limit.
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.
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.
int32_t gclib_data_record_aux_position(gclib_data_record_handle h, char axis)
Returns the auxiliary position.
bool gclib_data_record_slewing(gclib_data_record_handle h, char axis)
Returns true if axis is slewing.
int32_t gclib_data_record_position_error(gclib_data_record_handle h, char axis)
Returns the position error.
bool gclib_data_record_home_input(gclib_data_record_handle h, char axis)
Returns the state of the home input.
bool gclib_data_record_final_deceleration(gclib_data_record_handle h, char axis)
Returns true when axis is in final deceleration.
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.
double gclib_data_record_analog_input(gclib_data_record_handle h, char axis)
Returns the analog input.
bool gclib_data_record_latch_armed(gclib_data_record_handle h, char axis)
Get latch armed.
bool gclib_data_record_latch_occurred(gclib_data_record_handle h, char axis)
Returns whether the latch was triggered.
bool gclib_data_record_latch_input(gclib_data_record_handle h, char axis)
Returns the state of the latch input.
bool gclib_data_record_negative_direction_move(gclib_data_record_handle h, char axis)
Returns true if axis velocity is negative.
int32_t gclib_data_record_position(gclib_data_record_handle h, char axis)
Returns the position.
bool gclib_data_record_motor_off(gclib_data_record_handle h, char axis)
Get motor off status.
double gclib_data_record_torque(gclib_data_record_handle h, char axis)
Returns the torque.
bool gclib_data_record_stepper_mode(gclib_data_record_handle h, char axis)
Returns true if axis is configured as a stepper motor.
uint8_t gclib_data_record_halls(gclib_data_record_handle h, char axis)
Returns the hall state.
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_result gclib_close(gclib_handle *h)
Close connection to controller.
gclib_result gclib_assign_ip(const char *mac, const char *ip)
Assign IP to a controller.
gclib_result gclib_address(gclib_handle h, char *address, size_t len)
Get connection address.
gclib_connection_t
Connection type, as returned by gclib_connection_type().
gclib_result gclib_set_baud_rate(gclib_handle h, size_t baud_rate)
Set baud rate of serial connection.
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_result gclib_addresses(char *addresses, size_t len)
Show address, model, and serial of detected controllers, where available.
const char * gclib_error(gclib_handle h)
Get library error string.
gclib_result gclib_open(gclib_handle *h, const char *address)
Open a connection to a controller.
void gclib_force_gcaps(bool on)
Force future library calls to use either gcaps or direct connections.
gclib_result gclib_connection_type(gclib_handle h, gclib_connection_t *type)
Get connection type.
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_result gclib_set_timeout(gclib_handle h, size_t timeout)
gclib_result gclib_serial_number(gclib_handle h, uint32_t *serial_number)
Get serial number from controller.
gclib_result gclib_revision_information(gclib_handle h, char *rev_info, size_t len)
Get revision information (^R^V) from controller.
gclib_result gclib_published(char *name, size_t len)
Provides published status of local gcaps server.
gclib_result gclib_set_server(const char *name)
Set gcaps server.
gclib_result gclib_list_servers(char *servers, size_t len)
List available gcaps servers separated by newline.
gclib_result gclib_server(char *name, size_t len)
Current gcaps server.
gclib_result gclib_set_published(const char *name)
Set published status of local gcaps server.
gclib_result gclib_set_program(gclib_handle h, const char *program, const char *insert)
Set the program on the controller.
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_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_result gclib_set_firmware(gclib_handle h, const char *file_path)
Set the firmware on the controller.
gclib_result gclib_program(gclib_handle h, char *program, size_t len)
Get the controller's current program.
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_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_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_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_result gclib_subscribe_interrupts(gclib_handle h, void(callback)(void *user_data, gclib_interrupt_t interrupt), void *user_data)
Subscribe to interrupts.
gclib_result gclib_unsubscribe(gclib_handle h, void *callback)
Unsubscribe from messages, interrupts, data records, or progress.
gclib_result gclib_set_data_records(gclib_handle h, size_t period_ms)
Configure controller data records.
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_result gclib_subscribe_messages(gclib_handle h, void(callback)(void *user_data, const char *message), void *user_data)
Subscribe to unsolicited messages.
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
Flags to enable or disable GCLIB_DIGITAL_INPUT_LOW interrupts per digital input, for use in gclib_set...
gclib_axis_flags
Flags for building an axis mask, for example in gclib_set_interrupts().
gclib_result gclib_gcaps_version(char *gcaps_version, size_t len)
Get library version used by current gcaps server.
gclib_result gclib_version(char *version, size_t len)
Get library version.
gclib_interrupt_type
All interrupt status types.
gclib_interrupt_type type
char axis
If type is GCLIB_MOTION_COMPLETE, holds the axis that triggered the interrupt.
gclib_result
All gclib function return values.
uint8_t status
The raw status byte generated by the controller. See the EI command reference for all possible values...
uint8_t digital_input
If type is GCLIB_DIGITAL_INPUT_LOW, holds the digital input that triggered the interrupt.
struct DataRecord * gclib_data_record_handle
A handle to a data record, for use in Data Record API calls.
uint8_t user_interrupt
If type is GCLIB_USER_INTERRUPT, holds the user input that was triggered.
struct Context * gclib_handle
A handle to an open connection given by gclib_open() for use in future API calls.
@ GCLIB_ALL_DIGITAL_INPUTS
@ GCLIB_NO_DIGITAL_INPUTS
@ GCLIB_PROGRAM_STOPPED
If multiple threads are running, this interrupt is only triggered when all threads are finished.
@ GCLIB_EXCESS_POSITION_ERROR
Must be reenabled with gclib_set_interrupts() after occurrence.
@ GCLIB_ALL_AXES_MOTION_COMPLETE
@ GCLIB_LIMIT_SWITCH
Must be reenabled with gclib_set_interrupts() after each occurrence.
@ GCLIB_DIGITAL_INPUT_LOW
Must be reenabled with gclib_set_interrupts() after each occurrence.
bool gclib_data_record_coordinated_move_slewing(gclib_data_record_handle h, char plane)
Returns true if slewing.
uint16_t gclib_data_record_coordinated_move_status(gclib_data_record_handle h, char plane)
Returns the coordinated move status word.
bool gclib_data_record_coordinated_move_stopping(gclib_data_record_handle h, char plane)
Returns true if stopping.
uint16_t gclib_data_record_coordinated_move_segment_count(gclib_data_record_handle h, char plane)
Returns the segment count for the current move.
uint16_t gclib_data_record_coordinated_move_buffer_available(gclib_data_record_handle h, char plane)
Returns the available buffer space.
int32_t gclib_data_record_coordinated_move_distance(gclib_data_record_handle h, char plane)
Returns the distance covered in the current move.
bool gclib_data_record_coordinated_move_moving(gclib_data_record_handle h, char plane)
Returns true if moving.
bool gclib_data_record_coordinated_move_final_deceleration(gclib_data_record_handle h, char plane)
Returns true if in final deceleration.
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
The controller's current mode of motion, given by gclib_data_record_mode_of_motion().
uint8_t gclib_data_record_error_code(gclib_data_record_handle h)
Get the error code.
gclib_ethernet_status_t gclib_data_record_ethernet_status(gclib_data_record_handle h, char handle)
Get ethernet handle status.
gclib_result gclib_data_record_bytes(gclib_data_record_handle h, char *data_record, size_t len)
Copy data record to user buffer.
bool gclib_data_record_output(gclib_data_record_handle h, size_t index)
Get an output.
uint32_t gclib_data_record_contour_segment_count(gclib_data_record_handle h)
Get the contour segment count.
bool gclib_data_record_thread_running(gclib_data_record_handle h, size_t thread)
Returns true if a given thread is running.
bool gclib_data_record_input(gclib_data_record_handle h, size_t index)
Get an input.
uint16_t gclib_data_record_contour_buffer_available(gclib_data_record_handle h)
Get remaining contour buffer.
gclib_ethernet_status_t
The current status of an ethernet handle, given by gclib_data_record_ethernet_status().
uint8_t gclib_data_record_output_bank(gclib_data_record_handle h, size_t index)
Get a bank of outputs.
uint16_t gclib_data_record_sample(gclib_data_record_handle h)
The sample in which this data record was generated.
@ GCLIB_POSITION_RELATIVE
@ GCLIB_POSITION_ABSOLUTE
An interrupt generated by the controller.