27 #ifndef EEPROM_LINE_SIZE
28 #define EEPROM_LINE_SIZE 80
32 #define SETTINGS_VERSION 10
33 #define BITFLAG_REPORT_INCHES bit(0)
36 #define BITFLAG_LASER_MODE bit(1)
37 #define BITFLAG_INVERT_ST_ENABLE bit(2)
38 #define BITFLAG_HARD_LIMIT_ENABLE bit(3)
39 #define BITFLAG_HOMING_ENABLE bit(4)
40 #define BITFLAG_SOFT_LIMIT_ENABLE bit(5)
41 #define BITFLAG_INVERT_LIMIT_PINS bit(6)
42 #define BITFLAG_INVERT_PROBE_PIN bit(7)
43 #define BITFLAG_RT_STATUS_POSITION_TYPE bit(0)
45 #define BITFLAG_RT_STATUS_BUFFER_STATE bit(1)
46 #define SETTINGS_RESTORE_DEFAULTS bit(0)
48 #define SETTINGS_RESTORE_PARAMETERS bit(1)
49 #define SETTINGS_RESTORE_STARTUP_LINES bit(2)
50 #define SETTINGS_RESTORE_BUILD_INFO bit(3)
51 #ifndef SETTINGS_RESTORE_ALL
52 #define SETTINGS_RESTORE_ALL 0xFF
54 #define EEPROM_ADDR_GLOBAL 1U
56 #define EEPROM_ADDR_PARAMETERS 512U
57 #define EEPROM_ADDR_STARTUP_BLOCK 768U
58 #define EEPROM_ADDR_BUILD_INFO 942U
59 #define N_COORDINATE_SYSTEM 6
61 #define SETTING_INDEX_NCOORD N_COORDINATE_SYSTEM+1
63 #define SETTING_INDEX_G28 N_COORDINATE_SYSTEM
65 #define SETTING_INDEX_G30 N_COORDINATE_SYSTEM+1
66 // #define SETTING_INDEX_G92 N_COORDINATE_SYSTEM+2
67 #define AXIS_N_SETTINGS 4
69 #define AXIS_SETTINGS_START_VAL 100
70 #define AXIS_SETTINGS_INCREMENT 10
uint8_t get_direction_pin_mask(uint8_t i)
Returns the direction pin mask according to Grbl's internal axis numbering.
#define N_AXIS
Axis array index values. Must start with 0 and be continuous.
void settings_restore(uint8_t restore_flag)
Helper function to clear and restore EEPROM defaults.
uint8_t settings_read_build_info(char *line)
Reads build info user-defined string.
Global persistent settings (Stored from byte EEPROM_ADDR_GLOBAL onwards)
uint8_t get_step_pin_mask(uint8_t i)
Returns the step pin mask according to Grbl's internal axis numbering.
void settings_write_coord_data(uint8_t coord_select, float *coord_data)
Writes selected coordinate data to EEPROM.
uint8_t status_report_mask
Mask to indicate desired report data.
uint8_t settings_read_coord_data(uint8_t coord_select, float *coord_data)
Reads selected coordinate data from EEPROM.
uint8_t flags
Contains default boolean settings.
void settings_store_build_info(char *line)
Stores build info user-defined string.
uint16_t homing_debounce_delay
void settings_store_startup_line(uint8_t n, char *line)
Stores the protocol line variable as a startup line in EEPROM.
uint8_t settings_read_startup_line(uint8_t n, char *line)
Reads an EEPROM startup line to the protocol line variable.
uint8_t settings_store_global_setting(uint8_t parameter, float value)
A helper method to set new settings from command line.
void settings_init()
Initialize the configuration subsystem (load settings from EEPROM)
uint8_t get_limit_pin_mask(uint8_t i)
Returns the limit pin mask according to Grbl's internal axis numbering.
uint8_t pulse_microseconds
uint8_t stepper_idle_lock_time
If max value 255, steppers do not disable.