v1.0 Beta Release.
- Tons of new stuff in this release, which is fairly stable and well tested. However, much more is coming soon! - Real-time parking motion with safety door. When this compile option is enabled, an opened safety door will cause Grbl to automatically feed hold, retract, de-energize the spindle/coolant, and parks near Z max. After the door is closed and resume is commanded, this reverses and the program continues as if nothing happened. This is also highly configurable. See config.h for details. - New spindle max and min rpm ‘$’ settings! This has been requested often. Grbl will output 5V when commanded to turn on the spindle at its max rpm, and 0.02V with min rpm. The voltage and the rpm range are linear to each other. This should help users tweak their settings to get close to true rpm’s. - If the new max rpm ‘$’ setting is set = 0 or less than min rpm, the spindle speed PWM pin will act like a regular on/off spindle enable pin. On pin D11. - BEWARE: Your old EEPROM settings will be wiped! The new spindle rpm settings require a new settings version, so Grbl will automatically wipe and restore the EEPROM with the new defaults. - Control pin can now be inverted individually with a CONTROL_INVERT_MASK in the cpu_map header file. Not typical for users to need this, but handy to have. - Fixed bug when Grbl receive too many characters in a line and overflows. Previously it would respond with an error per overflow character and another acknowledge upon an EOL character. This broke the streaming protocol. Now fixed to only respond with an error after an EOL character. - Fixed a bug with the safety door during an ALARM mode. You now can’t home or unlock the axes until the safety door has been closed. This is for safety reasons (obviously.) - Tweaked some the Mega2560 cpu_map settings . Increased segment buffer size and fixed the spindle PWM settings to output at a higher PWM frequency. - Generalized the delay function used by G4 delay for use by parking motion. Allows non-blocking status reports and real-time control during re-energizing of the spindle and coolant. - Added spindle rpm max and min defaults to default.h files. - Added a new print float for rpm values.
This commit is contained in:
@ -33,10 +33,11 @@
|
||||
#define SERIAL_UDRE USART0_UDRE_vect
|
||||
|
||||
// Increase Buffers to make use of extra SRAM
|
||||
//#define RX_BUFFER_SIZE 256
|
||||
//#define TX_BUFFER_SIZE 128
|
||||
//#define BLOCK_BUFFER_SIZE 36
|
||||
//#define LINE_BUFFER_SIZE 100
|
||||
//#define RX_BUFFER_SIZE 256
|
||||
//#define TX_BUFFER_SIZE 128
|
||||
//#define BLOCK_BUFFER_SIZE 36
|
||||
//#define LINE_BUFFER_SIZE 100
|
||||
//#define SEGMENT_BUFFER_SIZE 10
|
||||
|
||||
// Define step pulse output pins. NOTE: All step bit pins must be on the same port.
|
||||
#define STEP_DDR DDRA
|
||||
@ -107,8 +108,8 @@
|
||||
#define CONTROL_INT PCIE2 // Pin change interrupt enable pin
|
||||
#define CONTROL_INT_vect PCINT2_vect
|
||||
#define CONTROL_PCMSK PCMSK2 // Pin change interrupt register
|
||||
#define CONTROL_MASK ((1<<RESET_BIT)|(1<<FEED_HOLD_BIT)|(1<<CYCLE_START_BIT)|(1<<SAFETY_DOOR_BIT))
|
||||
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
|
||||
#define CONTROL_MASK ((1<<RESET_BIT)|(1<<FEED_HOLD_BIT)|(1<<CYCLE_START_BIT)|(1<<SAFETY_DOOR_BIT))
|
||||
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
|
||||
|
||||
// Define probe switch input pin.
|
||||
#define PROBE_DDR DDRK
|
||||
@ -121,18 +122,19 @@
|
||||
#ifdef VARIABLE_SPINDLE
|
||||
// Advanced Configuration Below You should not need to touch these variables
|
||||
// Set Timer up to use TIMER4B which is attached to Digital Pin 7
|
||||
#define PWM_MAX_VALUE 65535.0
|
||||
#define PWM_MAX_VALUE 1024.0 // Translates to about 1.9 kHz PWM frequency at 1/8 prescaler
|
||||
#define TCCRA_REGISTER TCCR4A
|
||||
#define TCCRB_REGISTER TCCR4B
|
||||
#define OCR_REGISTER OCR4B
|
||||
|
||||
#define COMB_BIT COM4B1
|
||||
#define WAVE0_REGISTER WGM40
|
||||
#define WAVE1_REGISTER WGM41
|
||||
#define WAVE2_REGISTER WGM42
|
||||
#define WAVE3_REGISTER WGM43
|
||||
#define OCR_REGISTER OCR4B
|
||||
#define COMB_BIT COM4B1
|
||||
|
||||
// 1/8 Prescaler, 16-bit Fast PWM mode
|
||||
#define TCCRA_INIT_MASK ((1<<WGM40) | (1<<WGM41))
|
||||
#define TCCRB_INIT_MASK ((1<<WGM42) | (1<<WGM43) | (1<<CS41))
|
||||
#define OCRA_REGISTER OCR4A // 16-bit Fast PWM mode requires top reset value stored here.
|
||||
#define OCRA_TOP_VALUE 0x0400 // PWM counter reset value. Should be the same as PWM_MAX_VALUE in hex.
|
||||
|
||||
#define SPINDLE_PWM_DDR DDRH
|
||||
#define SPINDLE_PWM_PORT PORTH
|
||||
#define SPINDLE_PWM_BIT 4 // MEGA2560 Digital Pin 97
|
||||
#define SPINDLE_PWM_PORT PORTH
|
||||
#define SPINDLE_PWM_BIT 4 // MEGA2560 Digital Pin 7
|
||||
#endif // End of VARIABLE_SPINDLE
|
||||
|
@ -116,8 +116,8 @@
|
||||
#define CONTROL_INT PCIE1 // Pin change interrupt enable pin
|
||||
#define CONTROL_INT_vect PCINT1_vect
|
||||
#define CONTROL_PCMSK PCMSK1 // Pin change interrupt register
|
||||
#define CONTROL_MASK ((1<<RESET_BIT)|(1<<FEED_HOLD_BIT)|(1<<CYCLE_START_BIT)|(1<<SAFETY_DOOR_BIT))
|
||||
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
|
||||
#define CONTROL_MASK ((1<<RESET_BIT)|(1<<FEED_HOLD_BIT)|(1<<CYCLE_START_BIT)|(1<<SAFETY_DOOR_BIT))
|
||||
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
|
||||
|
||||
// Define probe switch input pin.
|
||||
#define PROBE_DDR DDRC
|
||||
@ -129,16 +129,15 @@
|
||||
// Start of PWM & Stepper Enabled Spindle
|
||||
#ifdef VARIABLE_SPINDLE
|
||||
// Advanced Configuration Below You should not need to touch these variables
|
||||
#define PWM_MAX_VALUE 255.0
|
||||
#define TCCRA_REGISTER TCCR2A
|
||||
#define TCCRB_REGISTER TCCR2B
|
||||
#define OCR_REGISTER OCR2A
|
||||
#define PWM_MAX_VALUE 255.0 // Don't change. 328p fast PWM mode fixes top value as 255.
|
||||
#define TCCRA_REGISTER TCCR2A
|
||||
#define TCCRB_REGISTER TCCR2B
|
||||
#define OCR_REGISTER OCR2A
|
||||
#define COMB_BIT COM2A1
|
||||
|
||||
#define COMB_BIT COM2A1
|
||||
#define WAVE0_REGISTER WGM20
|
||||
#define WAVE1_REGISTER WGM21
|
||||
#define WAVE2_REGISTER WGM22
|
||||
#define WAVE3_REGISTER WGM23
|
||||
// 1/8 Prescaler, 8-bit Fast PWM mode. Translates to about 7.8kHz PWM frequency.
|
||||
#define TCCRA_INIT_MASK ((1<<WGM20) | (1<<WGM21))
|
||||
#define TCCRB_INIT_MASK (1<<CS21)
|
||||
|
||||
// NOTE: On the 328p, these must be the same as the SPINDLE_ENABLE settings.
|
||||
#define SPINDLE_PWM_DDR DDRB
|
||||
|
Reference in New Issue
Block a user