22:toc:
33
44[[cha:ini-configuration]]
5- = INI Configuration(((INI Configuration)))
5+ = INI Configuration
6+
7+ (((INI Configuration)))
68
79// Custom lang highlight
810// must come after the doc title, to work around a bug in asciidoc 8.6.6
911:ini: {basebackend@docbook:'':ini}
1012:hal: {basebackend@docbook:'':hal}
1113:ngc: {basebackend@docbook:'':ngc}
1214
13- == The INI File Components(((INI File,Components)))
15+ == The INI File Components
1416
17+ (((INI File,Components)))
1518A typical INI file follows a rather simple layout that includes;
1619
1720* comments
@@ -21,8 +24,9 @@ A typical INI file follows a rather simple layout that includes;
2124Each of these elements is separated on single lines.
2225Each end of line or newline character creates a new element.
2326
24- === Comments(((INI File,Components,Comments)))
27+ === Comments
2528
29+ (((INI File,Components,Comments)))
2630A comment line is started with a ; or a # mark.
2731When the INI reader sees either of these marks at the start a line, the rest of the line is ignored by the software.
2832Comments can be used to describe what an INI element will do.
@@ -56,8 +60,9 @@ CORRECT = value
5660----
5761
5862[[sub:ini:sections]]
59- === Sections(((INI File,Components,Sections)))
63+ === Sections
6064
65+ (((INI File, Components, Sections)))
6166Related parts of an INI file are separated into sections.
6267A section name is enclosed in brackets like this: `[THIS_SECTION]`.
6368The order of sections is unimportant.
@@ -81,8 +86,9 @@ The following sections are used by LinuxCNC:
8186* <<sub:ini:sec:emcio,`[EMCIO]`>> settings used by the I/O Controller
8287
8388[[sub:ini:variables]]
84- === Variables(((INI File,Components,Variables)))
89+ === Variables
8590
91+ (((INI File, Components, Variables)))
8692A variable line is made up of a variable name, an equals sign (`=`), and a value.
8793Everything from the first non-white space character after the `=` up to the end of the line is passed as the value,
8894so you can embed spaces in string symbols if you want to or need to.
@@ -121,8 +127,9 @@ The following sections detail each section of the configuration file, using samp
121127Variables that are used by LinuxCNC must always use the section names and variable names as shown.
122128
123129[[sub:ini:custom]]
124- === Custom Sections and Variables(((INI File,Components,Custom sections and variables)))
130+ === Custom Sections and Variables
125131
132+ (((INI File, Components, Custom sections and variables)))
126133Most sample configurations use custom sections and variables to put all of the settings into one location for convenience.
127134
128135To add a custom variable to an existing LinuxCNC section, simply include the variable in that section.
@@ -173,8 +180,9 @@ G10 L20 P0 Z#<_ini[probe]z_offset>
173180----
174181
175182[[sub:ini:include]]
176- === Include Files(((INI File,Components,Include)))
183+ === Include Files
177184
185+ (((INI File, Components,Include)))
178186An INI file may include the contents of another file by using a #INCLUDE directive.
179187
180188.#INCLUDE Format
@@ -207,11 +215,14 @@ The recommended file extension is '.inc'.
207215Do _not_ use a file extension of '.ini' for included files.
208216
209217[[sec:ini:sections]]
210- == INI File Sections(((INI File,Sections)))
218+ == INI File Sections
219+
220+ (((INI File, Sections)))
211221
212222[[sub:ini:sec:emc]]
213- === [EMC] Section(((INI File,Sections,[EMC] Section)))
223+ === [EMC] Section
214224
225+ (((INI File, Sections, [EMC] Section)))
215226* `VERSION = 1.1` - The version number for the configuration.
216227 Any value other than 1.1 will cause the configuration checker to run and try to update the configuration to the new style joint axes type of configuration.
217228* `MACHINE = My Controller` - This is the name of the controller, which is printed out at the top of most graphical interfaces.
@@ -220,8 +231,9 @@ Do _not_ use a file extension of '.ini' for included files.
220231 Debug flags are usually only useful to developers. See src/emc/nml_intf/debugflags.h for other settings.
221232
222233[[sub:ini:sec:display]]
223- === [DISPLAY] Section(((INI File,Sections,[DISPLAY] Section)))
234+ === [DISPLAY] Section
224235
236+ (((INI File, Sections, [DISPLAY] Section)))
225237Different user interface programs use different options, and not every option is supported by every user interface.
226238There are several interfaces, like AXIS, GMOCCAPY, Touchy, QtVCP's QtDragon and Gscreen.
227239AXIS is an interface for use with normal computer and monitor, Touchy is for use with touch screens.
@@ -386,8 +398,9 @@ The following `[DISPLAY]` item is used by the TKLinuxCNC interface only.
386398* `HELP_FILE = tklinucnc.txt` - Path to help file.
387399
388400[[sub:ini:sec:filter]]
389- === [FILTER] Section(((INI File,Sections,[FILTER] Section)))
401+ === [FILTER] Section
390402
403+ (((INI File, Sections, [FILTER] Section)))
391404AXIS and GMOCCAPY have the ability to send loaded files through a filter program.
392405This filter can do any desired task: Something as simple as making sure the file ends with M2,
393406or something as complicated as detecting whether the input is a depth image, and generating G-code to mill the shape it defines.
@@ -484,8 +497,9 @@ if __name__ == "__main__":
484497 This feature should be used by any filter that runs for a long time.
485498
486499[[sub:ini:sec:rs274ngc]]
487- === [RS274NGC] Section(((INI File,Sections,[RS274NGC] Section)))
500+ === [RS274NGC] Section
488501
502+ (((INI File, Sections, [RS274NGC] Section)))
489503* `PARAMETER_FILE = myfile.var` - (((PARAMETER FILE)))
490504 The file located in the same directory as the INI file which contains the parameters used by the interpreter (saved between runs).
491505* `ORIENT_OFFSET = 0` - (((ORIENT OFFSET)))
@@ -571,8 +585,9 @@ FEATURES & 0x20 -> OWORD_WARNONLY
571585 See <<cha:remap,Remap Extending G-code>> chapter for details.
572586
573587[[sub:ini:sec:emcmot]]
574- === [EMCMOT] Section(((INI File,Sections,[EMCMOT] Section)))
588+ === [EMCMOT] Section
575589
590+ (((INI File,Sections,[EMCMOT] Section)))
576591This section is a custom section and is not used by LinuxCNC directly.
577592Most configurations use values from this section to load the motion controller.
578593For more information on the motion controller see the <<sec:motion,Motion>> section.
@@ -588,8 +603,9 @@ For more information on the motion controller see the <<sec:motion,Motion>> sect
588603 The setting may be overridden from the command line using the -m option ($ linuxcnc -h).
589604
590605[[sub:ini:sec:task]]
591- === [TASK] Section(((INI File,Sections,[TASK] Section)))
606+ === [TASK] Section
592607
608+ (((INI File, Sections, [TASK] Section)))
593609* `TASK = milltask` -
594610 Specifies the name of the 'task' executable.
595611 The 'task' executable does various things, such as
@@ -603,8 +619,9 @@ For more information on the motion controller see the <<sec:motion,Motion>> sect
603619 There is usually no need to change this number.
604620
605621[[sub:ini:sec:hal]]
606- === [HAL] section(((INI File,Sections,[HAL] Section)))
622+ === [HAL] section
607623
624+ (((INI File, Sections, [HAL] Section)))
608625* `HALFILE = example.hal` - Execute the file 'example.hal' at start up.
609626+
610627--
@@ -678,14 +695,16 @@ For more information see the <<cha:hal-twopass,HAL TWOPASS>> chapter.
678695 For more information see the <<cha:hal-user-interface,HAL User Interface>> chapter.
679696
680697[[sub:ini:sec:halui]]
681- === [HALUI] section(((INI File,Sections,[HALUI] Section)))
698+ === [HALUI] section
682699
700+ (((INI File, Sections, [HALUI] Section)))
683701* `MDI_COMMAND = G53 G0 X0 Y0 Z0` -
684702 An MDI command can be executed by using `halui.mdi-command-00`. Increment the number for each command listed in the [HALUI] section.
685703
686704[[sub:ini:sec:applications]]
687- === [APPLICATIONS] Section(((INI File,Sections,[APPLICATIONS] Section)))
705+ === [APPLICATIONS] Section
688706
707+ (((INI File, Sections, [APPLICATIONS] Section)))
689708LinuxCNC can start other applications before the specified GUI is started.
690709The applications can be started after a specified delay to allow for GUI-dependent actions (like creating GUI-specific HAL pins).
691710
@@ -724,7 +743,9 @@ APP = halscope -i my.halscope
724743----
725744
726745[[sub:ini:sec:traj]]
727- === [TRAJ] Section(((INI File,Sections,[TRAJ] Section)))
746+ === [TRAJ] Section
747+
748+ (((INI File, Sections, [TRAJ] Section)))
728749
729750[WARNING]
730751====
@@ -869,8 +890,9 @@ LinuxCNC will not know your joint travel limits when using `NO_FORCE_HOMING = 1`
869890
870891
871892[[sub:ini:sec:kins]]
872- === [KINS] Section(((INI File,Sections,KINS Section)))
893+ === [KINS] Section
873894
895+ (((INI File, Sections, KINS Section)))
874896* `JOINTS = 3` - Specifies the number of joints (motors) in the system.
875897 For example, a trivkins XYZ machine with a single motor for each axis has 3 joints.
876898 A gantry machine with one motor on each of two of the axes, and two motors on the third axis, has 4 joints.
@@ -880,8 +902,9 @@ LinuxCNC will not know your joint travel limits when using `NO_FORCE_HOMING = 1`
880902 For more information on kinematics modules see the manpage: `$ man kins`.
881903
882904[[sub:ini:sec:axis-letter]]
883- === [AXIS_<letter>] Section(((INI File,Sections,[AXIS_<letter>] Sections)))
905+ === [AXIS_<letter>] Section
884906
907+ (((INI File, Sections, [AXIS_<letter>] Sections)))
885908The _<letter>_ specifies one of: X Y Z A B C U V W
886909
887910* `TYPE = LINEAR` - The type of this axis, either `LINEAR` or `ANGULAR`.
@@ -929,8 +952,9 @@ axis.<letter>.eoffset-scale
929952See the chapter: <<cha:external-offsets,'External Axis Offsets'>> for usage information.
930953
931954[[sub:ini:sec:joint-num]]
932- === [JOINT_<num>] Sections(((INI File,Sections,[JOINT_<num>] Sections)))
955+ === [JOINT_<num>] Sections
933956
957+ (((INI File,Sections,[JOINT_<num>] Sections)))
934958The _<num>_ specifies the joint number 0 ... (num_joints-1)
935959The value of 'num_joints' is set by `[KINS]JOINTS=`.
936960
@@ -1296,8 +1320,9 @@ image::images/encoder-scale.png[align="center"]
12961320 Subsequent testing has shown that use of `STEPGEN_MAXVEL` does not improve the tuning of StepGen's position loop.
12971321
12981322[[sub:ini:sec:spindle-num]]
1299- === [SPINDLE_<num>] Section(s)(((INI File,Sections,[SPINDLE_<num>] Section(s))))
1323+ === [SPINDLE_<num>] Section(s)
13001324
1325+ (((INI File, Sections, [SPINDLE_<num>] Section(s))))
13011326The _<num>_ specifies the spindle number 0 ... (num_spindles-1) +
13021327The value of _num_spindles_ is set by `[TRAJ]SPINDLES=` . +
13031328By default maximum velocity of the spindle in forward and reverse is approximately 2147483000 RPM. +
@@ -1338,8 +1363,9 @@ Control screens can limit these settings further.
13381363 Set the `HOME_SEARCH_VELOCITY` to zero to avoid spindle rotation during the homing sequence.
13391364
13401365[[sub:ini:sec:emcio]]
1341- === [EMCIO] Section(((INI File,Sections,[EMCIO] Section)))
1366+ === [EMCIO] Section
13421367
1368+ (((INI File, Sections, [EMCIO] Section)))
13431369* `EMCIO = io` - Name of IO controller program.
13441370* `CYCLE_TIME = 0.100` - The period, in seconds, at which EMCIO will run.
13451371 Making it 0.0 or a negative number will tell EMCIO not to sleep at all.
0 commit comments