Skip to content

Commit

Permalink
Added settings descriptions, map file cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
terjeio committed Aug 20, 2021
1 parent 9c21095 commit db3de3a
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 75 deletions.
34 changes: 13 additions & 21 deletions cnc_boosterpack_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,18 @@
#undef EEPROM_ENABLE
#define EEPROM_ENABLE 1

#if EEPROM_ENABLE
#undef I2C_ENABLE
#define I2C_ENABLE 1
#endif

// Define step pulse output pins.
#define STEP_PINS_BASE 2 // N_AXIS number of consecutive pins are used by PIO

// Define step direction output pins.
#define X_DIRECTION_PIN 5
#define Y_DIRECTION_PIN 6
#define Z_DIRECTION_PIN 7
#define X_DIRECTION_BIT (1<<X_DIRECTION_PIN)
#define Y_DIRECTION_BIT (1<<Y_DIRECTION_PIN)
#define Z_DIRECTION_BIT (1<<Z_DIRECTION_PIN)
#define DIRECTION_MASK (X_DIRECTION_BIT|Y_DIRECTION_BIT|Z_DIRECTION_BIT)
#define DIRECTION_OUTMODE GPIO_SHIFT5

// Define stepper driver enable/disable output pin.
Expand All @@ -57,11 +58,7 @@
#define X_LIMIT_PIN 19
#define Y_LIMIT_PIN 20
#define Z_LIMIT_PIN 10
#define X_LIMIT_BIT (1<<X_LIMIT_PIN)
#define Y_LIMIT_BIT (1<<Y_LIMIT_PIN)
#define Z_LIMIT_BIT (1<<Z_LIMIT_PIN)
#define LIMIT_MASK (X_LIMIT_BIT|Y_LIMIT_BIT|Z_LIMIT_BIT)
#define LIMIT_INMODE GPIO_OE
#define LIMIT_INMODE GPIO_OE

// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_PORT GPIO_IOEXPAND
Expand All @@ -73,7 +70,6 @@
// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT GPIO_OUTPUT
#define SPINDLE_PWM_PIN 11
#define SPINDLE_PWM_BIT (1<<SPINDLE_PWM_PIN)

// Define flood and mist coolant enable output pins.
#define COOLANT_FLOOD_PORT GPIO_IOEXPAND
Expand All @@ -84,28 +80,25 @@

// Define user-control controls (cycle start, reset, feed hold) input pins.
#define RESET_PIN 12
#define RESET_BIT (1<<RESET_PIN)
#define FEED_HOLD_PIN 13
#define FEED_HOLD_BIT (1<<FEED_HOLD_PIN)
#define CYCLE_START_PIN 14
#define CYCLE_START_BIT (1<<CYCLE_START_PIN)
#ifdef ENABLE_SAFETY_DOOR_INPUT_PIN
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PIN 15
#define SAFETY_DOOR_BIT (1<<SAFETY_DOOR_PIN)
#define MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT|SAFETY_DOOR_BIT)
#else
#define MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT)
#endif
#define CONTROL_INMODE GPIO_MAP

// Define probe switch input pin.
#define PROBE_PORT GPIO_INPUT
#define PROBE_PIN 16
#define PROBE_BIT (1<<PROBE_PIN)

#if KEYPAD_ENABLE
#define KEYPAD_STROBE_PIN 17
#define KEYPAD_STROBE_BIT (1<<KEYPAD_STROBE_PIN)
#endif

#if I2C_ENABLE
#define I2C_PORT 1
#define I2C_SDA 10
#define I2C_SCL 11
#endif

#if SDCARD_ENABLE
Expand All @@ -118,7 +111,6 @@

#if MPG_MODE_ENABLE
#define MODE_SWITCH_PIN 18
#define MODE_SWITCH_BIT (1<<MODE_SWITCH_PIN)
#endif

//I2C: 26,27
Expand Down
9 changes: 6 additions & 3 deletions driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#include "grbl/limits.h"
#include "grbl/state_machine.h"
#include "grbl/motor_pins.h"
#include "grbl/pin_bits_masks.h"

