- [laser] Tested a working version and pushed the wrong one for the last! 20161203 was pausing upon every spindle speed change. That’s not right. Fixed so nearly all motions are passed through and does not stop. - Minimum spindle speed override lower from 50% to 10%. Lasers could use the lower speeds. - Fixed a very minor bug related to G80 error checking. Allowed no error with non-modal motions with axis words. Not correct and fixed. - Fixed a compile error when disabling VARIABLE_SPINDLE - [doc] Updated some obsolete documentation. - [doc] Started a “Laser Mode” document that summarizes how Grbl’s new laser mode works.
105 lines
3 KiB
C
105 lines
3 KiB
C
/*
|
|
grbl.h - main Grbl include file
|
|
Part of Grbl
|
|
|
|
Copyright (c) 2015-2016 Sungeun K. Jeon for Gnea Research LLC
|
|
|
|
Grbl is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Grbl is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef grbl_h
|
|
#define grbl_h
|
|
|
|
// Grbl versioning system
|
|
#define GRBL_VERSION "1.1e"
|
|
#define GRBL_VERSION_BUILD "20161204"
|
|
|
|
// Define standard libraries used by Grbl.
|
|
#include <avr/io.h>
|
|
#include <avr/pgmspace.h>
|
|
#include <avr/interrupt.h>
|
|
#include <avr/wdt.h>
|
|
#include <util/delay.h>
|
|
#include <math.h>
|
|
#include <inttypes.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
// Define the Grbl system include files. NOTE: Do not alter organization.
|
|
#include "config.h"
|
|
#include "nuts_bolts.h"
|
|
#include "settings.h"
|
|
#include "system.h"
|
|
#include "defaults.h"
|
|
#include "cpu_map.h"
|
|
#include "planner.h"
|
|
#include "coolant_control.h"
|
|
#include "eeprom.h"
|
|
#include "gcode.h"
|
|
#include "limits.h"
|
|
#include "motion_control.h"
|
|
#include "planner.h"
|
|
#include "print.h"
|
|
#include "probe.h"
|
|
#include "protocol.h"
|
|
#include "report.h"
|
|
#include "serial.h"
|
|
#include "spindle_control.h"
|
|
#include "stepper.h"
|
|
#include "jog.h"
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
// COMPILE-TIME ERROR CHECKING OF DEFINE VALUES:
|
|
|
|
#ifndef HOMING_CYCLE_0
|
|
#error "Required HOMING_CYCLE_0 not defined."
|
|
#endif
|
|
|
|
#if defined(USE_SPINDLE_DIR_AS_ENABLE_PIN) && !defined(VARIABLE_SPINDLE)
|
|
#error "USE_SPINDLE_DIR_AS_ENABLE_PIN may only be used with VARIABLE_SPINDLE enabled"
|
|
#endif
|
|
|
|
#if defined(USE_SPINDLE_DIR_AS_ENABLE_PIN) && !defined(CPU_MAP_ATMEGA328P)
|
|
#error "USE_SPINDLE_DIR_AS_ENABLE_PIN may only be used with a 328p processor"
|
|
#endif
|
|
|
|
#if defined(PARKING_ENABLE)
|
|
#if defined(HOMING_FORCE_SET_ORIGIN)
|
|
#error "HOMING_FORCE_SET_ORIGIN is not supported with PARKING_ENABLE at this time."
|
|
#endif
|
|
#endif
|
|
|
|
#if defined(SPINDLE_MINIMUM_PWM)
|
|
#if !(SPINDLE_MINIMUM_PWM > 0)
|
|
#error "SPINDLE_MINIMUM_PWM must be greater than zero."
|
|
#endif
|
|
#endif
|
|
|
|
#if (REPORT_WCO_REFRESH_BUSY_COUNT < REPORT_WCO_REFRESH_IDLE_COUNT)
|
|
#error "WCO busy refresh is less than idle refresh."
|
|
#endif
|
|
#if (REPORT_OVR_REFRESH_BUSY_COUNT < REPORT_OVR_REFRESH_IDLE_COUNT)
|
|
#error "Override busy refresh is less than idle refresh."
|
|
#endif
|
|
#if (REPORT_WCO_REFRESH_IDLE_COUNT < 2)
|
|
#error "WCO refresh must be greater than one."
|
|
#endif
|
|
#if (REPORT_OVR_REFRESH_IDLE_COUNT < 1)
|
|
#error "Override refresh must be greater than zero."
|
|
#endif
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
#endif
|