(sec:linuxcnc_configuration)= # LinuxCNC Configuration As noted in {numref}`sec:linuxcnc_intro_config`, a LinuxCNC configuration comprises several files, requiring at least one INI file and one {{HAL}} file. The following sections detail the configuration of both file types, using the `citic_gantry_robot` configuration as an example. (sec:linuxcnc_configuration_ini)= ## INI Configuration ### .ini Configuration File Format An `.ini` file is a plain text file used for configuring applications and programs. It has a simple structure consisting of sections and key-value pairs. The basic syntax of an `.ini` file is as follows: - **Sections**: Sections serve to organize keys and values. Each section begins with its name enclosed in square brackets, followed by zero or more key-value pairs belonging to that section. The syntax for a section is: ```ini [section_name] ``` - **Keys and Values**: Within each section, keys and their corresponding values can be defined. Keys are identifiers used to access associated values. The syntax for a key-value pair is: ```ini key = value ``` Keys can contain letters and underscores (`_`). Values can be text strings, integers, or floating-point numbers. - **Comments**: Comments begin with a semicolon (`;`) or a hash symbol (`#`). For example: ```ini ; This is a comment # This is also a comment ``` (sec:linuxcnc_configuration_ini_file)= ### `citic_gantry_robot.ini` Configuration File Below are the different sections of the `citic_gantry_robot.ini` configuration file, with comments explaining the purpose of each parameter. :::{note} Not all available parameters are specified in some sections. For a complete list of parameters and their documentation, consult the LinuxCNC user manual {cite}`linuxcncdoc`. ::: :::{note} Some parameters in INI files are used directly by LinuxCNC, but others are custom parameters added to be used in HAL files, as explained in {numref}`sec:linuxcnc_configuration_hal_format`. Parameters from the INI file can be accessed in HAL files using the syntax `[
]