Refactor config.h to allow defaults for chips/boards with different pin mappings
This commit is contained in:
parent
689bc6d471
commit
72ef50b17d
73
config.h
73
config.h
@ -30,69 +30,18 @@
|
|||||||
// Serial baud rate
|
// Serial baud rate
|
||||||
#define BAUD_RATE 9600
|
#define BAUD_RATE 9600
|
||||||
|
|
||||||
// Define pin-assignments
|
// Pin mappings, pick one and comment others
|
||||||
// NOTE: All step bit and direction pins must be on the same port.
|
#define DEFAULT_328P
|
||||||
#define STEPPING_DDR DDRD
|
//#define DEFAULT_2560
|
||||||
#define STEPPING_PORT PORTD
|
//#define CUSTOM_PINS
|
||||||
#define X_STEP_BIT 2 // Uno Digital Pin 2
|
|
||||||
#define Y_STEP_BIT 3 // Uno Digital Pin 3
|
|
||||||
#define Z_STEP_BIT 4 // Uno Digital Pin 4
|
|
||||||
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
|
|
||||||
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
|
|
||||||
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
|
|
||||||
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
|
|
||||||
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
|
|
||||||
#define STEPPING_MASK (STEP_MASK | DIRECTION_MASK) // All stepping-related bits (step/direction)
|
|
||||||
|
|
||||||
#define STEPPERS_DISABLE_DDR DDRB
|
if defined(DEFAULT_328P)
|
||||||
#define STEPPERS_DISABLE_PORT PORTB
|
#include config_default_328p.h
|
||||||
#define STEPPERS_DISABLE_BIT 0 // Uno Digital Pin 8
|
elif defined(DEFAULT_2560)
|
||||||
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)
|
#include config_default_2560.h
|
||||||
|
elif defined(CUSTOM_PINS)
|
||||||
// NOTE: All limit bit pins must be on the same port
|
#include config_custom.h // Create from the closest pre-existing config_default_*.h
|
||||||
#define LIMIT_DDR DDRB
|
#endif
|
||||||
#define LIMIT_PIN PINB
|
|
||||||
#define LIMIT_PORT PORTB
|
|
||||||
#define X_LIMIT_BIT 1 // Uno Digital Pin 9
|
|
||||||
#define Y_LIMIT_BIT 2 // Uno Digital Pin 10
|
|
||||||
#define Z_LIMIT_BIT 3 // Uno Digital Pin 11
|
|
||||||
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
|
|
||||||
#define LIMIT_INT_vect PCINT0_vect
|
|
||||||
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register
|
|
||||||
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
|
|
||||||
|
|
||||||
#define SPINDLE_ENABLE_DDR DDRB
|
|
||||||
#define SPINDLE_ENABLE_PORT PORTB
|
|
||||||
#define SPINDLE_ENABLE_BIT 4 // Uno Digital Pin 12
|
|
||||||
|
|
||||||
#define SPINDLE_DIRECTION_DDR DDRB
|
|
||||||
#define SPINDLE_DIRECTION_PORT PORTB
|
|
||||||
#define SPINDLE_DIRECTION_BIT 5 // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)
|
|
||||||
|
|
||||||
#define COOLANT_FLOOD_DDR DDRC
|
|
||||||
#define COOLANT_FLOOD_PORT PORTC
|
|
||||||
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
|
|
||||||
|
|
||||||
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
|
|
||||||
// a later date if flash and memory space allows.
|
|
||||||
// #define ENABLE_M7 // Mist coolant disabled by default. Uncomment to enable.
|
|
||||||
#ifdef ENABLE_M7
|
|
||||||
#define COOLANT_MIST_DDR DDRC
|
|
||||||
#define COOLANT_MIST_PORT PORTC
|
|
||||||
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// NOTE: All pinouts pins must be on the same port
|
|
||||||
#define PINOUT_DDR DDRC
|
|
||||||
#define PINOUT_PIN PINC
|
|
||||||
#define PINOUT_PORT PORTC
|
|
||||||
#define PIN_RESET 0 // Uno Analog Pin 0
|
|
||||||
#define PIN_FEED_HOLD 1 // Uno Analog Pin 1
|
|
||||||
#define PIN_CYCLE_START 2 // Uno Analog Pin 2
|
|
||||||
#define PINOUT_INT PCIE1 // Pin change interrupt enable pin
|
|
||||||
#define PINOUT_INT_vect PCINT1_vect
|
|
||||||
#define PINOUT_PCMSK PCMSK1 // Pin change interrupt register
|
|
||||||
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))
|
|
||||||
|
|
||||||
// Define runtime command special characters. These characters are 'picked-off' directly from the
|
// Define runtime command special characters. These characters are 'picked-off' directly from the
|
||||||
// serial read data stream and are not passed to the grbl line execution parser. Select characters
|
// serial read data stream and are not passed to the grbl line execution parser. Select characters
|
||||||
|
70
config_default_2560.h
Normal file
70
config_default_2560.h
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#ifndef config_default_2560_h
|
||||||
|
#define config_default_2560_h
|
||||||
|
|
||||||
|
// Define pin-assignments
|
||||||
|
// NOTE: All step bit and direction pins must be on the same port.
|
||||||
|
#define STEPPING_DDR DDRA
|
||||||
|
#define STEPPING_PORT PORTA
|
||||||
|
#define STEPPING_PIN PINA
|
||||||
|
#define X_STEP_BIT 0 // MEGA2560 Digital Pin 22
|
||||||
|
#define Y_STEP_BIT 2 // MEGA2560 Digital Pin 24
|
||||||
|
#define Z_STEP_BIT 4 // MEGA2560 Digital Pin 26
|
||||||
|
#define C_STEP_BIT 6 // MEGA2560 Digital Pin 28
|
||||||
|
#define X_DIRECTION_BIT 1 // MEGA2560 Digital Pin 23
|
||||||
|
#define Y_DIRECTION_BIT 3 // MEGA2560 Digital Pin 25
|
||||||
|
#define Z_DIRECTION_BIT 5 // MEGA2560 Digital Pin 27
|
||||||
|
#define C_DIRECTION_BIT 7 // MEGA2560 Digital Pin 29
|
||||||
|
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
|
||||||
|
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
|
||||||
|
#define STEPPING_MASK (STEP_MASK | DIRECTION_MASK) // All stepping-related bits (step/direction)
|
||||||
|
|
||||||
|
#define STEPPERS_DISABLE_DDR DDRC
|
||||||
|
#define STEPPERS_DISABLE_PORT PORTC
|
||||||
|
#define STEPPERS_DISABLE_BIT 7 // MEGA2560 Digital Pin 30
|
||||||
|
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)
|
||||||
|
|
||||||
|
// NOTE: All limit bit pins must be on the same port
|
||||||
|
#define LIMIT_DDR DDRC
|
||||||
|
#define LIMIT_PORT PORTC
|
||||||
|
#define LIMIT_PIN PINC
|
||||||
|
#define X_LIMIT_BIT 6 // MEGA2560 Digital Pin 31
|
||||||
|
#define Y_LIMIT_BIT 5 // MEGA2560 Digital Pin 32
|
||||||
|
#define Z_LIMIT_BIT 4 // MEGA2560 Digital Pin 33
|
||||||
|
#define C_LIMIT_BIT 3 // MEGA2560 Digital Pin 34
|
||||||
|
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
|
||||||
|
#define LIMIT_INT_vect PCINT0_vect
|
||||||
|
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register
|
||||||
|
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
|
||||||
|
|
||||||
|
#define SPINDLE_ENABLE_DDR DDRC
|
||||||
|
#define SPINDLE_ENABLE_PORT PORTC
|
||||||
|
#define SPINDLE_ENABLE_BIT 2 // MEGA2560 Digital Pin 35
|
||||||
|
|
||||||
|
#define SPINDLE_DIRECTION_DDR DDRC
|
||||||
|
#define SPINDLE_DIRECTION_PORT PORTC
|
||||||
|
#define SPINDLE_DIRECTION_BIT 1 // MEGA2560 Digital Pin 36
|
||||||
|
|
||||||
|
#define COOLANT_FLOOD_DDR DDRC
|
||||||
|
#define COOLANT_FLOOD_PORT PORTC
|
||||||
|
#define COOLANT_FLOOD_BIT 0 // MEGA2560 Digital Pin 37
|
||||||
|
|
||||||
|
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
|
||||||
|
// a later date if flash and memory space allows.
|
||||||
|
// #define ENABLE_M7 // Mist coolant disabled by default. Uncomment to enable.
|
||||||
|
#ifdef ENABLE_M7
|
||||||
|
#define COOLANT_MIST_DDR DDRC
|
||||||
|
#define COOLANT_MIST_PORT PORTC
|
||||||
|
#define COOLANT_MIST_BIT 0 // MEGA2560 Digital Pin 37
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// NOTE: All pinouts pins must be on the same port
|
||||||
|
#define PINOUT_DDR DDRC
|
||||||
|
#define PINOUT_PIN PINC
|
||||||
|
#define PINOUT_PORT PORTC
|
||||||
|
#define PIN_RESET 0 // Uno Analog Pin 0
|
||||||
|
#define PIN_FEED_HOLD 1 // Uno Analog Pin 1
|
||||||
|
#define PIN_CYCLE_START 2 // Uno Analog Pin 2
|
||||||
|
#define PINOUT_INT PCIE1 // Pin change interrupt enable pin
|
||||||
|
#define PINOUT_INT_vect PCINT1_vect
|
||||||
|
#define PINOUT_PCMSK PCMSK1 // Pin change interrupt register
|
||||||
|
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))
|
66
config_default_328p.h
Normal file
66
config_default_328p.h
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#ifndef config_default_2560_h
|
||||||
|
#define config_default_2560_h
|
||||||
|
|
||||||
|
// Define pin-assignments
|
||||||
|
// NOTE: All step bit and direction pins must be on the same port.
|
||||||
|
#define STEPPING_DDR DDRD
|
||||||
|
#define STEPPING_PORT PORTD
|
||||||
|
#define X_STEP_BIT 2 // Uno Digital Pin 2
|
||||||
|
#define Y_STEP_BIT 3 // Uno Digital Pin 3
|
||||||
|
#define Z_STEP_BIT 4 // Uno Digital Pin 4
|
||||||
|
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
|
||||||
|
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
|
||||||
|
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
|
||||||
|
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
|
||||||
|
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
|
||||||
|
#define STEPPING_MASK (STEP_MASK | DIRECTION_MASK) // All stepping-related bits (step/direction)
|
||||||
|
|
||||||
|
#define STEPPERS_DISABLE_DDR DDRB
|
||||||
|
#define STEPPERS_DISABLE_PORT PORTB
|
||||||
|
#define STEPPERS_DISABLE_BIT 0 // Uno Digital Pin 8
|
||||||
|
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)
|
||||||
|
|
||||||
|
// NOTE: All limit bit pins must be on the same port
|
||||||
|
#define LIMIT_DDR DDRB
|
||||||
|
#define LIMIT_PIN PINB
|
||||||
|
#define LIMIT_PORT PORTB
|
||||||
|
#define X_LIMIT_BIT 1 // Uno Digital Pin 9
|
||||||
|
#define Y_LIMIT_BIT 2 // Uno Digital Pin 10
|
||||||
|
#define Z_LIMIT_BIT 3 // Uno Digital Pin 11
|
||||||
|
#define LIMIT_INT PCIE0 // Pin change interrupt enable pin
|
||||||
|
#define LIMIT_INT_vect PCINT0_vect
|
||||||
|
#define LIMIT_PCMSK PCMSK0 // Pin change interrupt register
|
||||||
|
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits
|
||||||
|
|
||||||
|
#define SPINDLE_ENABLE_DDR DDRB
|
||||||
|
#define SPINDLE_ENABLE_PORT PORTB
|
||||||
|
#define SPINDLE_ENABLE_BIT 4 // Uno Digital Pin 12
|
||||||
|
|
||||||
|
#define SPINDLE_DIRECTION_DDR DDRB
|
||||||
|
#define SPINDLE_DIRECTION_PORT PORTB
|
||||||
|
#define SPINDLE_DIRECTION_BIT 5 // Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)
|
||||||
|
|
||||||
|
#define COOLANT_FLOOD_DDR DDRC
|
||||||
|
#define COOLANT_FLOOD_PORT PORTC
|
||||||
|
#define COOLANT_FLOOD_BIT 3 // Uno Analog Pin 3
|
||||||
|
|
||||||
|
// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
|
||||||
|
// a later date if flash and memory space allows.
|
||||||
|
// #define ENABLE_M7 // Mist coolant disabled by default. Uncomment to enable.
|
||||||
|
#ifdef ENABLE_M7
|
||||||
|
#define COOLANT_MIST_DDR DDRC
|
||||||
|
#define COOLANT_MIST_PORT PORTC
|
||||||
|
#define COOLANT_MIST_BIT 4 // Uno Analog Pin 4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// NOTE: All pinouts pins must be on the same port
|
||||||
|
#define PINOUT_DDR DDRC
|
||||||
|
#define PINOUT_PIN PINC
|
||||||
|
#define PINOUT_PORT PORTC
|
||||||
|
#define PIN_RESET 0 // Uno Analog Pin 0
|
||||||
|
#define PIN_FEED_HOLD 1 // Uno Analog Pin 1
|
||||||
|
#define PIN_CYCLE_START 2 // Uno Analog Pin 2
|
||||||
|
#define PINOUT_INT PCIE1 // Pin change interrupt enable pin
|
||||||
|
#define PINOUT_INT_vect PCINT1_vect
|
||||||
|
#define PINOUT_PCMSK PCMSK1 // Pin change interrupt register
|
||||||
|
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))
|
Loading…
Reference in New Issue
Block a user