158 lines
5.1 KiB
Plaintext
158 lines
5.1 KiB
Plaintext
|
|
Syntax rules for configuration files in order to be used with the graphical
|
|
configuration utility.
|
|
|
|
|
|
Variable Names - both board and printer files
|
|
---------------------------------------------
|
|
|
|
Every #define variable used in the configuration must appear in the file.
|
|
If the variable is being given a value, it must appear normally i.e.
|
|
|
|
#define NAME value
|
|
|
|
or
|
|
|
|
#define NAME
|
|
|
|
If a variable is NOT to be defined, then it must be included in a single line
|
|
comment:
|
|
|
|
//#define NAME
|
|
|
|
It is immaterial if the name as a comment has a value. This line just marks
|
|
place where the variable will be inserted if it is defined. Although there
|
|
may be arbitrary spaces before and after the "//", no other intervening
|
|
characters may be placed on this line.
|
|
|
|
The above is based on the variable NAME, not on value. For example, for
|
|
acceleration there are three different and mutually exclusive variable names:
|
|
|
|
//#define ACCELERATION_REPRAP
|
|
#define ACCELERATION_RAMPING
|
|
//#define ACCELERATION_TEMPORAL
|
|
|
|
All of these names MUST appear in the header file (with at most one of them
|
|
un-commented out).
|
|
|
|
However, the variable KINEMATICS only has a finite set of values and would
|
|
seem to be a similar field, but there is only one variable name: KINEMATICS
|
|
- so it should only appear once.
|
|
|
|
This is ok:
|
|
|
|
//#define KINEMATICS KINEMATICS_STRAIGHT
|
|
|
|
as is this:
|
|
|
|
#define KINEMATICS KINEMATICS_STRAIGHT
|
|
|
|
but this is not:
|
|
|
|
#define KINEMATICS KINEMATICS_STRAIGHT
|
|
//#define KINEMATICS KINEMATICS_COREXY
|
|
|
|
|
|
Help Text - both board and printer files
|
|
----------------------------------------
|
|
|
|
The help text that is displayed on the GUI comes directly from the
|
|
configuration file itself. In order to be parsed correctly, help text must
|
|
be formatted as follows:
|
|
|
|
The start of a help text block is as follows:
|
|
|
|
/** \def NAME1 NAME2 NAME2 NAME4 ...
|
|
|
|
All subsequent lines are copied exactly as entered into the help text until
|
|
the end delimiter is reached. The end delimiter is a line that starts with '*/'.
|
|
|
|
The names are the actual #define variable names and are used to associate the
|
|
help text with a specific field. Note that it is possible to specify multiple
|
|
names on the start line. This allows identical help text for similar or related
|
|
fields.
|
|
|
|
|
|
Processor Preamble - Board file
|
|
-------------------------------
|
|
|
|
The various CPU_TYPE lines define the options that the user can select from
|
|
for CPU type. These must be legal values acceptable to avr-gcc for the -MMCU
|
|
parameter. The CPU line is the currently chosen value from these options.
|
|
|
|
Example:
|
|
|
|
//#define CPU_TYPE atmega1280
|
|
//#define CPU_TYPE atmega2560
|
|
#define CPU atmega2560
|
|
|
|
There can be multiple F_CPU_OPT lines specifying the various CPU clock values.
|
|
The final F_CPU line shows the currently chose value from the options.
|
|
|
|
Example:
|
|
|
|
//#define F_CPU_OPT 16000000UL
|
|
#define F_CPU 16000000UL
|
|
|
|
|
|
Temperature Sensor Considerations - Board file
|
|
----------------------------------------------
|
|
|
|
The board configuration file has a section that includes the definition of
|
|
temperature sensors. Because the number of temperature sensors may grow or
|
|
shrink, or might even be 0, the utility needs to know where to place these
|
|
definitions. For this reason, delimiters are used to mark the beginning
|
|
and end of this section:
|
|
|
|
//DEFINE_TEMP_SENSORS_START
|
|
DEFINE_TEMP_SENSOR(extruder, TT_THERMISTOR, AIO13, THERMISTOR_EXTRUDER)
|
|
DEFINE_TEMP_SENSOR(bed, TT_THERMISTOR, AIO14, THERMISTOR_BED)
|
|
//DEFINE_TEMP_SENSORS_END
|
|
|
|
If the START/END delimiters are not found in the file, then the temperature
|
|
sensor definitions will not be generated and the original contents of the
|
|
file will be retained.
|
|
|
|
In addition to this, it is possible to limit the number of pins that are
|
|
available to the user to use for thermistors. To do this, enter as many
|
|
lines of the following form as are needed. Note that these lines are
|
|
commented out. If no such lines are defined, then ALL pin names will be
|
|
allowed.
|
|
|
|
//#define THERMISTOR_PIN AIO13
|
|
//#define THERMISTOR_PIN AIO14
|
|
//#define THERMISTOR_PIN AIO15
|
|
|
|
|
|
Heater Considerations - Board file
|
|
----------------------------------
|
|
|
|
The board configuration file has a section that includes the definition of
|
|
heaters. Because the number of heaters may grow or shrink, or might even be 0,
|
|
the utility needs to know where to place these definitions. For this reason,
|
|
delimiters are used to mark the beginning and end of this section:
|
|
|
|
//DEFINE_HEATERS_START
|
|
DEFINE_HEATER(extruder, DIO10, 1)
|
|
DEFINE_HEATER(bed, DIO8, 1)
|
|
|
|
#define HEATER_EXTRUDER HEATER_extruder
|
|
#define HEATER_BED HEATER_bed
|
|
//DEFINE_HEATERS_END
|
|
|
|
Note that these delimiters also enclose the defines for the heater names. This
|
|
is different than in the sensor case where these definitions are not necessary.
|
|
|
|
If the START/END delimiters are not found in the file, then the temperature
|
|
sensor definitions will not be generated and the original contents of the
|
|
file will be retained.
|
|
|
|
In addition to this, it is possible to limit the number of pins that are
|
|
available to the user to use for heaters. To do this, enter as many lines of
|
|
the following form as are needed. Note that these lines are commented out.
|
|
If no such lines are defined, then ALL pin names will be allowed.
|
|
|
|
//#define HEATER_PIN DIO10
|
|
//#define HEATER_PIN DIO8
|
|
//#define HEATER_PIN DIO5
|