mirror of
https://github.com/synthetos/g2.git
synced 2026-09-22 19:43:53 +08:00
Fix compile errors for configuration gShield
This commit is contained in:
@@ -62,7 +62,7 @@ ifeq ("$(BASE_BOARD)","g2core-due")
|
||||
# Note: we call it "g2core-due" instead of "due" since the Motate built-in provides
|
||||
# a "due" BASE_BOARD.
|
||||
BOARD_PATH = ./board/ArduinoDue
|
||||
SOURCE_DIRS += ${BOARD_PATH} device/step_dir_driver
|
||||
SOURCE_DIRS += ${BOARD_PATH} device/step_dir_driver device/esc_spindle
|
||||
|
||||
PLATFORM_BASE = ${MOTATE_PATH}/platform/atmel_sam
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* hardware.cpp - general hardware support functions
|
||||
* For: /board/g2v9
|
||||
* For: /board/ArduinoDue
|
||||
* This file is part of the g2core project
|
||||
*
|
||||
* Copyright (c) 2010 - 2018 Alden S. Hart, Jr.
|
||||
@@ -38,6 +38,42 @@
|
||||
#include "MotateUniqueID.h"
|
||||
#include "MotatePower.h"
|
||||
|
||||
#include "board_gpio.h"
|
||||
|
||||
#ifndef SPINDLE_ENABLE_OUTPUT_NUMBER
|
||||
#warning SPINDLE_ENABLE_OUTPUT_NUMBER is defaulted to 4!
|
||||
#warning SPINDLE_ENABLE_OUTPUT_NUMBER should be defined in settings or a board file!
|
||||
#define SPINDLE_ENABLE_OUTPUT_NUMBER 4
|
||||
#endif
|
||||
|
||||
#ifndef SPINDLE_DIRECTION_OUTPUT_NUMBER
|
||||
#warning SPINDLE_DIRECTION_OUTPUT_NUMBER is defaulted to 5!
|
||||
#warning SPINDLE_DIRECTION_OUTPUT_NUMBER should be defined in settings or a board file!
|
||||
#define SPINDLE_DIRECTION_OUTPUT_NUMBER 5
|
||||
#endif
|
||||
|
||||
#ifndef SPINDLE_PWM_NUMBER
|
||||
#warning SPINDLE_PWM_NUMBER is defaulted to 6!
|
||||
#warning SPINDLE_PWM_NUMBER should be defined in settings or a board file!
|
||||
#define SPINDLE_PWM_NUMBER 6
|
||||
#endif
|
||||
|
||||
#include "safety_manager.h"
|
||||
|
||||
SafetyManager sm{};
|
||||
SafetyManager *safety_manager = &sm;
|
||||
|
||||
// Stub in getSysConfig_3
|
||||
// constexpr cfgItem_t sys_config_items_3[] = {};
|
||||
constexpr cfgSubtableFromStaticArray sys_config_3{};
|
||||
const configSubtable * const getSysConfig_3() { return &sys_config_3; }
|
||||
|
||||
#include "esc_spindle.h"
|
||||
ESCSpindle esc_spindle {SPINDLE_PWM_NUMBER, SPINDLE_ENABLE_OUTPUT_NUMBER, SPINDLE_DIRECTION_OUTPUT_NUMBER, SPINDLE_SPEED_CHANGE_PER_MS};
|
||||
|
||||
ToolHead *toolhead_for_tool(uint8_t tool) {
|
||||
return &esc_spindle;
|
||||
}
|
||||
|
||||
/*
|
||||
* hardware_init() - lowest level hardware init
|
||||
@@ -46,7 +82,9 @@
|
||||
void hardware_init()
|
||||
{
|
||||
board_hardware_init();
|
||||
return;
|
||||
toolhead_for_tool(0)->init();
|
||||
spindle_set_toolhead(toolhead_for_tool(0));
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -65,12 +103,12 @@ stat_t hardware_periodic()
|
||||
|
||||
void hw_hard_reset(void)
|
||||
{
|
||||
Motate::System::reset(/*boootloader: */ false); // arg=0 resets the system
|
||||
Motate::System::reset(/*bootloader: */ false); // arg=0 resets the system
|
||||
}
|
||||
|
||||
void hw_flash_loader(void)
|
||||
{
|
||||
Motate::System::reset(/*boootloader: */ true); // arg=1 erases FLASH and enters FLASH loader
|
||||
Motate::System::reset(/*bootloader: */ true); // arg=1 erases FLASH and enters FLASH loader
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -85,7 +123,7 @@ void _get_id(char *id)
|
||||
char *p = id;
|
||||
const char *uuid = Motate::UUID;
|
||||
|
||||
Motate::strncpy(p, uuid, Motate::strlen(uuid));
|
||||
Motate::strncpy(p, uuid, Motate::strlen(uuid)+1);
|
||||
}
|
||||
|
||||
/***** END OF SYSTEM FUNCTIONS *****/
|
||||
@@ -124,7 +162,7 @@ stat_t hw_get_fbc(nvObj_t *nv)
|
||||
#undef settings_file_string2
|
||||
#else
|
||||
ritorno(nv_copy_string(nv, "<default-settings>"));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return (STAT_OK);
|
||||
}
|
||||
@@ -145,12 +183,14 @@ stat_t hw_get_id(nvObj_t *nv)
|
||||
/*
|
||||
* hw_flash() - invoke FLASH loader from command input
|
||||
*/
|
||||
|
||||
stat_t hw_flash(nvObj_t *nv)
|
||||
{
|
||||
hw_flash_loader();
|
||||
return(STAT_OK);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************************
|
||||
* TEXT MODE SUPPORT
|
||||
* Functions to print variables from the cfgArray table
|
||||
|
||||
@@ -56,39 +56,39 @@
|
||||
|
||||
/**** Setup Actual Objects ****/
|
||||
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput1_PinNumber>> din1 {DI1_MODE, 1};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput2_PinNumber>> din2 {DI2_MODE, 2};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput3_PinNumber>> din3 {DI3_MODE, 3};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput4_PinNumber>> din4 {DI4_MODE, 4};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput5_PinNumber>> din5 {DI5_MODE, 5};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput6_PinNumber>> din6 {DI6_MODE, 6};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput7_PinNumber>> din7 {DI7_MODE, 7};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput8_PinNumber>> din8 {DI8_MODE, 8};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput9_PinNumber>> din9 {DI9_MODE, 9};
|
||||
// gpioDigitalInputPin<IRQPin<Motate::kInput10_PinNumber>> din10 {DI10_MODE, 10};
|
||||
// gpioDigitalInputPin<IRQPin<Motate::kInput11_PinNumber>> din11 {DI11_MODE, 11};
|
||||
// gpioDigitalInputPin<IRQPin<Motate::kInput12_PinNumber>> din12 {DI12_MODE, 12};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput1_PinNumber>> din1 {DI1_ENABLED, DI1_POLARITY, 1, DI1_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput2_PinNumber>> din2 {DI2_ENABLED, DI2_POLARITY, 2, DI2_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput3_PinNumber>> din3 {DI3_ENABLED, DI3_POLARITY, 3, DI3_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput4_PinNumber>> din4 {DI4_ENABLED, DI4_POLARITY, 4, DI4_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput5_PinNumber>> din5 {DI5_ENABLED, DI5_POLARITY, 5, DI5_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput6_PinNumber>> din6 {DI6_ENABLED, DI6_POLARITY, 6, DI6_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput7_PinNumber>> din7 {DI7_ENABLED, DI7_POLARITY, 7, DI7_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput8_PinNumber>> din8 {DI8_ENABLED, DI8_POLARITY, 8, DI8_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kInput9_PinNumber>> din9 {DI9_ENABLED, DI9_POLARITY, 9, DI9_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
gpioDigitalInputPin<IRQPin<Motate::kSocket2_SPISlaveSelectPinNumber>> din10 {DI10_ENABLED, DI10_POLARITY, 10, DI10_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
// gpioDigitalInputPin<IRQPin<Motate::kInput11_PinNumber>> din11 {DI11_ENABLED, DI11_POLARITY, 11, DI11_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
// gpioDigitalInputPin<IRQPin<Motate::kInput12_PinNumber>> din12 {DI12_ENABLED, DI12_POLARITY, 12, DI12_EXTERNAL_NUMBER, Motate::kPinInterruptOnChange|Motate::kPinInterruptPriorityHigh};
|
||||
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT1_PWM, Motate::kOutput1_PinNumber>> dout1 { DO1_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT2_PWM, Motate::kOutput2_PinNumber>> dout2 { DO2_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT3_PWM, Motate::kOutput3_PinNumber>> dout3 { DO3_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT4_PWM, Motate::kOutput4_PinNumber>> dout4 { DO4_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT5_PWM, Motate::kOutput5_PinNumber>> dout5 { DO5_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT6_PWM, Motate::kOutput6_PinNumber>> dout6 { DO6_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT7_PWM, Motate::kOutput7_PinNumber>> dout7 { DO7_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT8_PWM, Motate::kOutput8_PinNumber>> dout8 { DO8_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT9_PWM, Motate::kOutput9_PinNumber>> dout9 { DO9_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT10_PWM, Motate::kOutput10_PinNumber>> dout10 { DO10_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT11_PWM, Motate::kOutput11_PinNumber>> dout11 { DO11_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT12_PWM, Motate::kOutput12_PinNumber>> dout12 { DO12_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT13_PWM, Motate::kOutput13_PinNumber>> dout13 { DO13_MODE, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT1_PWM, Motate::kOutput1_PinNumber>> dout1 { DO1_ENABLED, DO1_POLARITY, DO1_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT2_PWM, Motate::kOutput2_PinNumber>> dout2 { DO2_ENABLED, DO2_POLARITY, DO2_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT3_PWM, Motate::kOutput3_PinNumber>> dout3 { DO3_ENABLED, DO3_POLARITY, DO3_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT4_PWM, Motate::kOutput4_PinNumber>> dout4 { DO4_ENABLED, DO4_POLARITY, DO4_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT5_PWM, Motate::kOutput5_PinNumber>> dout5 { DO5_ENABLED, DO5_POLARITY, DO5_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT6_PWM, Motate::kOutput6_PinNumber>> dout6 { DO6_ENABLED, DO6_POLARITY, DO6_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT7_PWM, Motate::kOutput7_PinNumber>> dout7 { DO7_ENABLED, DO7_POLARITY, DO7_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT8_PWM, Motate::kOutput8_PinNumber>> dout8 { DO8_ENABLED, DO8_POLARITY, DO8_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT9_PWM, Motate::kOutput9_PinNumber>> dout9 { DO9_ENABLED, DO9_POLARITY, DO9_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT10_PWM, Motate::kOutput10_PinNumber>> dout10 { DO10_ENABLED, DO10_POLARITY, DO10_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT11_PWM, Motate::kOutput11_PinNumber>> dout11 { DO11_ENABLED, DO11_POLARITY, DO11_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT12_PWM, Motate::kOutput12_PinNumber>> dout12 { DO12_ENABLED, DO12_POLARITY, DO12_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
gpioDigitalOutputPin<OutputType<OUTPUT13_PWM, Motate::kOutput13_PinNumber>> dout13 { DO13_ENABLED, DO13_POLARITY, DO13_EXTERNAL_NUMBER, (uint32_t)200000 };
|
||||
|
||||
/**** Setup Arrays - these are extern and MUST match the board_gpio.h ****/
|
||||
|
||||
gpioDigitalInput* const d_in[] = {&din1, &din2, &din3, &din4, &din5, &din6, &din7, &din8, &din9};
|
||||
gpioDigitalOutput* const d_out[] = {&dout1, &dout2, &dout3, &dout4, &dout5, &dout6, &dout7, &dout8, &dout9, &dout10, &dout11, &dout12, &dout13};
|
||||
// not yet used
|
||||
// gpioAnalogInput* a_in[A_IN_CHANNELS];
|
||||
gpioAnalogInput* a_in[] = {};
|
||||
// gpioAnalogOutput* a_out[A_OUT_CHANNELS];
|
||||
|
||||
/************************************************************************************
|
||||
|
||||
@@ -29,19 +29,29 @@
|
||||
#define BOARD_GPIO_H_ONCE
|
||||
|
||||
// this file is included from the bottom of gpio.h, but we do this for completeness
|
||||
#include "../../gpio.h"
|
||||
#include "gpio.h"
|
||||
#include "hardware.h"
|
||||
|
||||
/*
|
||||
* GPIO defines
|
||||
*/
|
||||
//--- change as required for board and switch hardware ---//
|
||||
|
||||
#define D_IN_CHANNELS 9 // v9 // number of digital inputs supported
|
||||
#define D_OUT_CHANNELS 13 // number of digital outputs supported
|
||||
#define A_IN_CHANNELS 0 // number of analog inputs supported
|
||||
#define A_OUT_CHANNELS 0 // number of analog outputs supported
|
||||
#define D_IN_CHANNELS 10 // v9 number of digital inputs supported
|
||||
#define D_OUT_CHANNELS 13 // number of digital outputs supported
|
||||
#define A_IN_CHANNELS 0 // number of analog inputs supported
|
||||
#define A_OUT_CHANNELS 0 // number of analog outputs supported
|
||||
|
||||
#define INPUT_LOCKOUT_MS 10 // milliseconds to go dead after input firing
|
||||
#define INPUT_LOCKOUT_MS 10 // milliseconds to go dead after input firing
|
||||
|
||||
// Setup spindle and coolant pin assignments
|
||||
#define SPINDLE_ENABLE_OUTPUT_NUMBER 1
|
||||
#define SPINDLE_DIRECTION_OUTPUT_NUMBER 2
|
||||
#define SPINDLE_PWM_NUMBER 3
|
||||
#define MIST_ENABLE_OUTPUT_NUMBER 4
|
||||
|
||||
#define FLOOD_ENABLE_OUTPUT_NUMBER 0
|
||||
#define SECONDARY_PWM_OUTPUT_NUMBER 0
|
||||
|
||||
/*
|
||||
* The GPIO objects themselves - this must match up with board_gpio.cpp!
|
||||
@@ -68,7 +78,7 @@ extern gpioDigitalInputPin<IRQPin<Motate::kInput6_PinNumber>> din6;
|
||||
extern gpioDigitalInputPin<IRQPin<Motate::kInput7_PinNumber>> din7;
|
||||
extern gpioDigitalInputPin<IRQPin<Motate::kInput8_PinNumber>> din8;
|
||||
extern gpioDigitalInputPin<IRQPin<Motate::kInput9_PinNumber>> din9;
|
||||
// extern gpioDigitalInputPin<IRQPin<Motate::kInput10_PinNumber>> din10;
|
||||
extern gpioDigitalInputPin<IRQPin<Motate::kSocket2_SPISlaveSelectPinNumber>> din10;
|
||||
// extern gpioDigitalInputPin<IRQPin<Motate::kInput11_PinNumber>> din11;
|
||||
// extern gpioDigitalInputPin<IRQPin<Motate::kInput12_PinNumber>> din12;
|
||||
|
||||
|
||||
@@ -74,6 +74,7 @@ void board_hardware_init(void) // called 1st
|
||||
#if XIO_HAS_USB
|
||||
// Init USB
|
||||
usb.attach(); // USB setup. Runs in "background" as the rest of this executes
|
||||
usb.checkAndHandleVbusChange();
|
||||
#endif // XIO_HAS_USB
|
||||
}
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
#include "MotateUSBCDC.h"
|
||||
|
||||
#if USB_SERIAL_PORTS_EXPOSED == 1
|
||||
typedef Motate::USBDevice< USBDeviceHardware, Motate::USBCDC > XIOUSBDevice_t;
|
||||
typedef Motate::USBDevice< Motate::USBDeviceHardware, Motate::USBCDC > XIOUSBDevice_t;
|
||||
#endif
|
||||
#if USB_SERIAL_PORTS_EXPOSED == 2
|
||||
typedef Motate::USBDevice< USBDeviceHardware, Motate::USBCDC, Motate::USBCDC > XIOUSBDevice_t;
|
||||
typedef Motate::USBDevice< Motate::USBDeviceHardware, Motate::USBCDC, Motate::USBCDC > XIOUSBDevice_t;
|
||||
#endif
|
||||
|
||||
extern XIOUSBDevice_t usb;
|
||||
|
||||
@@ -46,13 +46,13 @@
|
||||
|
||||
#define MOTORS 4 // number of motors supported the hardware
|
||||
#define PWMS 2 // number of PWM channels supported the hardware
|
||||
#define AXES 6 // axes to support -- must be 6 or 9
|
||||
|
||||
/*************************
|
||||
* Global System Defines *
|
||||
*************************/
|
||||
|
||||
#define MILLISECONDS_PER_TICK 1 // MS for system tick (systick * N)
|
||||
#define SYS_ID_DIGITS 16 // actual digits in system ID (up to 16)
|
||||
#define SYS_ID_LEN 40 // total length including dashes and NUL
|
||||
|
||||
/*************************
|
||||
@@ -61,6 +61,7 @@
|
||||
|
||||
#include "MotatePins.h"
|
||||
#include "MotateTimers.h" // for TimerChanel<> and related...
|
||||
#include "MotateUtilities.h" // for TimerChanel<> and related...
|
||||
|
||||
using Motate::TimerChannel;
|
||||
|
||||
@@ -100,27 +101,25 @@ using Motate::OutputPin;
|
||||
|
||||
/**** Stepper DDA and dwell timer settings ****/
|
||||
|
||||
//#define FREQUENCY_DDA 200000UL // Hz step frequency. Interrupts actually fire at 2x (400 KHz)
|
||||
#define FREQUENCY_DDA 150000UL // Hz step frequency. Interrupts actually fire at 2x (300 KHz)
|
||||
#define FREQUENCY_DWELL 1000UL
|
||||
#define FREQUENCY_DDA 100000UL // Hz step frequency. Interrupts actually fire at 2x (200 KHz)
|
||||
#define FREQUENCY_DWELL 1000UL
|
||||
#define MIN_SEGMENT_MS ((float)1.0)
|
||||
|
||||
#define PLANNER_QUEUE_SIZE (48)
|
||||
#define SECONDARY_QUEUE_SIZE (10)
|
||||
|
||||
/**** Motate Definitions ****/
|
||||
|
||||
// Timer definitions. See stepper.h and other headers for setup
|
||||
typedef TimerChannel<3,0> dda_timer_type; // stepper pulse generation in stepper.cpp
|
||||
typedef TimerChannel<4,0> exec_timer_type; // request exec timer in stepper.cpp
|
||||
typedef TimerChannel<5,0> fwd_plan_timer_type; // request exec timer in stepper.cpp
|
||||
typedef TimerChannel<3,0> dda_timer_type; // stepper pulse generation in stepper.cpp
|
||||
typedef TimerChannel<4,0> exec_timer_type; // request exec timer in stepper.cpp
|
||||
typedef TimerChannel<5,0> fwd_plan_timer_type; // request exec timer in stepper.cpp
|
||||
|
||||
// Pin assignments
|
||||
|
||||
pin_number indicator_led_pin_num = Motate::kLED_USBRXPinNumber;
|
||||
static PWMOutputPin<indicator_led_pin_num> IndicatorLed;
|
||||
|
||||
// Init these to input to keep them high-z
|
||||
static Pin<Motate::kSPI0_MISOPinNumber> spi_miso_pin(Motate::kInput);
|
||||
static Pin<Motate::kSPI0_MOSIPinNumber> spi_mosi_pin(Motate::kInput);
|
||||
static Pin<Motate::kSPI0_SCKPinNumber> spi_sck_pin(Motate::kInput);
|
||||
|
||||
/**** Motate Global Pin Allocations ****/
|
||||
|
||||
//static OutputPin<kSocket1_SPISlaveSelectPinNumber> spi_ss1_pin;
|
||||
@@ -136,13 +135,6 @@ static OutputPin<Motate::kGRBL_FeedHoldPinNumber> grbl_feedhold_pin;
|
||||
static OutputPin<Motate::kGRBL_CycleStartPinNumber> grbl_cycle_start_pin;
|
||||
|
||||
static OutputPin<Motate::kGRBL_CommonEnablePinNumber> motor_common_enable_pin;
|
||||
static OutputPin<Motate::kSpindle_EnablePinNumber> spindle_enable_pin;
|
||||
static OutputPin<Motate::kSpindle_DirPinNumber> spindle_dir_pin;
|
||||
|
||||
// NOTE: In the v9 and the Due the flood and mist coolants are mapped to a the same pin
|
||||
//static OutputPin<kCoolant_EnablePinNumber> coolant_enable_pin;
|
||||
static OutputPin<Motate::kCoolant_EnablePinNumber> flood_enable_pin;
|
||||
static OutputPin<Motate::kCoolant_EnablePinNumber> mist_enable_pin;
|
||||
|
||||
// Input pins are defined in gpio.cpp
|
||||
|
||||
@@ -150,8 +142,10 @@ static OutputPin<Motate::kCoolant_EnablePinNumber> mist_enable_pin;
|
||||
* Function Prototypes (Common) *
|
||||
********************************/
|
||||
|
||||
void hardware_init(void); // master hardware init
|
||||
stat_t hardware_periodic(); // callback from the main loop (time sensitive)
|
||||
const configSubtable *const getSysConfig_3();
|
||||
|
||||
void hardware_init(void); // master hardware init
|
||||
stat_t hardware_periodic(); // callback from the main loop (time sensitive)
|
||||
void hw_hard_reset(void);
|
||||
stat_t hw_flash(nvObj_t *nv);
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
#define SPINDLE_DIR_POLARITY 0 // 0=clockwise is low, 1=clockwise is high
|
||||
#define SPINDLE_PAUSE_ON_HOLD true
|
||||
#define SPINDLE_SPINUP_DELAY 1.0
|
||||
#define SPINDLE_SPEED_CHANGE_PER_MS 7.0
|
||||
|
||||
#define COOLANT_MIST_POLARITY 1 // 0=active low, 1=active high
|
||||
#define COOLANT_FLOOD_POLARITY 1 // 0=active low, 1=active high
|
||||
@@ -156,70 +157,91 @@
|
||||
#define Z_LATCH_BACKOFF 4
|
||||
#define Z_ZERO_BACKOFF 2
|
||||
|
||||
//*** Input / output settings ***
|
||||
/*
|
||||
IO_MODE_DISABLED
|
||||
/* Legend of valid options:
|
||||
|
||||
INPUTS
|
||||
---------------------
|
||||
DIn_ENABLED
|
||||
IO_UNAVAILABLE // input/output is missing/used/unavailable
|
||||
IO_DISABLED // input/output is disabled
|
||||
IO_ENABLED // input/output enabled
|
||||
|
||||
DIn_POLARITY:
|
||||
IO_ACTIVE_LOW aka NORMALLY_OPEN
|
||||
IO_ACTIVE_HIGH aka NORMALLY_CLOSED
|
||||
|
||||
DIn_ACTION:
|
||||
INPUT_ACTION_NONE
|
||||
INPUT_ACTION_STOP
|
||||
INPUT_ACTION_FAST_STOP
|
||||
INPUT_ACTION_HALT
|
||||
INPUT_ACTION_RESET
|
||||
INPUT_ACTION_STOP - stop at normal jerk - preserves positional accuracy
|
||||
INPUT_ACTION_FAST_STOP - stop at high jerk - preserves positional accuracy
|
||||
INPUT_ACTION_HALT - stop immediately - not guaranteed to preserve position
|
||||
INPUT_ACTION_CYCLE_START - start / restart cycle after feedhold (RESERVED)
|
||||
INPUT_ACTION_ALARM - initiate an alarm. stops everything immediately - preserves position
|
||||
INPUT_ACTION_SHUTDOWN - initiate a shutdown. stops everything immediately - does not preserve position
|
||||
INPUT_ACTION_PANIC - initiate a panic. stops everything immediately - does not preserve position
|
||||
INPUT_ACTION_RESET - reset system
|
||||
|
||||
INPUT_ACTION_LIMIT - limit switch processing
|
||||
INPUT_ACTION_INTERLOCK - interlock processing
|
||||
|
||||
OUTPUTS
|
||||
---------------------
|
||||
DOn_ENABLED
|
||||
IO_UNAVAILABLE // input/output is missing/used/unavailable
|
||||
IO_DISABLED // input/output is disabled
|
||||
IO_ENABLED // input/output enabled
|
||||
|
||||
DOn_POLARITY:
|
||||
IO_ACTIVE_LOW aka NORMALLY_OPEN
|
||||
IO_ACTIVE_HIGH aka NORMALLY_CLOSED
|
||||
|
||||
INPUT_FUNCTION_NONE
|
||||
INPUT_FUNCTION_LIMIT
|
||||
INPUT_FUNCTION_INTERLOCK
|
||||
INPUT_FUNCTION_SHUTDOWN
|
||||
INPUT_FUNCTION_PANIC
|
||||
*/
|
||||
// Xmin on v9 board
|
||||
#define DI1_MODE NORMALLY_CLOSED
|
||||
#define DI1_ENABLED IO_ENABLED
|
||||
#define DI1_POLARITY NORMALLY_CLOSED
|
||||
//#define DI1_ACTION INPUT_ACTION_STOP
|
||||
#define DI1_ACTION INPUT_ACTION_NONE
|
||||
#define DI1_FUNCTION INPUT_FUNCTION_LIMIT
|
||||
#define DI1_ACTION INPUT_ACTION_LIMIT
|
||||
|
||||
// Xmax
|
||||
#define DI2_MODE NORMALLY_CLOSED
|
||||
#define DI2_ENABLED IO_ENABLED
|
||||
#define DI2_POLARITY NORMALLY_CLOSED
|
||||
//#define DI2_ACTION INPUT_ACTION_STOP
|
||||
#define DI2_ACTION INPUT_ACTION_NONE
|
||||
#define DI2_FUNCTION INPUT_FUNCTION_LIMIT
|
||||
#define DI2_ACTION INPUT_ACTION_LIMIT
|
||||
|
||||
// Ymin
|
||||
#define DI3_MODE NORMALLY_CLOSED
|
||||
#define DI3_ENABLED IO_ENABLED
|
||||
#define DI3_POLARITY NORMALLY_CLOSED
|
||||
//#define DI3_ACTION INPUT_ACTION_STOP
|
||||
#define DI3_ACTION INPUT_ACTION_NONE
|
||||
#define DI3_FUNCTION INPUT_FUNCTION_LIMIT
|
||||
#define DI3_ACTION INPUT_ACTION_LIMIT
|
||||
|
||||
// Ymax
|
||||
#define DI4_MODE NORMALLY_CLOSED
|
||||
#define DI4_ENABLED IO_ENABLED
|
||||
#define DI4_POLARITY NORMALLY_CLOSED
|
||||
//#define DI4_ACTION INPUT_ACTION_STOP
|
||||
#define DI4_ACTION INPUT_ACTION_NONE
|
||||
#define DI4_FUNCTION INPUT_FUNCTION_LIMIT
|
||||
#define DI4_ACTION INPUT_ACTION_LIMIT
|
||||
|
||||
// Zmin
|
||||
#define DI5_MODE IO_ACTIVE_HIGH // Z probe
|
||||
#define DI5_ENABLED IO_ENABLED
|
||||
#define DI5_POLARITY IO_ACTIVE_HIGH // Z probe
|
||||
#define DI5_ACTION INPUT_ACTION_NONE
|
||||
#define DI5_FUNCTION INPUT_FUNCTION_NONE
|
||||
|
||||
// Zmax
|
||||
#define DI6_MODE NORMALLY_CLOSED
|
||||
#define DI6_ENABLED IO_ENABLED
|
||||
#define DI6_POLARITY NORMALLY_CLOSED
|
||||
//#define DI6_ACTION INPUT_ACTION_STOP
|
||||
#define DI6_ACTION INPUT_ACTION_NONE
|
||||
#define DI6_FUNCTION INPUT_FUNCTION_LIMIT
|
||||
#define DI6_ACTION INPUT_ACTION_LIMIT
|
||||
|
||||
// Amin
|
||||
#define DI7_MODE IO_MODE_DISABLED
|
||||
#define DI7_ENABLED IO_DISABLED
|
||||
#define DI7_POLARITY IO_ACTIVE_LOW
|
||||
#define DI7_ACTION INPUT_ACTION_NONE
|
||||
#define DI7_FUNCTION INPUT_FUNCTION_NONE
|
||||
|
||||
// Amax
|
||||
#define DI8_MODE IO_MODE_DISABLED
|
||||
#define DI8_ENABLED IO_DISABLED
|
||||
#define DI8_POLARITY IO_ACTIVE_LOW
|
||||
#define DI8_ACTION INPUT_ACTION_NONE
|
||||
#define DI8_FUNCTION INPUT_FUNCTION_NONE
|
||||
|
||||
// Hardware interlock input
|
||||
#define DI9_MODE IO_MODE_DISABLED
|
||||
#define DI9_ENABLED IO_DISABLED
|
||||
#define DI9_POLARITY IO_ACTIVE_LOW
|
||||
#define DI9_ACTION INPUT_ACTION_NONE
|
||||
#define DI9_FUNCTION INPUT_FUNCTION_NONE
|
||||
|
||||
Reference in New Issue
Block a user