#ifdef I2C_PORT
#include "i2c.h"
Expand Down Expand Up @@ -998,8 +999,6 @@ static void debounce_alarm_pool_save_gpio (alarm_id_t id, uint pin, uint level)

void pinEnableIRQ (const input_signal_t *input, pin_irq_mode_t irq_mode)
{


switch(irq_mode) {

case IRQ_Mode_Rising:
Expand Down Expand Up @@ -1368,7 +1367,11 @@ static bool driver_setup (settings_t *settings)
gpio_init(MODE_SWITCH_PIN);
#endif

#if N_AXIS > 3
IOInitDone = settings->version == 20;
#else
IOInitDone = settings->version == 19;
#endif

hal.settings_changed(settings);
hal.spindle.set_state((spindle_state_t){0}, 0.0f);
Expand Down Expand Up @@ -1413,7 +1416,7 @@ bool driver_init (void)
#endif

hal.info = "RP2040";
hal.driver_version = "210726";
hal.driver_version = "210817";
hal.driver_options = "SDK_" PICO_SDK_VERSION_STRING;
#ifdef BOARD_NAME
hal.board = BOARD_NAME;
Expand Down
25 changes: 1 addition & 24 deletions generic_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,25 +36,17 @@
#define X_DIRECTION_PIN 5
#define Y_DIRECTION_PIN 6
#define Z_DIRECTION_PIN 7
#define X_DIRECTION_BIT (1<<X_DIRECTION_PIN)
#define Y_DIRECTION_BIT (1<<Y_DIRECTION_PIN)
#define Z_DIRECTION_BIT (1<<Z_DIRECTION_PIN)
#define DIRECTION_OUTMODE GPIO_SHIFT5

// Define stepper driver enable/disable output pin.
#define STEPPERS_ENABLE_PORT GPIO_OUTPUT
#define STEPPERS_ENABLE_PIN 8
#define STEPPERS_ENABLE_BIT (1<<STEPPERS_ENABLE_PIN)
#define STEPPERS_ENABLE_MASK STEPPERS_ENABLE_BIT


// Define homing/hard limit switch input pins.
#define X_LIMIT_PIN 9
#define Y_LIMIT_PIN 10
#define Z_LIMIT_PIN 11
#define X_LIMIT_BIT (1<<X_LIMIT_PIN)
#define Y_LIMIT_BIT (1<<Y_LIMIT_PIN)
#define Z_LIMIT_BIT (1<<Z_LIMIT_PIN)
#define LIMIT_INMODE GPIO_MAP

// Define ganged axis or A axis step pulse and step direction output pins.
Expand All @@ -68,11 +60,8 @@
// Define spindle enable and spindle direction output pins.
#define SPINDLE_ENABLE_PORT GPIO_OUTPUT
#define SPINDLE_ENABLE_PIN 13
#define SPINDLE_ENABLE_BIT (1<<SPINDLE_ENABLE_PIN)
#define SPINDLE_DIRECTION_PORT GPIO_OUTPUT
#define SPINDLE_DIRECTION_PIN 14
#define SPINDLE_DIRECTION_BIT (1<<SPINDLE_DIRECTION_PIN)
#define SPINDLE_MASK (SPINDLE_ENABLE_BIT|SPINDLE_DIRECTION_BIT)

// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT GPIO_OUTPUT
Expand All @@ -82,34 +71,22 @@
// Define flood and mist coolant enable output pins.
#define COOLANT_FLOOD_PORT GPIO_OUTPUT
#define COOLANT_FLOOD_PIN 16
#define COOLANT_FLOOD_BIT (1<<COOLANT_FLOOD_PIN)
#define COOLANT_MIST_PORT GPIO_OUTPUT
#define COOLANT_MIST_PIN 17
#define COOLANT_MIST_BIT (1<<COOLANT_MIST_PIN)
#define COOLANT_MASK (COOLANT_FLOOD_BIT|COOLANT_MIST_BIT)
#define COOLANT_OUTMODE GPIO_MAP

// Define user-control controls (cycle start, reset, feed hold) input pins.
#define RESET_PIN 18
#define RESET_BIT (1<<RESET_PIN)
#define FEED_HOLD_PIN 19
#define FEED_HOLD_BIT (1<<FEED_HOLD_PIN)
#define CYCLE_START_PIN 20
#define CYCLE_START_BIT (1<<CYCLE_START_PIN)
#ifdef ENABLE_SAFETY_DOOR_INPUT_PIN
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PIN 21
#define SAFETY_DOOR_BIT (1<<SAFETY_DOOR_PIN)
#define CONTROL_MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT|SAFETY_DOOR_BIT)
#else
#define CONTROL_MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT)
#endif
#define CONTROL_INMODE GPIO_MAP

// Define probe switch input pin.
#define PROBE_PIN 22
#define PROBE_BIT (1<<PROBE_PIN)

#if KEYPAD_ENABLE
#define KEYPAD_STROBE_PIN 15
#define KEYPAD_STROBE_BIT (1<<KEYPAD_STROBE_PIN)
#endif
4 changes: 2 additions & 2 deletions my_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

// NOTE: Only one board may be enabled!
// If none is enabled pin mappings from generic_map.h will be used.
#define BOARD_PICO_CNC
//#define BOARD_CNC_BOOSTERPACK
//#define BOARD_PICO_CNC
#define BOARD_CNC_BOOSTERPACK
//#define BOARD_MY_MACHINE // Add my_machine_map.h before enabling this!

// Configuration
Expand Down
30 changes: 5 additions & 25 deletions pico_cnc_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,48 +107,28 @@ typedef union {
#define X_LIMIT_PIN 6
#define Y_LIMIT_PIN 5
#define Z_LIMIT_PIN 4
#define X_LIMIT_BIT (1<<X_LIMIT_PIN)
#define Y_LIMIT_BIT (1<<Y_LIMIT_PIN)
#define Z_LIMIT_BIT (1<<Z_LIMIT_PIN)
/*#if N_AXIS > 3
#define A_LIMIT_PIN 3
#define A_LIMIT_BIT (1<<A_LIMIT_PIN)
#define LIMIT_MASK (X_LIMIT_BIT|Y_LIMIT_BIT|Z_LIMIT_BIT|A_LIMIT_BIT) // All limit bits
#else
#define LIMIT_MASK (X_LIMIT_BIT|Y_LIMIT_BIT|Z_LIMIT_BIT) // All limit bits
#endif*/
#define LIMIT_INMODE GPIO_MAP

// Define spindle PWM output pin.
#define SPINDLE_PWM_PORT GPIO_OUTPUT
#define SPINDLE_PWM_PIN 27
#define SPINDLE_PWM_BIT (1<<SPINDLE_PWM_PIN)

// Define user-control controls (cycle start, reset, feed hold) input pins.
#define RESET_PIN 22
#define RESET_BIT (1<<RESET_PIN)
#define FEED_HOLD_PIN 7
#define FEED_HOLD_BIT (1<<FEED_HOLD_PIN)
#define CYCLE_START_PIN 8
#define CYCLE_START_BIT (1<<CYCLE_START_PIN)
#ifdef ENABLE_SAFETY_DOOR_INPUT_PIN
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PIN 9
#define SAFETY_DOOR_BIT (1<<SAFETY_DOOR_PIN)
#define CONTROL_MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT|SAFETY_DOOR_BIT)
#else
#define CONTROL_MASK (RESET_BIT|FEED_HOLD_BIT|CYCLE_START_BIT)
#endif
#define CONTROL_INMODE GPIO_MAP

// Define probe switch input pin.
#define PROBE_PIN 28
#define PROBE_BIT (1<<PROBE_PIN)

#define AUX_IO0_PIN 10
#define AUX_IO1_PIN 11
#define AUX_IO2_PIN 12
#define AUX_IO3_PIN 13

#define AUX_IO0_PIN 10
#define AUX_IO1_PIN 11
#define AUX_IO2_PIN 12
#define AUX_IO3_PIN 13

#if !SDCARD_ENABLE || !defined(SAFETY_DOOR_PIN)
#define HAS_IOPORTS
Expand Down

0 comments on commit db3de3a

Please sign in to comment.