#include "nuts_bolts.h"
#include "coolant_control.h"
#include "spindle_control.h"
#include "errors.h"
Go to the source code of this file.
Data Structures | |
struct | output_command |
Data for M62, M63 and M67 commands when executed synchronized with motion. More... | |
union | gc_parser_flags_t |
Parser flags for special cases. More... | |
union | gc_override_flags_t |
Override flags. More... | |
union | coord_data_t |
Coordinate data. More... | |
struct | coord_system_t |
Coordinate data including id. More... | |
union | plane_t |
Axis index to plane assignment. More... | |
struct | gc_values_t |
G- and M-code parameter values. More... | |
union | parameter_words_t |
Parameter words found by parser - do not change order! More... | |
struct | gc_value_ptr_t |
struct | spindle_t |
struct | spindle_modal_t |
struct | gc_modal_t |
struct | gc_canned_t |
Data for canned cycles. More... | |
struct | gc_thread_data |
struct | tool_data_t |
Tool data. More... | |
struct | parser_state_t |
Parser state. More... | |
struct | scale_factor_t |
struct | parser_block_t |
Parser block structure. More... | |
Macros | |
#define | MAX_OFFSET_ENTRIES 4 |
#define | gc_sync_position() system_convert_array_steps_to_mpos (gc_state.position, sys.position) |
#define | sync_position() plan_sync_position(); system_convert_array_steps_to_mpos (gc_state.position, sys.position) |
Typedefs | |
typedef uint32_t | tool_id_t |
typedef uint16_t | macro_id_t |
typedef int8_t | offset_id_t |
typedef struct output_command | output_command_t |
Data for M62, M63 and M67 commands when executed synchronized with motion. More... | |
Functions | |
void | gc_init (void) |
char * | gc_normalize_block (char *block, status_code_t *status, char **message) |
status_code_t | gc_execute_block (char *block) |
bool | gc_laser_ppi_enable (uint_fast16_t ppi, uint_fast16_t pulse_length) |
parser_state_t * | gc_get_state (void) |
axes_signals_t | gc_get_g51_state (void) |
float * | gc_get_scaling (void) |
float | gc_get_offset (uint_fast8_t idx, bool real_time) |
spindle_t * | gc_spindle_get (spindle_num_t spindle) |
void | gc_spindle_off (void) |
void | gc_coolant (coolant_state_t state) |
void | gc_set_tool_offset (tool_offset_mode_t mode, uint_fast8_t idx, int32_t offset) |
plane_t * | gc_get_plane_data (plane_t *plane, plane_select_t select) |
parameter_words_t | gc_get_g65_arguments (void) |
bool | gc_modal_state_restore (gc_modal_t *copy) |
Variables | |
parser_state_t | gc_state |
#define gc_sync_position | ( | ) | system_convert_array_steps_to_mpos (gc_state.position, sys.position) |
#define MAX_OFFSET_ENTRIES 4 |
#define sync_position | ( | ) | plan_sync_position(); system_convert_array_steps_to_mpos (gc_state.position, sys.position) |
typedef uint16_t macro_id_t |
typedef int8_t offset_id_t |
typedef struct output_command output_command_t |
Data for M62, M63 and M67 commands when executed synchronized with motion.
typedef uint32_t tool_id_t |
enum __attribute__ |
Modal Group G12 and G0: Coordinate system identificators
Do not alter values!
Enumerator | |
---|---|
Status_OK | |
Status_ExpectedCommandLetter | |
Status_BadNumberFormat | |
Status_InvalidStatement | |
Status_NegativeValue | |
Status_HomingDisabled | |
Status_SettingStepPulseMin | |
Status_SettingReadFail | |
Status_IdleError | |
Status_SystemGClock | |
Status_SoftLimitError | |
Status_Overflow | |
Status_MaxStepRateExceeded | |
Status_CheckDoor | |
Status_LineLengthExceeded | |
Status_TravelExceeded | |
Status_InvalidJogCommand | |
Status_SettingDisabledLaser | |
Status_Reset | |
Status_NonPositiveValue | |
Status_GcodeUnsupportedCommand | |
Status_GcodeModalGroupViolation | |
Status_GcodeUndefinedFeedRate | |
Status_GcodeCommandValueNotInteger | |
Status_GcodeAxisCommandConflict | |
Status_GcodeWordRepeated | |
Status_GcodeNoAxisWords | |
Status_GcodeInvalidLineNumber | |
Status_GcodeValueWordMissing | |
Status_GcodeUnsupportedCoordSys | |
Status_GcodeG53InvalidMotionMode | |
Status_GcodeAxisWordsExist | |
Status_GcodeNoAxisWordsInPlane | |
Status_GcodeInvalidTarget | |
Status_GcodeArcRadiusError | |
Status_GcodeNoOffsetsInPlane | |
Status_GcodeUnusedWords | |
Status_GcodeG43DynamicAxisError | |
Status_GcodeIllegalToolTableEntry | |
Status_GcodeValueOutOfRange | |
Status_GcodeToolChangePending | |
Status_GcodeSpindleNotRunning | |
Status_GcodeIllegalPlane | |
Status_GcodeMaxFeedRateExceeded | |
Status_GcodeRPMOutOfRange | |
Status_LimitsEngaged | |
Status_HomingRequired | |
Status_GCodeToolError | |
Status_ValueWordConflict | |
Status_SelfTestFailed | |
Status_EStop | |
Status_MotorFault | |
Status_SettingValueOutOfRange | |
Status_SettingDisabled | |
Status_GcodeInvalidRetractPosition | |
Status_IllegalHomingConfiguration | |
Status_GCodeCoordSystemLocked | |
Status_SDMountError | |
Status_SDReadError | |
Status_SDFailedOpenDir | |
Status_SDDirNotFound | |
Status_SDFileEmpty | |
Status_BTInitError | |
Status_ExpressionUknownOp | |
Status_ExpressionDivideByZero | |
Status_ExpressionArgumentOutOfRange | |
Status_ExpressionInvalidArgument | |
Status_ExpressionSyntaxError | |
Status_ExpressionInvalidResult | |
Status_AuthenticationRequired | |
Status_AccessDenied | |
Status_NotAllowedCriticalEvent | |
Status_FlowControlNotExecutingMacro | |
Status_FlowControlSyntaxError | |
Status_FlowControlStackOverflow | |
Status_FlowControlOutOfMemory | |
Status_StatusMax | |
Status_UserException | |
Status_Handled | |
Status_Unhandled | |
CoordinateSystem_G54 | 0 - G54 (G12) |
CoordinateSystem_G55 | 1 - G55 (G12) |
CoordinateSystem_G56 | 2 - G56 (G12) |
CoordinateSystem_G57 | 3 - G57 (G12) |
CoordinateSystem_G58 | 4 - G58 (G12) |
CoordinateSystem_G59 | 5 - G59 (G12) |
CoordinateSystem_G59_1 | 6 - G59.1 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1 |
CoordinateSystem_G59_2 | 7 - G59.2 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1 |
CoordinateSystem_G59_3 | 8 - G59.3 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1 |
N_WorkCoordinateSystems | 9 when COMPATIBILITY_LEVEL <= 1, 6 otherwise |
CoordinateSystem_G28 | 9 - G28 (G0) when COMPATIBILITY_LEVEL <= 1, 6 otherwise |
CoordinateSystem_G30 | 10 - G30 (G0) when COMPATIBILITY_LEVEL <= 1, 7 otherwise |
CoordinateSystem_G92 | 11 - G92 (G0) when COMPATIBILITY_LEVEL <= 1, 8 otherwise |
N_CoordinateSystems | 12 when COMPATIBILITY_LEVEL <= 1, 9 otherwise |
enum cc_retract_mode_t |
enum control_mode_t |
enum feed_mode_t |
enum gc_probe_t |
Probe cycle exit states, used for proper proper position updating.
Assigned from pos_update_t enum values.
Enumerator | |
---|---|
GCProbe_Found | 1 |
GCProbe_Abort | 2 |
GCProbe_FailInit | 2 |
GCProbe_FailEnd | 0 |
GCProbe_CheckMode | 0 |
enum gc_taper_type |
enum gc_value_type_t |
enum io_mcode_t |
enum modal_state_action_t |
enum motion_mode_t |
Modal Group G1: Motion modes
Do not alter values!
enum non_modal_t |
Modal Group G0: Non-modal actions
Do not alter values!
enum override_mode_t |
enum plane_select_t |
enum pos_update_t |
enum program_flow_t |
enum spindle_rpm_mode_t |
enum tool_offset_mode_t |
enum user_mcode_t |
Modal Group M10: User/driver/plugin defined M commands NOTE: Not used by the core, may be used by private user code, drivers or plugins.
enum wait_mode_t |
void gc_coolant | ( | coolant_state_t | state | ) |
status_code_t gc_execute_block | ( | char * | block | ) |
axes_signals_t gc_get_g51_state | ( | void | ) |
parameter_words_t gc_get_g65_arguments | ( | void | ) |
float gc_get_offset | ( | uint_fast8_t | idx, |
bool | real_time | ||
) |
plane_t* gc_get_plane_data | ( | plane_t * | plane, |
plane_select_t | select | ||
) |
float* gc_get_scaling | ( | void | ) |
parser_state_t* gc_get_state | ( | void | ) |
void gc_init | ( | void | ) |
bool gc_laser_ppi_enable | ( | uint_fast16_t | ppi, |
uint_fast16_t | pulse_length | ||
) |
bool gc_modal_state_restore | ( | gc_modal_t * | copy | ) |
char* gc_normalize_block | ( | char * | block, |
status_code_t * | status, | ||
char ** | message | ||
) |
void gc_set_tool_offset | ( | tool_offset_mode_t | mode, |
uint_fast8_t | idx, | ||
int32_t | offset | ||
) |
spindle_t* gc_spindle_get | ( | spindle_num_t | spindle | ) |
void gc_spindle_off | ( | void | ) |
|
extern |