added submodule
This commit is contained in:
parent
19015d7bfd
commit
59fac61af3
|
@ -34,3 +34,6 @@
|
|||
[submodule "grblHAL_Teensy4/src/bluetooth"]
|
||||
path = grblHAL_Teensy4/src/bluetooth
|
||||
url = https://github.com/grblHAL/Plugins_Bluetooth
|
||||
[submodule "grblHAL_Teensy4\\src\\fans"]
|
||||
path = grblHAL_Teensy4\\src\\fans
|
||||
url = https://github.com/grblHAL/Plugin_fans
|
||||
|
|
|
@ -46,27 +46,11 @@
|
|||
#include "sdcard/sdcard.h"
|
||||
#endif
|
||||
|
||||
#if KEYPAD_ENABLE
|
||||
#include "keypad/keypad.h"
|
||||
#endif
|
||||
|
||||
#if PLASMA_ENABLE
|
||||
#include "plasma/thc.h"
|
||||
#endif
|
||||
|
||||
#if PPI_ENABLE
|
||||
#include "laser/ppi.h"
|
||||
static void ppi_timeout_isr (void);
|
||||
#endif
|
||||
|
||||
#if ODOMETER_ENABLE
|
||||
#include "odometer/odometer.h"
|
||||
#endif
|
||||
|
||||
#if OPENPNP_ENABLE
|
||||
#include "openpnp/openpnp.h"
|
||||
#endif
|
||||
|
||||
#if BLUETOOTH_ENABLE
|
||||
#include "bluetooth/bluetooth.h"
|
||||
#endif
|
||||
|
@ -443,9 +427,9 @@ static output_signal_t outputpin[] = {
|
|||
{ .id = Output_SpindleDir, .port = &spindleDir, .pin = SPINDLE_DIRECTION_PIN, .group = PinGroup_SpindleControl },
|
||||
#endif
|
||||
#endif
|
||||
{ .id = Output_CoolantMist, .port = &Mist, .pin = COOLANT_FLOOD_PIN, .group = PinGroup_Coolant },
|
||||
{ .id = Output_CoolantFlood, .port = &Mist, .pin = COOLANT_FLOOD_PIN, .group = PinGroup_Coolant },
|
||||
#ifdef COOLANT_MIST_PIN
|
||||
{ .id = Output_CoolantFlood, .port = &Flood, .pin = COOLANT_MIST_PIN, .group = PinGroup_Coolant },
|
||||
{ .id = Output_CoolantMist, .port = &Flood, .pin = COOLANT_MIST_PIN, .group = PinGroup_Coolant },
|
||||
#endif
|
||||
#ifdef AUXOUTPUT0_PIN
|
||||
{ .id = Output_Aux0, .port = &AuxOut0, .pin = AUXOUTPUT0_PIN, .group = PinGroup_AuxOutput },
|
||||
|
@ -568,7 +552,7 @@ static bool selectStream (const io_stream_t *stream)
|
|||
if(!stream)
|
||||
stream = active_stream == StreamType_Bluetooth ? serial_stream : last_serial_stream;
|
||||
|
||||
memcpy(&hal.stream, stream, sizeof(io_stream_t));
|
||||
memcpy(&hal.stream, stream, offsetof(io_stream_t, enqueue_realtime_command));
|
||||
|
||||
#if ETHERNET_ENABLE
|
||||
if(!hal.stream.write_all)
|
||||
|
@ -1564,39 +1548,33 @@ static void settings_changed (settings_t *settings)
|
|||
#if ESTOP_ENABLE
|
||||
case Input_EStop:
|
||||
pullup = !settings->control_disable_pullup.e_stop;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = control_fei.e_stop ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
#else
|
||||
case Input_Reset:
|
||||
pullup = !settings->control_disable_pullup.reset;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = control_fei.reset ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
#endif
|
||||
case Input_FeedHold:
|
||||
pullup = !settings->control_disable_pullup.feed_hold;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = control_fei.feed_hold ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
|
||||
case Input_CycleStart:
|
||||
pullup = !settings->control_disable_pullup.cycle_start;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = control_fei.cycle_start ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
|
||||
#if SAFETY_DOOR_ENABLE
|
||||
case Input_SafetyDoor:
|
||||
pullup = !settings->control_disable_pullup.safety_door_ajar;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = control_fei.safety_door_ajar ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
#endif
|
||||
#ifdef LIMITS_OVERRIDE_PIN
|
||||
case Input_LimitsOverride:
|
||||
pullup = true;
|
||||
signal->debounce = false;
|
||||
break;
|
||||
#endif
|
||||
case Input_Probe:
|
||||
|
@ -1607,7 +1585,6 @@ static void settings_changed (settings_t *settings)
|
|||
case Input_LimitX_2:
|
||||
case Input_LimitX_Max:
|
||||
pullup = !settings->limits.disable_pullup.x;
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->irq_mode = limit_fei.x ? IRQ_Mode_Falling : IRQ_Mode_Rising;
|
||||
break;
|
||||
|
||||
|
@ -1682,7 +1659,7 @@ static void settings_changed (settings_t *settings)
|
|||
|
||||
#if QEI_SELECT_ENABLED
|
||||
case Input_QEI_Select:
|
||||
signal->debounce = hal.driver_cap.software_debounce;
|
||||
signal->debounce = true;
|
||||
if(qei_enable)
|
||||
signal->irq_mode = IRQ_Mode_Falling;
|
||||
break;
|
||||
|
@ -1692,9 +1669,11 @@ static void settings_changed (settings_t *settings)
|
|||
break;
|
||||
}
|
||||
|
||||
signal->debounce = hal.driver_cap.software_debounce && (signal->debounce || signal->group == PinGroup_Control);
|
||||
|
||||
if(signal->group == PinGroup_AuxInput) {
|
||||
signal->cap.pull_mode = (PullMode_Up|PullMode_Down);
|
||||
signal->cap.irq_mode = (IRQ_Mode_Rising|IRQ_Mode_Falling);
|
||||
signal->cap.irq_mode = IRQ_Mode_All;
|
||||
}
|
||||
|
||||
pinMode(signal->pin, pullup ? INPUT_PULLUP : INPUT_PULLDOWN);
|
||||
|
@ -1731,7 +1710,7 @@ static void settings_changed (settings_t *settings)
|
|||
static void enumeratePins (bool low_level, pin_info_ptr pin_info)
|
||||
{
|
||||
static xbar_t pin = {0};
|
||||
uint32_t i = sizeof(inputpin) / sizeof(input_signal_t);
|
||||
uint32_t i;
|
||||
|
||||
pin.mode.input = On;
|
||||
|
||||
|
@ -1741,6 +1720,7 @@ static void enumeratePins (bool low_level, pin_info_ptr pin_info)
|
|||
pin.group = inputpin[i].group;
|
||||
// pin.port = low_level ? (void *)inputpin[i].port : (void *)port2char(inputpin[i].port);
|
||||
pin.mode.pwm = pin.group == PinGroup_SpindlePWM;
|
||||
pin.description = inputpin[i].description;
|
||||
|
||||
pin_info(&pin);
|
||||
};
|
||||
|
@ -1753,6 +1733,7 @@ static void enumeratePins (bool low_level, pin_info_ptr pin_info)
|
|||
pin.function = outputpin[i].id;
|
||||
pin.group = outputpin[i].group;
|
||||
// pin.port = low_level ? (void *)outputpin[i].port : (void *)port2char(outputpin[i].port);
|
||||
pin.description = outputpin[i].description;
|
||||
|
||||
pin_info(&pin);
|
||||
};
|
||||
|
@ -2166,7 +2147,7 @@ bool driver_init (void)
|
|||
options[strlen(options) - 1] = '\0';
|
||||
|
||||
hal.info = "iMXRT1062";
|
||||
hal.driver_version = "210617";
|
||||
hal.driver_version = "210703";
|
||||
#ifdef BOARD_NAME
|
||||
hal.board = BOARD_NAME;
|
||||
#endif
|
||||
|
@ -2341,10 +2322,6 @@ bool driver_init (void)
|
|||
huanyang_init(modbus_init(serialInit(115200), NULL));
|
||||
#endif
|
||||
|
||||
#if KEYPAD_ENABLE
|
||||
keypad_init();
|
||||
#endif
|
||||
|
||||
#if QEI_ENABLE
|
||||
qei_enable = encoder_init(QEI_ENABLE);
|
||||
#endif
|
||||
|
@ -2354,17 +2331,11 @@ bool driver_init (void)
|
|||
plasma_init();
|
||||
#endif
|
||||
|
||||
#if OPENPNP_ENABLE
|
||||
openpnp_init();
|
||||
#endif
|
||||
|
||||
#if BLUETOOTH_ENABLE
|
||||
bluetooth_init(serialInit(115200));
|
||||
#endif
|
||||
|
||||
#if ODOMETER_ENABLE
|
||||
odometer_init(); // NOTE: this *must* be last plugin to be initialized as it claims storage at the end of NVS.
|
||||
#endif
|
||||
#include "grbl/plugins_init.h"
|
||||
|
||||
// No need to move version check before init.
|
||||
// Compiler will fail any signature mismatch for existing entries.
|
||||
|
|
|
@ -183,6 +183,7 @@ typedef struct {
|
|||
volatile bool debounce;
|
||||
pin_mode_t cap;
|
||||
ioport_interrupt_callback_ptr interrupt_callback;
|
||||
const char *description;
|
||||
} input_signal_t;
|
||||
|
||||
typedef struct {
|
||||
|
@ -190,6 +191,7 @@ typedef struct {
|
|||
gpio_t *port;
|
||||
uint8_t pin;
|
||||
pin_group_t group;
|
||||
const char *description;
|
||||
} output_signal_t;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 243a6bc18835dfda57a5a854ed0e5bbb3976b740
|
|
@ -94,7 +94,7 @@ static void aux_settings_load (void)
|
|||
{
|
||||
uint_fast8_t idx = aux_n_out;
|
||||
|
||||
do {
|
||||
if(aux_n_out) do {
|
||||
idx--;
|
||||
pinModeOutput(aux_out[idx].port, aux_out[idx].pin);
|
||||
DIGITAL_OUT((*(aux_out[idx].port)), (settings.ioport.invert_out.mask >> idx) & 0x01);
|
||||
|
@ -216,7 +216,7 @@ static bool register_interrupt_handler (uint8_t port, pin_irq_mode_t irq_mode, i
|
|||
|
||||
input_signal_t *input = &aux_in[port];
|
||||
|
||||
if(irq_mode != IRQ_Mode_None && (ok = interrupt_callback != NULL)) {
|
||||
if((ok = (irq_mode & aux_in[port].cap.irq_mode) == irq_mode && interrupt_callback != NULL)) {
|
||||
input->irq_mode = irq_mode;
|
||||
input->interrupt_callback = interrupt_callback;
|
||||
pinEnableIRQ(input, irq_mode);
|
||||
|
@ -233,6 +233,17 @@ static bool register_interrupt_handler (uint8_t port, pin_irq_mode_t irq_mode, i
|
|||
return ok;
|
||||
}
|
||||
|
||||
static void set_pin_description (bool digital, bool output, uint8_t port, const char *s)
|
||||
{
|
||||
if(digital) {
|
||||
if(!output && port < aux_n_in)
|
||||
aux_in[port].description = s;
|
||||
|
||||
if(output && port < aux_n_out)
|
||||
aux_out[port].description = s;
|
||||
}
|
||||
}
|
||||
|
||||
void ioports_init (pin_group_pins_t *aux_inputs, pin_group_pins_t *aux_outputs)
|
||||
{
|
||||
aux_in = aux_inputs->pins.inputs;
|
||||
|
@ -246,6 +257,8 @@ void ioports_init (pin_group_pins_t *aux_inputs, pin_group_pins_t *aux_outputs)
|
|||
if((hal.port.num_digital_out = aux_n_out = aux_outputs->n_pins))
|
||||
hal.port.digital_out = digital_out;
|
||||
|
||||
hal.port.set_pin_description = set_pin_description;
|
||||
|
||||
details.on_get_settings = grbl.on_get_settings;
|
||||
grbl.on_get_settings = on_get_settings;
|
||||
|
||||
|
|
Loading…
Reference in New Issue