29 #ifdef FORCE_BUFFER_SYNC_DURING_EEPROM_WRITE
48 #ifdef FORCE_BUFFER_SYNC_DURING_EEPROM_WRITE
75 settings.
rpm_max = DEFAULT_SPINDLE_RPM_MAX;
76 settings.
rpm_min = DEFAULT_SPINDLE_RPM_MIN;
113 memset(&coord_data, 0,
sizeof(coord_data));
118 #if N_STARTUP_LINE > 0
122 #if N_STARTUP_LINE > 1
201 #ifdef MAX_STEP_RATE_HZ
207 #ifdef MAX_STEP_RATE_HZ
210 settings.
max_rate[parameter] = value;
212 case 2: settings.
acceleration[parameter] = value*60*60;
break;
213 case 3: settings.
max_travel[parameter] = -value;
break;
225 uint8_t int_value = trunc(value);
310 if ( axis_idx ==
X_AXIS ) {
return((1<<X_STEP_BIT)); }
311 if ( axis_idx ==
Y_AXIS ) {
return((1<<Y_STEP_BIT)); }
312 return((1<<Z_STEP_BIT));
318 if ( axis_idx ==
X_AXIS ) {
return((1<<X_DIRECTION_BIT)); }
319 if ( axis_idx ==
Y_AXIS ) {
return((1<<Y_DIRECTION_BIT)); }
320 return((1<<Z_DIRECTION_BIT));
326 if ( axis_idx ==
X_AXIS ) {
return((1<<X_LIMIT_BIT)); }
327 if ( axis_idx ==
Y_AXIS ) {
return((1<<Y_LIMIT_BIT)); }
328 return((1<<Z_LIMIT_BIT));
#define BITFLAG_INVERT_ST_ENABLE
void write_global_settings()
Method to store Grbl global settings struct and version number into EEPROM.
#define N_AXIS
Axis array index values. Must start with 0 and be continuous.
void limits_init()
Initialize the limits module.
void report_grbl_settings()
Grbl global settings print out.
void spindle_init()
Initializes spindle pins and hardware PWM, if enabled.
#define STATUS_SETTING_STEP_PULSE_MIN
float acceleration[N_AXIS]
Global persistent settings (Stored from byte EEPROM_ADDR_GLOBAL onwards)
void report_status_message(uint8_t status_code)
Handles the primary confirmation protocol response for streaming interfaces and human-feedback.
unsigned char eeprom_get_char(unsigned int addr)
Read byte from EEPROM.
uint8_t settings_read_coord_data(uint8_t coord_select, float *coord_data)
Read selected coordinate data from EEPROM. Updates pointed coord_data value.
void system_flag_wco_change()
void protocol_buffer_synchronize()
Block until all buffered steps are executed or in a cycle state. Works with feed hold.
void settings_store_startup_line(uint8_t n, char *line)
Method to store startup lines into EEPROM.
#define SETTINGS_RESTORE_BUILD_INFO
uint8_t status_report_mask
Mask to indicate desired report data.
#define BITFLAG_SOFT_LIMIT_ENABLE
int memcpy_from_eeprom_with_checksum(char *destination, unsigned int source, unsigned int size)
void eeprom_put_char(unsigned int addr, unsigned char new_value)
Write byte to EEPROM.
#define EEPROM_ADDR_GLOBAL
Define EEPROM memory address location values for Grbl settings and parameters.
#define AXIS_SETTINGS_START_VAL
#define clear_vector_float(a)
#define BITFLAG_LASER_MODE
#define EEPROM_ADDR_PARAMETERS
#define BITFLAG_HOMING_ENABLE
void settings_store_build_info(char *line)
Method to store build info into EEPROM.
#define SETTINGS_RESTORE_STARTUP_LINES
uint8_t get_direction_pin_mask(uint8_t axis_idx)
Returns direction pin mask according to Grbl internal axis indexing.
#define X_AXIS
Axis indexing value.
#define LINE_BUFFER_SIZE
Line buffer size from the serial input stream to be executed.
void probe_configure_invert_mask(uint8_t is_probe_away)
Called by probe_init() and the mc_probe() routines. Sets up the probe pin invert mask to...
#define AXIS_N_SETTINGS
Define Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS...
#define STATUS_INVALID_STATEMENT
#define STATUS_NEGATIVE_VALUE
uint8_t settings_read_startup_line(uint8_t n, char *line)
Reads startup line from EEPROM. Updated pointed line string data.
uint8_t flags
Contains default boolean settings.
#define STATUS_SOFT_LIMIT_ERROR
uint16_t homing_debounce_delay
#define SETTINGS_RESTORE_PARAMETERS
void settings_write_coord_data(uint8_t coord_select, float *coord_data)
Method to store coord data parameters into EEPROM.
float steps_per_mm[N_AXIS]
#define bit_isfalse(x, mask)
#define BITFLAG_REPORT_INCHES
NOTE: Check settings_reset() when moving to next version.
uint8_t get_step_pin_mask(uint8_t axis_idx)
Returns step pin mask according to Grbl internal axis indexing.
uint8_t get_limit_pin_mask(uint8_t axis_idx)
Returns limit pin mask according to Grbl internal axis indexing.
#define BITFLAG_HARD_LIMIT_ENABLE
#define STATUS_MAX_STEP_RATE_EXCEEDED
memset(pl_data, 0, sizeof(plan_line_data_t))
Zero pl_data struct.
void settings_init()
Initialize the config subsystem.
uint8_t pulse_microseconds
#define EEPROM_ADDR_STARTUP_BLOCK
#define EEPROM_ADDR_BUILD_INFO
#define SETTINGS_RESTORE_DEFAULTS
Define settings restore bitflags.
#define SETTINGS_VERSION
Version of the EEPROM data. Will be used to migrate existing data from older versions of Grbl...
#define BITFLAG_INVERT_LIMIT_PINS
#define AXIS_SETTINGS_INCREMENT
NOTE: Reserving settings values >= 100 for axis settings. Up to 255.
uint8_t settings_read_build_info(char *line)
Reads startup line from EEPROM. Updated pointed line string data.
uint8_t read_global_settings()
Reads Grbl global settings struct from EEPROM.
#define STATUS_SETTING_READ_FAIL
uint8_t settings_store_global_setting(uint8_t parameter, float value)
A helper method to set settings from command line.
void st_generate_step_dir_invert_masks()
Generates the step and direction port invert masks used in the Stepper Interrupt Driver.
#define STATUS_OK
Define Grbl status codes. Valid values (0-255)
#define SETTING_INDEX_NCOORD
Total number of system stored (from index 0)
void settings_restore(uint8_t restore_flag)
Method to restore EEPROM-saved Grbl global settings back to defaults.
uint8_t stepper_idle_lock_time
If max value 255, steppers do not disable.
#define BITFLAG_INVERT_PROBE_PIN
void memcpy_to_eeprom_with_checksum(unsigned int destination, char *source, unsigned int size)
Extensions added as part of Grbl.