-
Notifications
You must be signed in to change notification settings - Fork 296
Adding and Revising Configurations and Settings
This page explains how to add a new CONFIG
to the g2core project. Please read Adding and Revising Boards first if you haven't already:
- Adding and Revising Boards (please read this first)
- Adding and Revising Configurations and Settings (this page)
- Adding and Revising Motate Pinouts
- Adding Configurations to an IDE
The default settings file settings_default.h
is the "base" settings that will always get applied. The default settings sets rational values for most configurations, and disables the motors axes, extruders, and other devices. Machine-specific settings files, like settings_Printrbot_Simple1608.h
override these settings on an item-by-item basis. Any settings that are not #define
d in the machine settings file will use the value in the default file. (Note that this changed in build 098.04. Prior to that each settings file had to provide every possible setting.)
In order to make a new settings file, you can copy one that's close to the configuration you want, or you can copy just the keys from the settings_default.h
file that you wish to override.
Configurations live in boards.mk
, and are simply assigning a BOARD
and SETTINGS_FILE
based on the value of CONFIG
. Here is the complete definition for CONFIG=PrintrbotSimple1608
as an example:
ifeq ("$(CONFIG)","PrintrbotSimple1608")
ifeq ("$(BOARD)","NONE")
BOARD=printrboardG2v3
endif
SETTINGS_FILE="settings_printrbot_simple_1608.h"
endif
A few notes from that example:
- It checks for the exact value of
CONFIG
to match. - It then only sets
BOARD
if it hasn't been set. (Beforeboards.mk
is included,BOARD
is defaulted to"NONE"
.) - Then
SETTINGS_FILE
is set explicitly. We could also check to see if it has been set, but generally you use aCONFIG
to set theSETTINGS_FILE
, and wouldn't wish to override it.
One additional note: The name of the CONFIG
is used in the output path, and should be something that can be a directory name without issues. Specifically, you shouldn't use spaces, slashes, etc. that could cause trouble with shell scripts, Makefiles, or C++ code. Numbers, upper and lowercase letters, dashes (-
), dots (.
), and underscores (_
) are safe. Everything else should be avoided.
Getting Started Pages
- Home
- What is g2core?
- Who uses g2core?
- Jerk-Controlled Motion
- Getting Started with g2core
- Connecting to g2core
- Configuring g2core
- Flashing g2core
- Troubleshooting
Reference Pages
- Gcodes
- Mcodes
- Text Mode
- JSON Communications
- GPIO Digital IO
- Alarms & Exceptions
- Power Management
- Coordinate Systems
- Status Reports
- Status Codes
- G2 Communications
- Tool Offsets and Selection
- Probing
- Feedhold, Resume, Job Kill
- Marlin Compatibility
- 9 Axis UVW Operation
- gQuintic Specs
Discussion Topics
- Roadmap
- GPIO for 1.X Releases
- Toolheads
- Raster Streaming Prototol
- g2core REST Interface
- Gcode Parsing
- G2 3DP Dialect
- Consensus Gcode
- Digital DRO
- Overview of Motion Processing
Developer Pages
- Development & Contribution
- Branching and Release - DRAFT
- Getting Started with g2core Development
- Project Structure & Motate
- Compiling G2
- OSX w/Xcode
- OSX/Linux Command Line
- Windows10 w/AtmelStudio7
- Debugging G2 on OSX
- Board and Machine Profiles
- Arduino Due Pinout
- Arduino DUE External Interfaces
- Diagnostics
- Debugging w/Motate Pins
- Development Troubleshooting
- g2core Communications
- Git Procedures
- Windows 10 / VMware 8 Issues
- Dual Endpoint USB Internals
- G2core License
- VSCode Setup
- Compatibility Axioms
- Wiki History