Added (PRINT, <msg>) support and parameter formatting for DEBUG and PRINT commands.

Added named parameters for getting absolute (G53) position: _abs_x, abs_y, ...
Available when expression support is enabled.

Changed stepper enable HAL signature to allow current reduction when idle.
Added reference id to spindle registration in order to allow configuring default spindle, and possibly additional spindles, at compile time.
This commit is contained in:
Terje Io
2024-09-29 12:38:49 +07:00
parent 5d6a99c583
commit 323dd84b79
19 changed files with 281 additions and 91 deletions

View File

@@ -225,40 +225,38 @@
#endif
#endif
// TODO: remove?
#ifndef VFD_SPINDLE
#if VFD_ENABLE
#define VFD_SPINDLE 1
#else
#define VFD_SPINDLE 0
#endif
#endif
#ifndef SPINDLE0_ENABLE
#if VFD_ENABLE
#define SPINDLE0_ENABLE VFD_ENABLE
#if N_SPINDLE > 1 && !defined(SPINDLE1_ENABLE)
#define SPINDLE1_ENABLE SPINDLE_PWM0
#endif
#else
#define SPINDLE0_ENABLE SPINDLE_PWM0
#endif
#define SPINDLE0_ENABLE SPINDLE_PWM0
#endif
#ifndef SPINDLE1_ENABLE
#define SPINDLE1_ENABLE 0
#elif SPINDLE1_ENABLE == -1 || SPINDLE1_ENABLE == SPINDLE_ALL || SPINDLE1_ENABLE == SPINDLE_ALL_VFD
#warning "SPINDLE1_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
#undef SPINDLE1_ENABLE
#define SPINDLE1_ENABLE 0
#endif
#ifndef SPINDLE2_ENABLE
#define SPINDLE2_ENABLE 0
#elif SPINDLE2_ENABLE == -1 || SPINDLE2_ENABLE == SPINDLE_ALL || SPINDLE2_ENABLE == SPINDLE_ALL_VFD
#warning "SPINDLE2_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
#undef SPINDLE2_ENABLE
#define SPINDLE2_ENABLE 0
#endif
#ifndef SPINDLE3_ENABLE
#define SPINDLE3_ENABLE 0
#elif SPINDLE3_ENABLE == -1 || SPINDLE3_ENABLE == SPINDLE_ALL || SPINDLE3_ENABLE == SPINDLE_ALL_VFD
#warning "SPINDLE3_ENABLE cannot be set to -1, SPINDLE_ALL or SPINDLE_ALL_VFD"
#undef SPINDLE1_ENABLE
#define SPINDLE1_ENABLE 0
#endif
#if SPINDLE0_ENABLE == SPINDLE_ALL
#define SPINDLE_ENABLE SPINDLE_ALL
#if SPINDLE0_ENABLE == -1 || SPINDLE0_ENABLE == SPINDLE_ALL
#define SPINDLE_ENABLE (SPINDLE_ALL|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
#elif SPINDLE0_ENABLE == SPINDLE_ALL_VFD
#define SPINDLE_ENABLE (SPINDLE_ALL_VFD|SPINDLE_ALL|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
#else
#define SPINDLE_ENABLE ((1<<SPINDLE0_ENABLE)|(1<<SPINDLE1_ENABLE)|(1<<SPINDLE2_ENABLE)|(1<<SPINDLE3_ENABLE))
#endif
@@ -314,7 +312,7 @@
//
#ifndef VFD_ENABLE
#if SPINDLE_ENABLE & ((1<<SPINDLE_HUANYANG1)|(1<<SPINDLE_HUANYANG2)|(1<<SPINDLE_GS20)|(1<<SPINDLE_YL620A)|(1<<SPINDLE_MODVFD)|(1<<SPINDLE_H100)|(1<<SPINDLE_NOWFOREVER))
#if SPINDLE_ENABLE & SPINDLE_ALL_VFD
#define VFD_ENABLE 1
#else
#define VFD_ENABLE 0