grblHAL core  20241107
settings.h
Go to the documentation of this file.
1 /*
2  settings.h - non-volatile storage configuration handling
3 
4  Part of grblHAL
5 
6  Copyright (c) 2017-2024 Terje Io
7  Copyright (c) 2011-2016 Sungeun K. Jeon for Gnea Research LLC
8  Copyright (c) 2009-2011 Simen Svale Skogsrud
9 
10  grblHAL is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  grblHAL is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with grblHAL. If not, see <http://www.gnu.org/licenses/>.
22 */
23 
24 #ifndef _SETTINGS_H_
25 #define _SETTINGS_H_
26 
27 #include "config.h"
28 #include "system.h"
29 #include "plugins.h"
30 
31 // Version of the persistent storage data. Always stored in byte 0 of non-volatile storage.
32 #define SETTINGS_VERSION 22 // NOTE: Check settings_reset() when moving to next version.
33 
34 // Define axis settings numbering scheme. Starts at Setting_AxisSettingsBase, every INCREMENT, over N_SETTINGS.
35 #define AXIS_SETTINGS_INCREMENT 10 // Must be greater than the number of axis settings.
36 
37 // Define encoder settings numbering scheme. Starts at Setting_EncoderSettingsBase, every INCREMENT, over N_SETTINGS.
38 // Not referenced by the core.
39 #define ENCODER_N_SETTINGS_MAX 5 // NOTE: This is the maximum number of encoders allowed.
40 #define ENCODER_SETTINGS_INCREMENT 10
41 
42 #define SETTINGS_HARD_RESET_REQUIRED "\\n\\nNOTE: A hard reset of the controller is required after changing this setting."
43 
44 #define PASSWORD_MASK "********"
45 
46 typedef enum {
54  Setting_SpindlePWMBehaviour = 7, // Deprecated - replaced by Setting_SpindlePWMOptions flag
90 
98 // Optional driver implemented settings for jogging
105 //
110 
117 // Optional driver implemented settings for piecewise linear spindle PWM algorithm
122 //
123 
124 // Optional driver implemented settings for additional streams
135 //
136 
137 // Optional settings for closed loop spindle speed control
145 
146 // Optional settings for closed loop spindle synchronized motion
154 //
155 
156 // Reserving settings in the range 100 - 299 for axis settings.
157  Setting_AxisSettingsBase = 100, // Reserved for core settings
159  Setting_AxisSettingsBase2 = 200, // Reserved for driver/plugin settings
161 //
162 
163 // Optional driver implemented settings
164 
165  // Normally used for Ethernet
175 
176  // Normally used for WiFi Access Point
186 
187  // Normally used for WiFi Station
197 
205 
207 
210 
218 
222 
243 
268  Setting_SpindleOnDelay = 394, // made available if safety door input not provided
274 
275  Setting_EncoderSettingsBase = 400, // NOTE: Reserving settings values >= 400 for encoder settings. Up to 449.
277 
278  // Reserved for user plugins - do NOT use for public plugins
289 
304 
309 
320 
332 
344 
354 
363 
368 
374 
375  Setting_Panel_SpindleSpeed = 540, // NOTE: Reserving settings values 540 to 579 for panel settings.
396 
408 
409  Setting_ModbusTCPBase = 600, // Reserving settings values 600 to 639 for ModBus TCP (8 sets)
414 
425 
427 
448 
451  Setting_HoldCoolantOnDelay = 673, // made available if safety door input not provided
452 
454 
462 
463 // Optional driver implemented settings for piecewise linear spindle PWM algorithm
468 
480 
492 
495 //
496 // 772-779 - reserved for spindle offset settings
497 //
498 
499 //
500 // 900-999 - reserved for automatic tool changers (ATC)
501 //
502 
503 // ---
506 
507 // ---
508 
509  // Calculated base values for core stepper settings
520 
521  // Calculated base values for driver/plugin stepper settings
532 
533  // Calculated base values for encoder settings
539 
540 typedef union {
541  uint8_t mask;
542  struct {
543  uint8_t defaults :1,
549 
550  };
552 
553 extern const settings_restore_t settings_all;
554 
556 
557 typedef union {
558  uint16_t value;
559  struct {
560  uint16_t report_inches :1,
562  dst_active :1, // Daylight savings time
573  };
575 
576 typedef union {
577  uint8_t value;
578  struct {
579  uint8_t invert_probe_pin :1,
586  };
587 } probeflags_t;
588 
589 typedef union {
590  uint16_t mask;
591  struct {
592  uint16_t machine_position :1,
606  };
607 } reportmask_t;
608 
609 typedef union {
610  uint8_t value;
611  struct {
612  uint8_t ignore_when_idle :1,
615  };
617 
618 typedef struct {
623 
624 typedef union {
625  uint8_t value;
626  struct {
627  uint8_t enabled :1,
632  };
634 
635 typedef struct {
637  uint8_t axis; // Define which axis that performs the parking motion
638  float target; // Parking axis target. In mm, as machine coordinate [-max_travel,0].
639  float rate; // Parking fast rate after pull-out in mm/min.
640  float pullout_rate; // Pull-out/plunge slow feed rate in mm/min.
641  float pullout_increment; // Spindle pull-out and plunge distance in mm. Incremental distance.
643 
644 typedef struct {
646 } position_pid_t; // Used for synchronized motion
647 
648 typedef union {
649  uint8_t value;
650  struct {
651  uint8_t enabled :1,
655  manual :1,
659  };
661 
662 // Used internally in settings.c only.
663 // TODO: replace homing_settings_flags_t with this on a settings struct revision?
664 typedef union {
665  uint16_t value;
666  struct {
667  uint16_t enabled :1,
671  two_switches :1, // is a limits setting
672  manual :1,
676  unused :7;
677  };
679 
680 typedef struct {
681  float fail_length_percent; // DEFAULT_DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT
682  float fail_distance_max; // DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX
683  float fail_distance_min; // DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN
685 
686 typedef struct {
687  float feed_rate;
688  float seek_rate;
689  float pulloff;
691  uint8_t locate_cycles;
692  uint16_t debounce_delay;
697 
698 typedef struct {
701  axes_signals_t ganged_dir_invert; // applied after inversion for the master motor
704 #if N_AXIS > 3
705  axes_signals_t is_rotary; // rotary axes distances are not scaled in imperial mode
706  axes_signals_t rotary_wrap; // rotary axes that allows G28 wrap for faster move to home position
707 #endif
710  uint16_t idle_lock_time; // If value = 255, steppers do not disable.
712 
713 typedef struct {
715  float max_rate;
717  float max_travel;
719 #if ENABLE_BACKLASH_COMPENSATION
720  float backlash;
721 #endif
723 
724 typedef union {
725  uint8_t value;
726  struct {
727  uint8_t hard_enabled :1,
734  };
736 
737 typedef struct {
741 // axes_signals_t soft_enabled; // TODO: add per axis soft limits, replace soft_enabled flag
743 
744 typedef union {
745  uint8_t value;
746  uint8_t mask;
747  struct {
748  uint8_t sd_mount_on_boot :1,
750  unused :6;
751  };
752 } fs_options_t;
753 
754 typedef union {
755  uint8_t value;
756  uint8_t mask;
757  struct {
758  uint8_t g59_1 :1,
759  g59_2 :1,
760  g59_3 :1,
761  encoder_spindle :5; // TODO: move to spindle settings
762  };
763 } offset_lock_t;
764 
765 typedef union {
766  uint8_t value;
767  uint8_t mask;
768  struct {
769  uint8_t bit0 :1,
770  bit1 :1,
771  bit2 :1,
772  bit3 :1,
773  bit4 :1,
774  bit5 :1,
775  bit6 :1,
776  bit7 :1;
777  };
778 } ioport_bus_t;
779 
780 typedef struct {
786 
787 typedef enum {
794 
795 typedef struct {
796  float feed_rate;
797  float seek_rate;
802 
803 // Global persistent settings (Stored from byte NVS_ADDR_GLOBAL onwards)
804 typedef struct {
805  // Settings struct version
806  uint32_t version;
807 // uint32_t build_date; // TODO: add in next settings version?, set to GRBL_BUILD
810  float g73_retract;
811  float timezone;
812  uint16_t report_interval;
821  uint8_t modbus_baud;
822  uint8_t canbus_baud;
825  reportmask_t status_report; // Mask to indicate desired report data.
826  settingflags_t flags; // Contains default boolean settings
836  position_pid_t position; // Used for synchronized motion
838 } settings_t;
839 
840 typedef enum {
884 // NOTE: axis groups MUST be sequential AND last
889 #ifdef A_AXIS
890  Group_AAxis,
891 #endif
892 #ifdef B_AXIS
893  Group_BAxis,
894 #endif
895 #ifdef C_AXIS
896  Group_CAxis,
897 #endif
898 #ifdef U_AXIS
899  Group_UAxis,
900 #endif
901 #ifdef V_AXIS
902  Group_VAxis,
903 #endif
907 
908 typedef enum {
914  Format_Integer, // 32 bit
919  // For internal use only
923 
924 typedef struct setting_group_detail {
927  const char *name;
928  bool (*is_available)(const struct setting_group_detail *group);
930 
931 typedef enum {
941 
942 typedef union {
943  uint32_t ivalue;
944  float fvalue;
946 
947 typedef union {
948  uint8_t value;
949  struct {
950  uint8_t reboot_required :1,
954  unused :1;
955  };
957 
958 typedef struct setting_detail {
961  const char *name;
962  const char *unit;
964  const char *format;
965  const char *min_value;
966  const char *max_value;
968  void *value;
969  void *get_value;
970  bool (*is_available)(const struct setting_detail *setting);
973 
974 typedef struct {
976  const char *description;
978 
979 typedef union {
980  uint8_t value;
981  struct {
982  uint8_t spindle :1,
984  };
986 
987 typedef status_code_t (*setting_set_int_ptr)(setting_id_t id, uint_fast16_t value);
988 typedef status_code_t (*setting_set_float_ptr)(setting_id_t id, float value);
989 typedef status_code_t (*setting_set_string_ptr)(setting_id_t id, char *value);
990 typedef uint32_t (*setting_get_int_ptr)(setting_id_t id);
991 typedef float (*setting_get_float_ptr)(setting_id_t id);
992 typedef char *(*setting_get_string_ptr)(setting_id_t id);
993 typedef bool (*setting_output_ptr)(const setting_detail_t *setting, uint_fast16_t offset, void *data);
994 
995 typedef void (*setting_changed_ptr)(setting_id_t id);
996 
1002 
1003 typedef void (*driver_settings_load_ptr)(void);
1004 typedef void (*driver_settings_save_ptr)(void);
1005 typedef void (*driver_settings_restore_ptr)(void);
1006 typedef bool (*driver_settings_iterator_ptr)(const setting_detail_t *setting, setting_output_ptr callback, void *data);
1007 
1008 typedef struct setting_details {
1009  const uint8_t n_groups;
1011  const uint16_t n_settings;
1013 #ifndef NO_SETTINGS_DESCRIPTIONS
1014  const uint16_t n_descriptions;
1016 #endif
1017 // struct setting_details *(*on_get_settings)(void);
1025 
1026 // NOTE: this must match the signature of on_get_settings in the setting_details_t structure above!
1027 typedef setting_details_t *(*on_get_settings_ptr)(void);
1028 
1029 extern settings_t settings;
1030 
1031 // Clear settings chain (unlinks plugin/driver settings from core settings)
1032 void settings_clear (void);
1033 
1034 // Initialize the configuration subsystem (load settings from persistent storage)
1035 void settings_init();
1036 
1037 // Write Grbl global settings and version number to persistent storage
1038 void settings_write_global(void);
1039 
1040 // Helper function to clear and restore persistent storage defaults
1041 void settings_restore(settings_restore_t restore_flags);
1042 
1043 // A helper method to set new settings from command line
1044 status_code_t settings_store_setting(setting_id_t setting, char *svalue);
1045 
1046 // Writes the protocol line variable as a startup line in persistent storage
1047 void settings_write_startup_line(uint8_t idx, char *line);
1048 
1049 // Reads an persistent storage startup line to the protocol line variable
1050 bool settings_read_startup_line(uint8_t idx, char *line);
1051 
1052 // Writes build info user-defined string
1053 void settings_write_build_info(char *line);
1054 
1055 // Reads build info user-defined string
1056 bool settings_read_build_info(char *line);
1057 
1058 // Writes selected coordinate data to persistent storage
1059 void settings_write_coord_data(coord_system_id_t id, float (*coord_data)[N_AXIS]);
1060 
1061 // Reads selected coordinate data from persistent storage
1062 bool settings_read_coord_data(coord_system_id_t id, float (*coord_data)[N_AXIS]);
1063 
1064 // Temporarily override acceleration, if 0 restore to configured setting value
1065 bool settings_override_acceleration (uint8_t axis, float acceleration);
1066 
1067 void settings_register (setting_details_t *details);
1070 bool settings_iterator (const setting_detail_t *setting, setting_output_ptr callback, void *data);
1072 const char *setting_get_description (setting_id_t id);
1076 char *setting_get_value (const setting_detail_t *setting, uint_fast16_t offset);
1077 uint32_t setting_get_int_value (const setting_detail_t *setting, uint_fast16_t offset);
1078 float setting_get_float_value (const setting_detail_t *setting, uint_fast16_t offset);
1079 setting_id_t settings_get_axis_base (setting_id_t id, uint_fast8_t *idx);
1080 bool setting_is_list (const setting_detail_t *setting);
1081 bool setting_is_integer (const setting_detail_t *setting);
1082 void setting_remove_elements (setting_id_t id, uint32_t mask);
1083 bool settings_add_spindle_type (const char *type);
1085 
1086 #endif
This file contains compile-time and run-time configurations for grblHAL's internal system....
#define N_AXIS
Defines number of axes supported - minimum 3, maximum 8. If more than 3 axes are configured a complia...
Definition: config.h:42
#define MAX_STORED_LINE_LENGTH
Definition: grbl.h:227
@ Setting_EncoderCPR
Count Per Revolution.
Definition: plugins.h:175
@ Setting_EncoderCPD
Count Per Detent.
Definition: plugins.h:176
@ Setting_EncoderMode
Definition: plugins.h:174
@ Setting_EncoderDblClickWindow
Definition: plugins.h:177
@ Setting_ModbusId
Definition: plugins.h:147
@ Setting_ModbusPort
Definition: plugins.h:146
@ Setting_ModbusIpAddress
Definition: plugins.h:145
float acceleration[N_AXIS]
Definition: settings.c:852
void settings_write_build_info(char *line)
Definition: settings.c:2103
void(* driver_settings_restore_ptr)(void)
Definition: settings.h:1005
toolchange_mode_t
Definition: settings.h:787
@ ToolChange_Ignore
Definition: settings.h:792
@ ToolChange_Manual
Definition: settings.h:789
@ ToolChange_SemiAutomatic
Definition: settings.h:791
@ ToolChange_Manual_G59_3
Definition: settings.h:790
@ ToolChange_Disabled
Definition: settings.h:788
void settings_clear(void)
Definition: settings.c:2949
void setting_remove_elements(setting_id_t id, uint32_t mask)
Definition: settings.c:2668
void(* setting_changed_ptr)(setting_id_t id)
Definition: settings.h:995
bool settings_override_acceleration(uint8_t axis, float acceleration)
Definition: settings.c:879
char * setting_get_value(const setting_detail_t *setting, uint_fast16_t offset)
Definition: settings.c:1809
status_code_t(* setting_set_float_ptr)(setting_id_t id, float value)
Definition: settings.h:988
bool settings_add_spindle_type(const char *type)
Definition: settings.c:2935
const char * setting_get_description(setting_id_t id)
Definition: settings.c:2478
status_code_t(* setting_set_int_ptr)(setting_id_t id, uint_fast16_t value)
Definition: settings.h:987
struct setting_details setting_details_t
settings_t settings
Definition: settings.c:43
bool settings_read_startup_line(uint8_t idx, char *line)
Definition: settings.c:2135
void settings_register(setting_details_t *details)
Definition: settings.c:902
status_code_t settings_store_setting(setting_id_t setting, char *svalue)
Definition: settings.c:2814
struct setting_detail setting_detail_t
void settings_write_global(void)
Definition: settings.c:2264
const setting_detail_t * setting_get_details(setting_id_t id, setting_details_t **set)
Definition: settings.c:2450
void settings_write_coord_data(coord_system_id_t id, float(*coord_data)[N_AXIS])
Definition: settings.c:2149
bool settings_read_coord_data(coord_system_id_t id, float(*coord_data)[N_AXIS])
Definition: settings.c:2162
bool(* driver_settings_iterator_ptr)(const setting_detail_t *setting, setting_output_ptr callback, void *data)
Definition: settings.h:1006
setting_datatype_t
Definition: settings.h:908
@ Format_XBitfield
Definition: settings.h:911
@ Format_RadioButtons
Definition: settings.h:912
@ Format_Decimal
Definition: settings.h:915
@ Format_Password
Definition: settings.h:917
@ Format_IPv4
Definition: settings.h:918
@ Format_AxisMask
Definition: settings.h:913
@ Format_Int16
Definition: settings.h:921
@ Format_Int8
Definition: settings.h:920
@ Format_String
Definition: settings.h:916
@ Format_Integer
Definition: settings.h:914
@ Format_Bitfield
Definition: settings.h:910
@ Format_Bool
Definition: settings.h:909
status_code_t(* setting_set_string_ptr)(setting_id_t id, char *value)
Definition: settings.h:989
bool settings_iterator(const setting_detail_t *setting, setting_output_ptr callback, void *data)
Definition: settings.c:2423
float(* setting_get_float_ptr)(setting_id_t id)
Definition: settings.h:991
bool(* setting_output_ptr)(const setting_detail_t *setting, uint_fast16_t offset, void *data)
Definition: settings.h:993
char stored_line_t[MAX_STORED_LINE_LENGTH]
Definition: settings.h:555
void(* driver_settings_save_ptr)(void)
Definition: settings.h:1004
setting_details_t * settings_get_details(void)
Definition: settings.c:908
void settings_init()
Definition: settings.c:2956
setting_datatype_t setting_datatype_to_external(setting_datatype_t datatype)
Definition: settings.c:2609
uint32_t(* setting_get_int_ptr)(setting_id_t id)
Definition: settings.h:990
bool setting_is_list(const setting_detail_t *setting)
Definition: settings.c:2625
bool setting_is_integer(const setting_detail_t *setting)
Definition: settings.c:2630
const setting_group_detail_t * setting_get_group_details(setting_group_t id)
Definition: settings.c:2511
setting_id_t settings_get_axis_base(setting_id_t id, uint_fast8_t *idx)
Definition: settings.c:1478
setting_id_t
Definition: settings.h:46
@ Setting_Panel_JogDistance_Keypad
Definition: settings.h:385
@ Setting_THC_DGain
Definition: settings.h:228
@ Setting_MacroPort1
Definition: settings.h:335
@ Setting_PositionDMaxError
Definition: settings.h:153
@ Setting_Panel_Encoder2_Cpd
Definition: settings.h:392
@ Setting_TelnetPort3
Definition: settings.h:193
@ Setting_Arc_VoltagePort
Definition: settings.h:239
@ Setting_LinearSpindle1Piece3
Definition: settings.h:466
@ Setting_MacroPort4
Definition: settings.h:338
@ Setting_GangedDirInvertMask
Definition: settings.h:55
@ Setting_HomingCycle_4
Definition: settings.h:95
@ Setting_LinearSpindlePiece3
Definition: settings.h:120
@ Setting_Kinematics1
Definition: settings.h:416
@ Setting_Stepper20
Definition: settings.h:447
@ Setting_Stepper8
Definition: settings.h:435
@ Setting_Spindle_DirPort
Definition: settings.h:318
@ Setting_CoolantOffDelay
Definition: settings.h:253
@ Setting_HomingCycle_1
Definition: settings.h:92
@ Setting_TrinamicDriver
Definition: settings.h:208
@ Setting_PositionMaxError
Definition: settings.h:151
@ Setting_JogStepSpeed
Definition: settings.h:99
@ Setting_VFD_16
Definition: settings.h:298
@ Setting_OffsetLock
Definition: settings.h:316
@ Setting_RGB_StripLengt1
Definition: settings.h:372
@ Setting_NetMask2
Definition: settings.h:181
@ Setting_TelnetPort2
Definition: settings.h:182
@ Setting_Stepper15
Definition: settings.h:442
@ Setting_ParkingTarget
Definition: settings.h:108
@ Setting_SpindlePWMBehaviour
Definition: settings.h:54
@ Setting_IpMode2
Definition: settings.h:178
@ Setting_SpindleIMaxError
Definition: settings.h:143
@ Setting_Stepper3
Definition: settings.h:430
@ Setting_ModbusTCPBase
Definition: settings.h:409
@ Setting_NTPServerURI_2
Definition: settings.h:201
@ Setting_ParkingFastRate
Definition: settings.h:109
@ Setting_UserDefined_7
Definition: settings.h:286
@ Setting_SpindleOffsetX
Definition: settings.h:493
@ Setting_RestoreOverrides
Definition: settings.h:111
@ Setting_NetworkServices
Definition: settings.h:125
@ Setting_PositionIGain
Definition: settings.h:148
@ Setting_MQTTBrokerPort
Definition: settings.h:365
@ Setting_DualAxisLengthFailMax
Definition: settings.h:221
@ Setting_Macro4
Definition: settings.h:326
@ Setting_Reserved672
Definition: settings.h:450
@ Setting_FanPort2
Definition: settings.h:262
@ Setting_Action8
Definition: settings.h:478
@ Setting_PWMMaxValue1
Definition: settings.h:461
@ Setting_Panel_SettingsMax
Definition: settings.h:395
@ Setting_PWMMinValue1
Definition: settings.h:460
@ Setting_SettingsAll
Definition: settings.h:505
@ Setting_SpindleEnable6
Definition: settings.h:351
@ Setting_CoolantOkPort
Definition: settings.h:265
@ Setting_ButtonAction1
Definition: settings.h:399
@ Setting_SpindleOnDelay
Definition: settings.h:268
@ Setting_IpAddress3
Definition: settings.h:190
@ Setting_JogSoftLimited
Definition: settings.h:87
@ Setting_AxisHomingFeedRate
Definition: settings.h:518
@ Setting_ParkingPulloutIncrement
Definition: settings.h:106
@ Setting_UserDefined_1
Definition: settings.h:280
@ Setting_EncoderSettingsBase
Definition: settings.h:275
@ Setting_VFD_18
Definition: settings.h:300
@ Setting_SpindleType
Definition: settings.h:269
@ Setting_THC_Threshold
Definition: settings.h:225
@ Setting_ActionPort1
Definition: settings.h:483
@ Setting_Panel_JogDistance_x10
Definition: settings.h:383
@ Setting_Panel_JogDistance_x100
Definition: settings.h:384
@ Setting_ButtonAction0
Definition: settings.h:397
@ Setting_Macro9
Definition: settings.h:331
@ Setting_NetMask
Definition: settings.h:170
@ Setting_UserDefined_5
Definition: settings.h:284
@ Setting_ToolChangeProbingDistance
Definition: settings.h:213
@ Setting_Gateway2
Definition: settings.h:180
@ Setting_EncoderCPDBase
Definition: settings.h:536
@ Setting_Panel_Encoder0_Mode
Definition: settings.h:387
@ Setting_Action2
Definition: settings.h:472
@ Setting_Kinematics6
Definition: settings.h:421
@ Setting_EncoderSpindle
Definition: settings.h:353
@ Setting_LinearSpindlePiece1
Definition: settings.h:118
@ Setting_TrinamicHoming
Definition: settings.h:209
@ Setting_PositionPGain
Definition: settings.h:147
@ Settings_IoPort_Pullup_Disable
Definition: settings.h:245
@ Setting_InvertStepperEnable
Definition: settings.h:51
@ Setting_AdminPassword
Definition: settings.h:198
@ Setting_CANbus_BaudRate
Definition: settings.h:273
@ Setting_NTPServerURI_3
Definition: settings.h:202
@ Setting_SpindleToolStart5
Definition: settings.h:360
@ Setting_InvertProbePin
Definition: settings.h:53
@ Setting_PWMOffValue1
Definition: settings.h:459
@ Setting_BlueToothStateInput
Definition: settings.h:259
@ Setting_SpindleEnable7
Definition: settings.h:352
@ Setting_SpindleToolStart3
Definition: settings.h:358
@ Setting_CoolantOnDelay
Definition: settings.h:252
@ Setting_CoolantInvertMask
Definition: settings.h:62
@ Setting_Stepper19
Definition: settings.h:446
@ Setting_CoolantGain
Definition: settings.h:257
@ Setting_IpMode3
Definition: settings.h:189
@ Setting_VFD_10
Definition: settings.h:292
@ Setting_Mode
Definition: settings.h:79
@ Setting_Macro1
Definition: settings.h:323
@ Setting_Spindle_OnPort
Definition: settings.h:317
@ Setting_DirInvertMask
Definition: settings.h:50
@ Setting_WifiMode
Definition: settings.h:128
@ Settings_ModBus_BaudRate
Definition: settings.h:248
@ Setting_Panel_JogDistance_x1
Definition: settings.h:382
@ Setting_VFD_ModbusAddress1
Definition: settings.h:306
@ Setting_WiFi_STA_SSID
Definition: settings.h:129
@ Settings_IoPort_InvertOut
Definition: settings.h:246
@ Setting_RGB_StripLengt0
Definition: settings.h:371
@ Setting_AxisExtended3
Definition: settings.h:525
@ Setting_LimitPullUpDisableMask
Definition: settings.h:65
@ Setting_Stepper17
Definition: settings.h:444
@ Setting_UserDefined_0
Definition: settings.h:279
@ Setting_Stepper13
Definition: settings.h:440
@ Setting_HomingDirMask
Definition: settings.h:70
@ Setting_ForceInitAlarm
Definition: settings.h:115
@ Setting_EncoderModeBase
Definition: settings.h:534
@ Setting_ArcTolerance
Definition: settings.h:59
@ Setting_ParkingAxis
Definition: settings.h:89
@ Setting_EnableLegacyRTCommands
Definition: settings.h:86
@ Setting_CoolantTempPort
Definition: settings.h:264
@ Setting_Action3
Definition: settings.h:473
@ Setting_Macro8
Definition: settings.h:330
@ Setting_AutoReportInterval
Definition: settings.h:311
@ Setting_Panel_JogSpeed_Keypad
Definition: settings.h:381
@ Setting_HomingCycle_3
Definition: settings.h:94
@ Setting_MacroPort2
Definition: settings.h:336
@ Setting_AxisAcceleration
Definition: settings.h:512
@ Setting_AxisSettingsBase2
Definition: settings.h:159
@ Setting_Spindle_PWMPort
Definition: settings.h:319
@ Setting_SpindleEnable1
Definition: settings.h:346
@ Setting_MacroPort7
Definition: settings.h:341
@ Setting_PlannerBlocks
Definition: settings.h:272
@ Setting_SpindleToolStart1
Definition: settings.h:356
@ Setting_LimitPinsInvertMask
Definition: settings.h:52
@ Setting_VFD_14
Definition: settings.h:296
@ Setting_Panel_ModbusAddress
Definition: settings.h:376
@ Setting_CoolantMinTemp
Definition: settings.h:254
@ Setting_VFD_ModbusAddress2
Definition: settings.h:307
@ Setting_THC_VADThreshold
Definition: settings.h:229
@ Setting_MQTTBrokerUserName
Definition: settings.h:366
@ Setting_ActionPort9
Definition: settings.h:491
@ Setting_ModbusPortBase
Definition: settings.h:411
@ Setting_SpindleEnable4
Definition: settings.h:349
@ Setting_SpindleToolStart2
Definition: settings.h:357
@ Setting_VFD_17
Definition: settings.h:299
@ Setting_JogFastDistance
Definition: settings.h:104
@ Setting_Kinematics8
Definition: settings.h:423
@ Setting_ButtonAction7
Definition: settings.h:405
@ Setting_Macro3
Definition: settings.h:325
@ Setting_ButtonAction5
Definition: settings.h:403
@ Setting_PWMMaxValue
Definition: settings.h:83
@ Setting_EncoderCPRBase
Definition: settings.h:535
@ Setting_AxisBacklash
Definition: settings.h:516
@ Setting_VFD_ModbusAddress3
Definition: settings.h:308
@ Setting_LinearSpindle1Piece4
Definition: settings.h:467
@ Setting_ActionPort4
Definition: settings.h:486
@ Setting_SpindleDeadband
Definition: settings.h:141
@ Setting_ModbusTCPMax
Definition: settings.h:413
@ Setting_FanPort0
Definition: settings.h:260
@ Setting_AxisExtended6
Definition: settings.h:528
@ Setting_FanPort1
Definition: settings.h:261
@ Setting_AxisSettingsBase
Definition: settings.h:157
@ Setting_SettingsMax
Definition: settings.h:504
@ Setting_JunctionDeviation
Definition: settings.h:58
@ Setting_Gateway3
Definition: settings.h:191
@ Setting_VFD_ModbusAddress
Definition: settings.h:290
@ Setting_Arc_FailTimeout
Definition: settings.h:231
@ Setting_SpindleOffsetY
Definition: settings.h:494
@ Setting_ToolChangeRestorePosition
Definition: settings.h:217
@ Setting_TimeZoneOffset
Definition: settings.h:312
@ Setting_AxisExtended8
Definition: settings.h:530
@ Setting_Arc_OkLowVoltage
Definition: settings.h:238
@ Setting_THC_Mode
Definition: settings.h:223
@ Setting_HomingCycle_2
Definition: settings.h:93
@ Setting_ActionPort2
Definition: settings.h:484
@ Setting_NetworkMAC
Definition: settings.h:370
@ Setting_MacroPortBase
Definition: settings.h:334
@ Setting_Arc_RetryDelay
Definition: settings.h:232
@ Setting_Panel_Encoder3_Mode
Definition: settings.h:393
@ Setting_Wifi_AP_BSSID
Definition: settings.h:206
@ Setting_MacroBase
Definition: settings.h:322
@ Setting_SoftLimitsEnable
Definition: settings.h:67
@ Setting_AxisAutoSquareOffset
Definition: settings.h:517
@ Setting_Arc_OkPort
Definition: settings.h:240
@ Setting_AxisExtended9
Definition: settings.h:531
@ Setting_Panel_JogSpeed_x100
Definition: settings.h:380
@ Setting_SpindlePGain
Definition: settings.h:138
@ Setting_ToolChangePulloffRate
Definition: settings.h:216
@ Setting_HomingFeedRate
Definition: settings.h:71
@ Setting_BlueToothDeviceName
Definition: settings.h:126
@ Setting_PWMMinValue
Definition: settings.h:82
@ Setting_THC_PGain
Definition: settings.h:226
@ Setting_AxisExtended2
Definition: settings.h:524
@ Setting_AxisHomingSeekRate
Definition: settings.h:519
@ Setting_EncoderDblClickWindowBase
Definition: settings.h:537
@ Setting_Kinematics9
Definition: settings.h:424
@ Setting_SpindleIGain
Definition: settings.h:139
@ Setting_Action0
Definition: settings.h:469
@ Setting_ButtonAction4
Definition: settings.h:402
@ Setting_WebSocketPort
Definition: settings.h:173
@ Setting_SpindleInvertMask
Definition: settings.h:63
@ Setting_FtpPort3
Definition: settings.h:196
@ Setting_Kinematics4
Definition: settings.h:419
@ Setting_Kinematics2
Definition: settings.h:417
@ Setting_ActionPort0
Definition: settings.h:481
@ Setting_UserDefined_6
Definition: settings.h:285
@ Setting_Action9
Definition: settings.h:479
@ Setting_THC_IGain
Definition: settings.h:227
@ Setting_Stepper1
Definition: settings.h:428
@ Setting_MQTTBrokerPassword
Definition: settings.h:367
@ Setting_Panel_Encoder2_Mode
Definition: settings.h:391
@ Setting_Hostname
Definition: settings.h:166
@ Setting_HoldActions
Definition: settings.h:114
@ Setting_HomingPulloff
Definition: settings.h:74
@ Setting_PositionDeadband
Definition: settings.h:150
@ Setting_UserPassword
Definition: settings.h:199
@ Setting_CoolantMaxTemp
Definition: settings.h:255
@ Setting_RpmMax
Definition: settings.h:77
@ Setting_RpmMin
Definition: settings.h:78
@ Setting_JogStepDistance
Definition: settings.h:102
@ Setting_Hostname3
Definition: settings.h:188
@ Setting_SpindleToolStart4
Definition: settings.h:359
@ Setting_DisableG92Persistence
Definition: settings.h:258
@ Setting_Stepper18
Definition: settings.h:445
@ Setting_HttpPort3
Definition: settings.h:194
@ Setting_ReportInches
Definition: settings.h:60
@ Setting_Macro0
Definition: settings.h:321
@ Setting_Macro6
Definition: settings.h:328
@ Setting_MacroPort9
Definition: settings.h:343
@ Setting_AxisExtended0
Definition: settings.h:522
@ Setting_Macro7
Definition: settings.h:329
@ Setting_JogFastSpeed
Definition: settings.h:101
@ Setting_Stepper16
Definition: settings.h:443
@ Setting_ActionPort7
Definition: settings.h:489
@ Setting_JogSlowSpeed
Definition: settings.h:100
@ Setting_Stepper12
Definition: settings.h:439
@ Setting_AxisExtended1
Definition: settings.h:523
@ Setting_ActionPort8
Definition: settings.h:490
@ Setting_WiFi_AP_Password
Definition: settings.h:132
@ Setting_Panel_JogAccelRamp
Definition: settings.h:386
@ Setting_ModbusIdBase
Definition: settings.h:412
@ Setting_Stepper5
Definition: settings.h:432
@ Setting_Panel_UpdateInterval
Definition: settings.h:377
@ Setting_IpAddress
Definition: settings.h:168
@ Setting_Stepper7
Definition: settings.h:434
@ Setting_WebSocketPort2
Definition: settings.h:184
@ Setting_MacroPort3
Definition: settings.h:337
@ Setting_StatusReportMask
Definition: settings.h:57
@ Setting_Mode1
Definition: settings.h:457
@ Setting_ButtonAction2
Definition: settings.h:400
@ Setting_SpindleToolStart0
Definition: settings.h:355
@ Setting_RpmMax1
Definition: settings.h:455
@ Setting_WiFi_AP_SSID
Definition: settings.h:131
@ Setting_SleepEnable
Definition: settings.h:113
@ Setting_SpindleInvertMask1
Definition: settings.h:453
@ Setting_Arc_HeightPerVolt
Definition: settings.h:236
@ Setting_VFD_15
Definition: settings.h:297
@ Setting_SpindleToolStart6
Definition: settings.h:361
@ Setting_Panel_Encoder1_Mode
Definition: settings.h:389
@ Setting_ButtonAction8
Definition: settings.h:406
@ Setting_Macro2
Definition: settings.h:324
@ Setting_ToolChangeSeekRate
Definition: settings.h:215
@ Setting_Stepper4
Definition: settings.h:431
@ Setting_HomePinsInvertMask
Definition: settings.h:449
@ Setting_MacroPort5
Definition: settings.h:339
@ Setting_ButtonAction6
Definition: settings.h:404
@ Setting_SpindleEnable3
Definition: settings.h:348
@ Setting_VFD_13
Definition: settings.h:295
@ Setting_VFD_19
Definition: settings.h:301
@ Setting_ActionPort3
Definition: settings.h:485
@ Setting_UserDefined_2
Definition: settings.h:281
@ Setting_Stepper2
Definition: settings.h:429
@ Setting_LinearSpindlePiece4
Definition: settings.h:121
@ Setting_HomingSeekRate
Definition: settings.h:72
@ Setting_Wifi_AP_Channel
Definition: settings.h:134
@ Setting_DoorSpindleOnDelay
Definition: settings.h:266
@ Setting_ButtonActionBase
Definition: settings.h:398
@ Setting_FanToSpindleLink
Definition: settings.h:313
@ Setting_Wifi_AP_Country
Definition: settings.h:133
@ Setting_AxisExtended7
Definition: settings.h:529
@ Setting_PositionDGain
Definition: settings.h:149
@ Settings_RotaryAxes
Definition: settings.h:250
@ Setting_SpindlePPR
Definition: settings.h:85
@ Setting_Kinematics5
Definition: settings.h:420
@ Setting_Panel_JogSpeed_x10
Definition: settings.h:379
@ Setting_HomingCycle_5
Definition: settings.h:96
@ Setting_DSTActive
Definition: settings.h:204
@ Setting_AxisStepsPerMM
Definition: settings.h:510
@ Setting_AxisMaxRate
Definition: settings.h:511
@ Setting_DoorCoolantOnDelay
Definition: settings.h:267
@ Setting_SpindleEnable0
Definition: settings.h:345
@ Setting_ProbingFeedOverride
Definition: settings.h:116
@ Setting_WiFi_STA_Password
Definition: settings.h:130
@ Setting_Macro5
Definition: settings.h:327
@ Setting_SpindlePWMOptions
Definition: settings.h:56
@ Setting_ActionPort5
Definition: settings.h:487
@ Setting_FanPort3
Definition: settings.h:263
@ Setting_THC_CutterDownPort
Definition: settings.h:241
@ Setting_THC_Delay
Definition: settings.h:224
@ Setting_HomingLocateCycles
Definition: settings.h:91
@ Setting_ActionPort6
Definition: settings.h:488
@ Setting_UnlockAfterEStop
Definition: settings.h:314
@ Setting_Fan0OffDelay
Definition: settings.h:310
@ Setting_PWMFreq
Definition: settings.h:80
@ Setting_Stepper11
Definition: settings.h:438
@ Setting_UserDefined_3
Definition: settings.h:282
@ Setting_NTPServerURI
Definition: settings.h:200
@ Setting_Stepper10
Definition: settings.h:437
@ Setting_ControlPullUpDisableMask
Definition: settings.h:64
@ Setting_BlueToothServiceName
Definition: settings.h:127
@ Setting_WebSocketPort3
Definition: settings.h:195
@ Setting_Panel_SpindleSpeed
Definition: settings.h:375
@ Setting_MacroPort0
Definition: settings.h:333
@ Setting_FtpPort
Definition: settings.h:174
@ Settings_IoPort_InvertIn
Definition: settings.h:244
@ Setting_ProbePullUpDisable
Definition: settings.h:66
@ Setting_AxisExtended5
Definition: settings.h:527
@ Setting_Panel_Encoder1_Cpd
Definition: settings.h:390
@ Setting_Action1
Definition: settings.h:471
@ Setting_AxisStepperCurrent
Definition: settings.h:514
@ Setting_HoldCoolantOnDelay
Definition: settings.h:451
@ Setting_Arc_VoltageScale
Definition: settings.h:234
@ Setting_SpindleAtSpeedTolerance
Definition: settings.h:211
@ Setting_LinearSpindle1Piece1
Definition: settings.h:464
@ Setting_ParkingEnable
Definition: settings.h:88
@ Setting_EncoderSettingsMax
Definition: settings.h:276
@ Setting_VFD_12
Definition: settings.h:294
@ Setting_PWMOffValue
Definition: settings.h:81
@ Setting_VFD_ModbusAddress0
Definition: settings.h:305
@ Setting_Arc_OkHighVoltage
Definition: settings.h:237
@ Setting_Action6
Definition: settings.h:476
@ Setting_PulseDelayMicroseconds
Definition: settings.h:76
@ Setting_Panel_JogSpeed_x1
Definition: settings.h:378
@ Setting_HomingEnable
Definition: settings.h:69
@ Setting_HomingDebounceDelay
Definition: settings.h:73
@ Setting_THC_CutterUpPort
Definition: settings.h:242
@ Setting_Timezone
Definition: settings.h:203
@ Setting_Hostname2
Definition: settings.h:177
@ Setting_Kinematics7
Definition: settings.h:422
@ Setting_DoorOptions
Definition: settings.h:112
@ Setting_JogSlowDistance
Definition: settings.h:103
@ Setting_UserDefined_8
Definition: settings.h:287
@ Setting_SpindleMaxError
Definition: settings.h:142
@ Setting_HttpPort2
Definition: settings.h:183
@ Setting_FSOptions
Definition: settings.h:426
@ Setting_Kinematics3
Definition: settings.h:418
@ Setting_SpindleDGain
Definition: settings.h:140
@ Setting_ModbusIpAddressBase
Definition: settings.h:410
@ Setting_RpmMin1
Definition: settings.h:456
@ Setting_SpindleDMaxError
Definition: settings.h:144
@ Settings_IoPort_OD_Enable
Definition: settings.h:247
@ Setting_ToolChangeFeedRate
Definition: settings.h:214
@ Setting_IpAddress2
Definition: settings.h:179
@ Setting_PulseMicroseconds
Definition: settings.h:47
@ Setting_UserDefined_9
Definition: settings.h:288
@ Setting_ParkingPulloutRate
Definition: settings.h:107
@ Setting_PWMFreq1
Definition: settings.h:458
@ Setting_MacroPort6
Definition: settings.h:340
@ Setting_StepInvertMask
Definition: settings.h:49
@ Setting_VFD_20
Definition: settings.h:302
@ Setting_HttpPort
Definition: settings.h:172
@ Setting_Panel_Encoder3_Cpd
Definition: settings.h:394
@ Setting_VFD_RPM_Hz
Definition: settings.h:291
@ Setting_Stepper9
Definition: settings.h:436
@ Setting_Action4
Definition: settings.h:474
@ Setting_Arc_MaxRetries
Definition: settings.h:233
@ Setting_AxisSettingsMax
Definition: settings.h:158
@ Setting_Stepper6
Definition: settings.h:433
@ Setting_VFD_11
Definition: settings.h:293
@ Setting_SpindleEnable2
Definition: settings.h:347
@ Setting_RotaryWrap
Definition: settings.h:373
@ Settings_ModBus_RXTimeout
Definition: settings.h:249
@ Setting_Action5
Definition: settings.h:475
@ Setting_ButtonAction3
Definition: settings.h:401
@ Setting_UserDefined_4
Definition: settings.h:283
@ Setting_ActionPortBase
Definition: settings.h:482
@ Setting_Kinematics0
Definition: settings.h:415
@ Setting_PositionIMaxError
Definition: settings.h:152
@ Setting_FtpPort2
Definition: settings.h:185
@ Setting_SpindleToolStart7
Definition: settings.h:362
@ Setting_AxisMaxTravel
Definition: settings.h:513
@ Setting_Gateway
Definition: settings.h:169
@ Setting_Stepper14
Definition: settings.h:441
@ Setting_ToolChangeMode
Definition: settings.h:212
@ Setting_WebUiTimeout
Definition: settings.h:270
@ Setting_HomingCycle_6
Definition: settings.h:97
@ Setting_StepperIdleLockTime
Definition: settings.h:48
@ Setting_WebUiAutoReportInterval
Definition: settings.h:271
@ Setting_AxisExtended4
Definition: settings.h:526
@ Setting_G73Retract
Definition: settings.h:75
@ Setting_DualAxisLengthFailMin
Definition: settings.h:220
@ Setting_IpMode
Definition: settings.h:167
@ Setting_LinearSpindle1Piece2
Definition: settings.h:465
@ Setting_Action7
Definition: settings.h:477
@ Setting_THC_VoidOverride
Definition: settings.h:230
@ Setting_AxisMicroSteps
Definition: settings.h:515
@ Setting_ButtonAction9
Definition: settings.h:407
@ Setting_AxisSettingsMax2
Definition: settings.h:160
@ Setting_MQTTBrokerIpAddress
Definition: settings.h:364
@ Setting_VFD_21
Definition: settings.h:303
@ Setting_ActionBase
Definition: settings.h:470
@ Setting_ControlInvertMask
Definition: settings.h:61
@ Setting_TelnetPort
Definition: settings.h:171
@ Setting_SpindleEnable5
Definition: settings.h:350
@ Setting_EnableToolPersistence
Definition: settings.h:315
@ Setting_SteppersEnergize
Definition: settings.h:84
@ Setting_LinearSpindlePiece2
Definition: settings.h:119
@ Setting_Arc_VoltageOffset
Definition: settings.h:235
@ Setting_HardLimitsEnable
Definition: settings.h:68
@ Setting_Panel_Encoder0_Cpd
Definition: settings.h:388
@ Setting_CoolantOffset
Definition: settings.h:256
@ Setting_MacroPort8
Definition: settings.h:342
@ Setting_NGCDebugOut
Definition: settings.h:369
@ Setting_BlueToothInitOK
Definition: settings.h:251
@ Setting_DualAxisLengthFailPercent
Definition: settings.h:219
@ Setting_NetMask3
Definition: settings.h:192
void settings_restore(settings_restore_t restore_flags)
Definition: settings.c:2286
#define AXIS_SETTINGS_INCREMENT
Definition: settings.h:35
limit_signals_t settings_get_homing_source(void)
uint32_t setting_get_int_value(const setting_detail_t *setting, uint_fast16_t offset)
Definition: settings.c:1891
float setting_get_float_value(const setting_detail_t *setting, uint_fast16_t offset)
Definition: settings.c:1947
void settings_write_startup_line(uint8_t idx, char *line)
Definition: settings.c:2122
bool settings_is_group_available(setting_group_t group)
Definition: settings.c:2363
const settings_restore_t settings_all
Definition: settings.c:47
setting_group_t settings_normalize_group(setting_group_t group)
Definition: settings.c:2418
void(* settings_changed_ptr)(settings_t *settings, settings_changed_flags_t changed)
Pointer to callback function to be called when settings are loaded or changed.
Definition: settings.h:1001
struct setting_group_detail setting_group_detail_t
bool settings_read_build_info(char *line)
Definition: settings.c:2110
void(* driver_settings_load_ptr)(void)
Definition: settings.h:1003
setting_group_t
Definition: settings.h:840
@ Group_Probing
12
Definition: settings.h:853
@ Group_Panel
40
Definition: settings.h:881
@ Group_General
1
Definition: settings.h:842
@ Group_All
0
Definition: settings.h:905
@ Group_Root
0
Definition: settings.h:841
@ Group_Stepper
35
Definition: settings.h:876
@ Group_UserSettings
34
Definition: settings.h:875
@ Group_ControlSignals
2
Definition: settings.h:843
@ Group_Embroidery
39
Definition: settings.h:880
@ Group_SafetyDoor
13
Definition: settings.h:854
@ Group_Spindle_ClosedLoop
8
Definition: settings.h:849
@ Group_VFD
37
Definition: settings.h:878
@ Group_Encoder4
33
Definition: settings.h:874
@ Group_ModBusUnit2
22
Definition: settings.h:863
@ Group_Encoder3
32
Definition: settings.h:873
@ Group_Encoder0
29
Definition: settings.h:870
@ Group_Plasma
10
Definition: settings.h:851
@ Group_Axis
42
Definition: settings.h:883
@ Group_Networking_Wifi
16
Definition: settings.h:857
@ Group_ModBusUnit1
21
Definition: settings.h:862
@ Group_Kinematics
41
Definition: settings.h:882
@ Group_Bluetooth
17
Definition: settings.h:858
@ Group_Axis0
43
Definition: settings.h:885
@ Group_ModBusUnit4
24
Definition: settings.h:865
@ Group_ModBusUnit3
23
Definition: settings.h:864
@ Group_ZAxis
46
Definition: settings.h:888
@ Group_ModBusUnit0
20
Definition: settings.h:861
@ Group_Homing
11
Definition: settings.h:852
@ Group_YAxis
45
Definition: settings.h:887
@ Group_Encoders
28
Definition: settings.h:869
@ Group_AuxPorts
18
Definition: settings.h:859
@ Group_Encoder1
30
Definition: settings.h:871
@ Group_CANbus
38
Definition: settings.h:879
@ Group_ModBusUnit6
26
Definition: settings.h:867
@ Group_Spindle_Sync
7
Definition: settings.h:848
@ Group_Limits_DualAxis
4
Definition: settings.h:845
@ Group_ModBus
19
Definition: settings.h:860
@ Group_XAxis
44
Definition: settings.h:886
@ Group_ModBusUnit5
25
Definition: settings.h:866
@ Group_Limits
3
Definition: settings.h:844
@ Group_Spindle
6
Definition: settings.h:847
@ Group_Toolchange
9
Definition: settings.h:850
@ Group_MotorDriver
36
Definition: settings.h:877
@ Group_Coolant
5
Definition: settings.h:846
@ Group_Networking
15
Definition: settings.h:856
@ Group_Encoder2
31
Definition: settings.h:872
@ Group_Jogging
14
Definition: settings.h:855
@ Group_Unknown
99
Definition: settings.h:904
@ Group_ModBusUnit7
27
Definition: settings.h:868
setting_type_t
Definition: settings.h:931
@ Setting_IsExtended
Definition: settings.h:934
@ Setting_IsExpanded
Definition: settings.h:938
@ Setting_IsExtendedFn
Definition: settings.h:935
@ Setting_IsLegacyFn
Definition: settings.h:937
@ Setting_NonCoreFn
Definition: settings.h:933
@ Setting_IsLegacy
Definition: settings.h:936
@ Setting_IsExpandedFn
Definition: settings.h:939
@ Setting_NonCore
Definition: settings.h:932
Definition: settings.h:713
float max_rate
Definition: settings.h:715
float max_travel
Definition: settings.h:717
float acceleration
Definition: settings.h:716
float dual_axis_offset
Definition: settings.h:718
float steps_per_mm
Definition: settings.h:714
Definition: settings.h:680
float fail_length_percent
Definition: settings.h:681
float fail_distance_min
Definition: settings.h:683
float fail_distance_max
Definition: settings.h:682
Definition: settings.h:686
uint16_t debounce_delay
Definition: settings.h:692
float pulloff
Definition: settings.h:689
axes_signals_t dir_mask
Definition: settings.h:690
float seek_rate
Definition: settings.h:688
float feed_rate
Definition: settings.h:687
homing_settings_flags_t flags
Definition: settings.h:693
uint8_t locate_cycles
Definition: settings.h:691
homing_dual_axis_t dual_axis
Definition: settings.h:695
Definition: settings.h:780
ioport_bus_t invert_in
Definition: settings.h:781
ioport_bus_t pullup_disable_in
Definition: settings.h:782
ioport_bus_t od_enable_out
Definition: settings.h:784
ioport_bus_t invert_out
Definition: settings.h:783
Definition: settings.h:737
axes_signals_t invert
Definition: settings.h:739
axes_signals_t disable_pullup
Definition: settings.h:740
limit_settings_flags_t flags
Definition: settings.h:738
Limit switches struct, consists of four packed axes_signals_t structs in 32 bits.
Definition: nuts_bolts.h:157
Definition: settings.h:635
float rate
Definition: settings.h:639
parking_setting_flags_t flags
Definition: settings.h:636
float pullout_rate
Definition: settings.h:640
float pullout_increment
Definition: settings.h:641
uint8_t axis
Definition: settings.h:637
float target
Definition: settings.h:638
Definition: pid.h:31
Definition: settings.h:644
pid_values_t pid
Definition: settings.h:645
Definition: settings.h:618
float coolant_on_delay
Definition: settings.h:621
float spindle_on_delay
Definition: settings.h:620
safety_door_setting_flags_t flags
Definition: settings.h:619
Definition: settings.h:974
setting_id_t id
Definition: settings.h:975
const char * description
Definition: settings.h:976
Definition: settings.h:958
setting_id_t id
Definition: settings.h:959
setting_detail_flags_t flags
Definition: settings.h:971
void * value
Definition: settings.h:968
setting_type_t type
Definition: settings.h:967
bool(* is_available)(const struct setting_detail *setting)
Definition: settings.h:970
const char * format
Definition: settings.h:964
const char * max_value
Definition: settings.h:966
const char * name
Definition: settings.h:961
setting_group_t group
Definition: settings.h:960
setting_datatype_t datatype
Definition: settings.h:963
const char * unit
Definition: settings.h:962
void * get_value
Definition: settings.h:969
const char * min_value
Definition: settings.h:965
Definition: settings.h:1008
const setting_detail_t * settings
Definition: settings.h:1012
driver_settings_load_ptr load
Definition: settings.h:1021
const uint8_t n_groups
Definition: settings.h:1009
driver_settings_iterator_ptr iterator
Definition: settings.h:1023
driver_settings_restore_ptr restore
Definition: settings.h:1022
const uint16_t n_settings
Definition: settings.h:1011
driver_settings_save_ptr save
Definition: settings.h:1020
const setting_group_detail_t * groups
Definition: settings.h:1010
const uint16_t n_descriptions
Definition: settings.h:1014
struct setting_details * next
Definition: settings.h:1018
settings_changed_ptr on_changed
Definition: settings.h:1019
const setting_descr_t * descriptions
Definition: settings.h:1015
Definition: settings.h:924
setting_group_t id
Definition: settings.h:926
bool(* is_available)(const struct setting_group_detail *group)
Definition: settings.h:928
const char * name
Definition: settings.h:927
setting_group_t parent
Definition: settings.h:925
Definition: settings.h:804
parking_settings_t parking
Definition: settings.h:834
float junction_deviation
Definition: settings.h:808
settingflags_t flags
Definition: settings.h:826
offset_lock_t offset_lock
Definition: settings.h:829
uint8_t rgb_strip1_length
Definition: settings.h:833
tool_change_settings_t tool_change
Definition: settings.h:815
float arc_tolerance
Definition: settings.h:809
spindle_settings_t spindle
Definition: settings.h:823
control_signals_t control_disable_pullup
Definition: settings.h:818
coolant_state_t coolant_invert
Definition: settings.h:819
uint8_t canbus_baud
Definition: settings.h:822
ioport_signals_t ioport
Definition: settings.h:837
reportmask_t status_report
Definition: settings.h:825
position_pid_t position
Definition: settings.h:836
limit_settings_t limits
Definition: settings.h:832
uint8_t rgb_strip0_length
Definition: settings.h:828
axes_signals_t home_invert
Definition: settings.h:820
float timezone
Definition: settings.h:811
float g73_retract
Definition: settings.h:810
uint8_t modbus_baud
Definition: settings.h:821
safety_door_settings_t safety_door
Definition: settings.h:835
uint16_t planner_buffer_blocks
Definition: settings.h:813
machine_mode_t mode
Definition: settings.h:814
control_signals_t control_invert
Definition: settings.h:817
probeflags_t probe
Definition: settings.h:827
uint32_t version
Definition: settings.h:806
stepper_settings_t steppers
Definition: settings.h:824
homing_settings_t homing
Definition: settings.h:831
fs_options_t fs_options
Definition: settings.h:830
uint16_t report_interval
Definition: settings.h:812
Definition: spindle_control.h:210
Definition: settings.h:698
axes_signals_t dir_invert
Definition: settings.h:700
uint16_t idle_lock_time
Definition: settings.h:710
float pulse_delay_microseconds
Definition: settings.h:709
axes_signals_t energize
Definition: settings.h:703
axes_signals_t ganged_dir_invert
Definition: settings.h:701
axes_signals_t step_invert
Definition: settings.h:699
float pulse_microseconds
Definition: settings.h:708
axes_signals_t enable_invert
Definition: settings.h:702
Definition: settings.h:795
float seek_rate
Definition: settings.h:797
float probing_distance
Definition: settings.h:799
float feed_rate
Definition: settings.h:796
toolchange_mode_t mode
Definition: settings.h:800
float pulloff_rate
Definition: settings.h:798
machine_mode_t
Definition: system.h:87
Definition: nuts_bolts.h:130
Definition: system.h:123
Definition: coolant_control.h:26
Definition: settings.h:744
uint8_t sd_mount_on_boot
Definition: settings.h:748
uint8_t value
Definition: settings.h:745
uint8_t mask
Definition: settings.h:746
uint8_t lfs_hidden
Definition: settings.h:749
uint8_t unused
Definition: settings.h:750
Definition: settings.h:664
uint16_t override_locks
Definition: settings.h:673
uint16_t single_axis_commands
Definition: settings.h:668
uint16_t force_set_origin
Definition: settings.h:670
uint16_t init_lock
Definition: settings.h:669
uint16_t keep_on_reset
Definition: settings.h:674
uint16_t unused
Definition: settings.h:676
uint16_t use_limit_switches
Definition: settings.h:675
uint16_t manual
Definition: settings.h:672
uint16_t value
Definition: settings.h:665
uint16_t two_switches
Definition: settings.h:671
uint16_t enabled
Definition: settings.h:667
Definition: settings.h:648
uint8_t enabled
Definition: settings.h:651
uint8_t override_locks
Definition: settings.h:656
uint8_t keep_on_reset
Definition: settings.h:657
uint8_t manual
Definition: settings.h:655
uint8_t value
Definition: settings.h:649
uint8_t single_axis_commands
Definition: settings.h:652
uint8_t use_limit_switches
Definition: settings.h:658
uint8_t init_lock
Definition: settings.h:653
uint8_t force_set_origin
Definition: settings.h:654
Definition: settings.h:765
uint8_t bit1
Definition: settings.h:770
uint8_t bit7
Definition: settings.h:776
uint8_t bit6
Definition: settings.h:775
uint8_t bit0
Definition: settings.h:769
uint8_t bit5
Definition: settings.h:774
uint8_t value
Definition: settings.h:766
uint8_t mask
Definition: settings.h:767
uint8_t bit2
Definition: settings.h:771
uint8_t bit3
Definition: settings.h:772
uint8_t bit4
Definition: settings.h:773
Definition: settings.h:724
uint8_t check_at_init
Definition: settings.h:729
uint8_t unassigned
Definition: settings.h:733
uint8_t value
Definition: settings.h:725
uint8_t jog_soft_limited
Definition: settings.h:730
uint8_t two_switches
Definition: settings.h:731
uint8_t soft_enabled
Definition: settings.h:728
uint8_t hard_enabled
Definition: settings.h:727
uint8_t hard_disabled_rotary
Definition: settings.h:732
Definition: settings.h:754
uint8_t g59_1
Definition: settings.h:758
uint8_t g59_3
Definition: settings.h:760
uint8_t value
Definition: settings.h:755
uint8_t mask
Definition: settings.h:756
uint8_t encoder_spindle
Definition: settings.h:761
uint8_t g59_2
Definition: settings.h:759
Definition: settings.h:624
uint8_t enabled
Definition: settings.h:627
uint8_t unassigned
Definition: settings.h:630
uint8_t value
Definition: settings.h:625
uint8_t enable_override_control
Definition: settings.h:629
uint8_t offset_lock
Definition: settings.h:631
uint8_t deactivate_upon_init
Definition: settings.h:628
Definition: settings.h:576
uint8_t disable_probe_pullup
Definition: settings.h:580
uint8_t unassigned
Definition: settings.h:585
uint8_t disable_connected_pullup
Definition: settings.h:582
uint8_t invert_probe_pin
Definition: settings.h:579
uint8_t value
Definition: settings.h:577
uint8_t allow_feed_override
Definition: settings.h:583
uint8_t invert_connected_pin
Definition: settings.h:581
uint8_t enable_protection
Definition: settings.h:584
Definition: settings.h:589
uint16_t when_homing
Definition: settings.h:604
uint16_t buffer_state
Definition: settings.h:593
uint16_t unassigned
Definition: settings.h:605
uint16_t parser_state
Definition: settings.h:601
uint16_t alarm_substate
Definition: settings.h:602
uint16_t mask
Definition: settings.h:590
uint16_t sync_on_wco_change
Definition: settings.h:600
uint16_t overrides
Definition: settings.h:598
uint16_t line_numbers
Definition: settings.h:594
uint16_t probe_coordinates
Definition: settings.h:599
uint16_t feed_speed
Definition: settings.h:595
uint16_t machine_position
Definition: settings.h:592
uint16_t run_substate
Definition: settings.h:603
uint16_t work_coord_offset
Definition: settings.h:597
uint16_t pin_state
Definition: settings.h:596
Definition: settings.h:609
uint8_t keep_coolant_on
Definition: settings.h:613
uint8_t unassigned
Definition: settings.h:614
uint8_t value
Definition: settings.h:610
uint8_t ignore_when_idle
Definition: settings.h:612
Definition: settings.h:947
uint8_t value
Definition: settings.h:948
uint8_t increment
Definition: settings.h:953
uint8_t allow_null
Definition: settings.h:951
uint8_t reboot_required
Definition: settings.h:950
uint8_t subgroups
Definition: settings.h:952
uint8_t unused
Definition: settings.h:954
Definition: settings.h:942
float fvalue
Definition: settings.h:944
uint32_t ivalue
Definition: settings.h:943
Definition: settings.h:557
uint16_t disable_laser_during_hold
Definition: settings.h:564
uint16_t restore_overrides
Definition: settings.h:561
uint16_t g92_is_volatile
Definition: settings.h:569
uint16_t no_unlock_after_estop
Definition: settings.h:572
uint16_t sleep_enable
Definition: settings.h:563
uint16_t no_restore_position_after_M6
Definition: settings.h:571
uint16_t report_inches
Definition: settings.h:560
uint16_t legacy_rt_commands
Definition: settings.h:566
uint16_t value
Definition: settings.h:558
uint16_t restore_after_feed_hold
Definition: settings.h:567
uint16_t force_initialization_alarm
Definition: settings.h:565
uint16_t dst_active
Definition: settings.h:562
uint16_t ngc_debug_out
Definition: settings.h:568
uint16_t compatibility_level
Definition: settings.h:570
Definition: settings.h:979
uint8_t spindle
Definition: settings.h:982
uint8_t unassigned
Definition: settings.h:983
uint8_t value
Definition: settings.h:980
Definition: settings.h:540
uint8_t unassigned
Definition: settings.h:548
uint8_t build_info
Definition: settings.h:546
uint8_t driver_parameters
Definition: settings.h:547
uint8_t startup_lines
Definition: settings.h:545
uint8_t parameters
Definition: settings.h:544
uint8_t mask
Definition: settings.h:541
uint8_t defaults
Definition: settings.h:543