#include "grbl.h"
Go to the source code of this file.
Data Structures | |
struct | settings_t |
Global persistent settings (Stored from byte EEPROM_ADDR_GLOBAL onwards) More... | |
Macros | |
#define | SETTINGS_VERSION 10 |
Version of the EEPROM data. Will be used to migrate existing data from older versions of Grbl. More... | |
#define | BITFLAG_REPORT_INCHES bit(0) |
NOTE: Check settings_reset() when moving to next version. More... | |
#define | BITFLAG_LASER_MODE bit(1) |
#define | BITFLAG_INVERT_ST_ENABLE bit(2) |
#define | BITFLAG_HARD_LIMIT_ENABLE bit(3) |
#define | BITFLAG_HOMING_ENABLE bit(4) |
#define | BITFLAG_SOFT_LIMIT_ENABLE bit(5) |
#define | BITFLAG_INVERT_LIMIT_PINS bit(6) |
#define | BITFLAG_INVERT_PROBE_PIN bit(7) |
#define | BITFLAG_RT_STATUS_POSITION_TYPE bit(0) |
Define status reporting boolean enable bit flags in settings.status_report_mask. More... | |
#define | BITFLAG_RT_STATUS_BUFFER_STATE bit(1) |
#define | SETTINGS_RESTORE_DEFAULTS bit(0) |
Define settings restore bitflags. More... | |
#define | SETTINGS_RESTORE_PARAMETERS bit(1) |
#define | SETTINGS_RESTORE_STARTUP_LINES bit(2) |
#define | SETTINGS_RESTORE_BUILD_INFO bit(3) |
#define | EEPROM_ADDR_GLOBAL 1U |
Define EEPROM memory address location values for Grbl settings and parameters. More... | |
#define | EEPROM_ADDR_PARAMETERS 512U |
#define | EEPROM_ADDR_STARTUP_BLOCK 768U |
#define | EEPROM_ADDR_BUILD_INFO 942U |
#define | N_COORDINATE_SYSTEM 6 |
Define EEPROM address indexing for coordinate parameters. More... | |
#define | SETTING_INDEX_NCOORD N_COORDINATE_SYSTEM+1 |
Total number of system stored (from index 0) More... | |
#define | SETTING_INDEX_G28 N_COORDINATE_SYSTEM |
NOTE: Work coordinate indices are (0=G54, 1=G55, ... , 6=G59) More... | |
#define | SETTING_INDEX_G30 N_COORDINATE_SYSTEM+1 |
Home position 2. More... | |
#define | AXIS_N_SETTINGS 4 |
Define Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS. More... | |
#define | AXIS_SETTINGS_START_VAL 100 |
#define | AXIS_SETTINGS_INCREMENT 10 |
NOTE: Reserving settings values >= 100 for axis settings. Up to 255. More... | |
Functions | |
void | settings_init () |
Initialize the configuration subsystem (load settings from EEPROM) More... | |
void | settings_restore (uint8_t restore_flag) |
Helper function to clear and restore EEPROM defaults. More... | |
uint8_t | settings_store_global_setting (uint8_t parameter, float value) |
A helper method to set new settings from command line. More... | |
void | settings_store_startup_line (uint8_t n, char *line) |
Stores the protocol line variable as a startup line in EEPROM. More... | |
uint8_t | settings_read_startup_line (uint8_t n, char *line) |
Reads an EEPROM startup line to the protocol line variable. More... | |
void | settings_store_build_info (char *line) |
Stores build info user-defined string. More... | |
uint8_t | settings_read_build_info (char *line) |
Reads build info user-defined string. More... | |
void | settings_write_coord_data (uint8_t coord_select, float *coord_data) |
Writes selected coordinate data to EEPROM. More... | |
uint8_t | settings_read_coord_data (uint8_t coord_select, float *coord_data) |
Reads selected coordinate data from EEPROM. More... | |
uint8_t | get_step_pin_mask (uint8_t i) |
Returns the step pin mask according to Grbl's internal axis numbering. More... | |
uint8_t | get_direction_pin_mask (uint8_t i) |
Returns the direction pin mask according to Grbl's internal axis numbering. More... | |
uint8_t | get_limit_pin_mask (uint8_t i) |
Returns the limit pin mask according to Grbl's internal axis numbering. More... | |
Variables | |
settings_t | settings |
struct settings_t |
Global persistent settings (Stored from byte EEPROM_ADDR_GLOBAL onwards)
Definition at line 73 of file settings.h.
Data Fields | ||
---|---|---|
float | acceleration[N_AXIS] | |
float | arc_tolerance | |
uint8_t | dir_invert_mask | |
uint8_t | flags | Contains default boolean settings. |
uint16_t | homing_debounce_delay | |
uint8_t | homing_dir_mask | |
float | homing_feed_rate | |
float | homing_pulloff | |
float | homing_seek_rate | |
float | junction_deviation | |
float | max_rate[N_AXIS] | |
float | max_travel[N_AXIS] | |
uint8_t | pulse_microseconds | |
float | rpm_max | |
float | rpm_min | |
uint8_t | status_report_mask | Mask to indicate desired report data. |
uint8_t | step_invert_mask | |
uint8_t | stepper_idle_lock_time | If max value 255, steppers do not disable. |
float | steps_per_mm[N_AXIS] |
#define AXIS_N_SETTINGS 4 |
Define Grbl axis settings numbering scheme. Starts at START_VAL, every INCREMENT, over N_SETTINGS.
Definition at line 68 of file settings.h.
#define AXIS_SETTINGS_INCREMENT 10 |
NOTE: Reserving settings values >= 100 for axis settings. Up to 255.
Must be greater than the number of axis settings
Definition at line 71 of file settings.h.
#define AXIS_SETTINGS_START_VAL 100 |
Definition at line 69 of file settings.h.
#define BITFLAG_HARD_LIMIT_ENABLE bit(3) |
Definition at line 38 of file settings.h.
#define BITFLAG_HOMING_ENABLE bit(4) |
Definition at line 39 of file settings.h.
#define BITFLAG_INVERT_LIMIT_PINS bit(6) |
Definition at line 41 of file settings.h.
#define BITFLAG_INVERT_PROBE_PIN bit(7) |
Definition at line 42 of file settings.h.
#define BITFLAG_INVERT_ST_ENABLE bit(2) |
Definition at line 37 of file settings.h.
#define BITFLAG_LASER_MODE bit(1) |
Definition at line 36 of file settings.h.
#define BITFLAG_REPORT_INCHES bit(0) |
NOTE: Check settings_reset() when moving to next version.
Define bit flag masks for the boolean settings in settings.flag.
Definition at line 35 of file settings.h.
#define BITFLAG_RT_STATUS_BUFFER_STATE bit(1) |
Definition at line 45 of file settings.h.
#define BITFLAG_RT_STATUS_POSITION_TYPE bit(0) |
Define status reporting boolean enable bit flags in settings.status_report_mask.
Definition at line 44 of file settings.h.
#define BITFLAG_SOFT_LIMIT_ENABLE bit(5) |
Definition at line 40 of file settings.h.
#define EEPROM_ADDR_BUILD_INFO 942U |
Definition at line 58 of file settings.h.
#define EEPROM_ADDR_GLOBAL 1U |
Define EEPROM memory address location values for Grbl settings and parameters.
Definition at line 55 of file settings.h.
#define EEPROM_ADDR_PARAMETERS 512U |
Definition at line 56 of file settings.h.
#define EEPROM_ADDR_STARTUP_BLOCK 768U |
Definition at line 57 of file settings.h.
#define N_COORDINATE_SYSTEM 6 |
Define EEPROM address indexing for coordinate parameters.
Number of supported work coordinate systems (from index 1)
Definition at line 60 of file settings.h.
#define SETTING_INDEX_G28 N_COORDINATE_SYSTEM |
NOTE: Work coordinate indices are (0=G54, 1=G55, ... , 6=G59)
Home position 1
Definition at line 64 of file settings.h.
#define SETTING_INDEX_G30 N_COORDINATE_SYSTEM+1 |
Home position 2.
Definition at line 65 of file settings.h.
#define SETTING_INDEX_NCOORD N_COORDINATE_SYSTEM+1 |
Total number of system stored (from index 0)
Definition at line 61 of file settings.h.
#define SETTINGS_RESTORE_BUILD_INFO bit(3) |
Definition at line 50 of file settings.h.
#define SETTINGS_RESTORE_DEFAULTS bit(0) |
Define settings restore bitflags.
Definition at line 47 of file settings.h.
#define SETTINGS_RESTORE_PARAMETERS bit(1) |
Definition at line 48 of file settings.h.
#define SETTINGS_RESTORE_STARTUP_LINES bit(2) |
Definition at line 49 of file settings.h.
#define SETTINGS_VERSION 10 |
Version of the EEPROM data. Will be used to migrate existing data from older versions of Grbl.
Definition at line 32 of file settings.h.
uint8_t get_direction_pin_mask | ( | uint8_t | axis_idx | ) |
Returns the direction pin mask according to Grbl's internal axis numbering.
Returns the direction pin mask according to Grbl's internal axis numbering.
Definition at line 316 of file settings.c.
uint8_t get_limit_pin_mask | ( | uint8_t | axis_idx | ) |
Returns the limit pin mask according to Grbl's internal axis numbering.
Returns the limit pin mask according to Grbl's internal axis numbering.
Definition at line 324 of file settings.c.
uint8_t get_step_pin_mask | ( | uint8_t | axis_idx | ) |
Returns the step pin mask according to Grbl's internal axis numbering.
Returns the step pin mask according to Grbl's internal axis numbering.
Definition at line 308 of file settings.c.
void settings_init | ( | ) |
Initialize the configuration subsystem (load settings from EEPROM)
Initialize the configuration subsystem (load settings from EEPROM)
< Force restore all EEPROM data.
Definition at line 299 of file settings.c.
uint8_t settings_read_build_info | ( | char * | line | ) |
Reads build info user-defined string.
Reads build info user-defined string.
< Empty line
Definition at line 148 of file settings.c.
uint8_t settings_read_coord_data | ( | uint8_t | coord_select, |
float * | coord_data | ||
) |
Reads selected coordinate data from EEPROM.
Reads selected coordinate data from EEPROM.
Definition at line 160 of file settings.c.
uint8_t settings_read_startup_line | ( | uint8_t | n, |
char * | line | ||
) |
Reads an EEPROM startup line to the protocol line variable.
Reads an EEPROM startup line to the protocol line variable.
< Empty line
Definition at line 135 of file settings.c.
void settings_restore | ( | uint8_t | restore_flag | ) |
Helper function to clear and restore EEPROM defaults.
Helper function to clear and restore EEPROM defaults.
< Checksum
< Checksum
< Checksum
Definition at line 65 of file settings.c.
void settings_store_build_info | ( | char * | line | ) |
Stores build info user-defined string.
Stores build info user-defined string.
NOTE: This function can only be called in IDLE state.
Definition at line 39 of file settings.c.
uint8_t settings_store_global_setting | ( | uint8_t | parameter, |
float | value | ||
) |
A helper method to set new settings from command line.
A helper method to set new settings from command line.
NOTE: Ensure the setting index corresponds to the report.c settings printout.
< Convert to mm/min^2 for grbl internal use.
< Store as negative for grbl internal use.
< Exit while-loop after setting has been configured and proceed to the EEPROM write call.
< Regenerate step and direction port invert masks.
< Regenerate step and direction port invert masks.
< Reset to ensure change. Immediate re-init may cause problems.
< Reset to ensure change. Immediate re-init may cause problems.
< Reset to ensure change. Immediate re-init may cause problems.
< Make sure WCO is immediately updated.
< Re-init to immediately change.
NOTE: Nice to have but could be problematic later.
< Force disable soft-limits.
< Re-initialize spindle rpm calibration
< Re-initialize spindle rpm calibration
Definition at line 188 of file settings.c.
void settings_store_startup_line | ( | uint8_t | n, |
char * | line | ||
) |
Stores the protocol line variable as a startup line in EEPROM.
Stores the protocol line variable as a startup line in EEPROM.
< A startup line may contain a motion and be executing.
Definition at line 27 of file settings.c.
void settings_write_coord_data | ( | uint8_t | coord_select, |
float * | coord_data | ||
) |
Writes selected coordinate data to EEPROM.
Writes selected coordinate data to EEPROM.
Definition at line 46 of file settings.c.
settings_t settings |
Definition at line 24 of file settings.c.