Improved STMicro L64XX stepper driver support (#16452)
This commit is contained in:
@ -28,10 +28,8 @@
|
||||
|
||||
#if ENABLED(M114_DETAIL)
|
||||
|
||||
#if HAS_DRIVER(L6470)
|
||||
//C:\Users\bobku\Documents\GitHub\Marlin-Bob-2\Marlin\src\gcode\host\M114.cpp
|
||||
//C:\Users\bobku\Documents\GitHub\Marlin-Bob-2\Marlin\src\module\bob_L6470.cpp
|
||||
#include "../../libs/L6470/L6470_Marlin.h"
|
||||
#if HAS_L64XX
|
||||
#include "../../libs/L64XX/L64XX_Marlin.h"
|
||||
#define DEBUG_OUT ENABLED(L6470_CHITCHAT)
|
||||
#include "../../core/debug_out.h"
|
||||
#endif
|
||||
@ -88,13 +86,13 @@
|
||||
|
||||
planner.synchronize();
|
||||
|
||||
#if HAS_DRIVER(L6470)
|
||||
#if HAS_L64XX
|
||||
char temp_buf[80];
|
||||
int32_t temp;
|
||||
//#define ABS_POS_SIGN_MASK 0b1111 1111 1110 0000 0000 0000 0000 0000
|
||||
#define ABS_POS_SIGN_MASK 0b11111111111000000000000000000000
|
||||
#define REPORT_ABSOLUTE_POS(Q) do{ \
|
||||
L6470.say_axis(Q, false); \
|
||||
L64xxManager.say_axis(Q, false); \
|
||||
temp = L6470_GETPARAM(L6470_ABS_POS,Q); \
|
||||
if (temp & ABS_POS_SIGN_MASK) temp |= ABS_POS_SIGN_MASK; \
|
||||
sprintf_P(temp_buf, PSTR(":%8ld "), temp); \
|
||||
@ -102,47 +100,47 @@
|
||||
}while(0)
|
||||
|
||||
DEBUG_ECHOPGM("\nL6470:");
|
||||
#if AXIS_DRIVER_TYPE_X(L6470)
|
||||
#if AXIS_IS_L64XX(X)
|
||||
REPORT_ABSOLUTE_POS(X);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_X2(L6470)
|
||||
#if AXIS_IS_L64XX(X2)
|
||||
REPORT_ABSOLUTE_POS(X2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y(L6470)
|
||||
#if AXIS_IS_L64XX(Y)
|
||||
REPORT_ABSOLUTE_POS(Y);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y2(L6470)
|
||||
#if AXIS_IS_L64XX(Y2)
|
||||
REPORT_ABSOLUTE_POS(Y2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z(L6470)
|
||||
#if AXIS_IS_L64XX(Z)
|
||||
REPORT_ABSOLUTE_POS(Z);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z2(L6470)
|
||||
#if AXIS_IS_L64XX(Z2)
|
||||
REPORT_ABSOLUTE_POS(Z2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z3(L6470)
|
||||
#if AXIS_IS_L64XX(Z3)
|
||||
REPORT_ABSOLUTE_POS(Z3);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E0(L6470)
|
||||
#if AXIS_IS_L64XX(E0)
|
||||
REPORT_ABSOLUTE_POS(E0);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E1(L6470)
|
||||
#if AXIS_IS_L64XX(E1)
|
||||
REPORT_ABSOLUTE_POS(E1);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E2(L6470)
|
||||
#if AXIS_IS_L64XX(E2)
|
||||
REPORT_ABSOLUTE_POS(E2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E3(L6470)
|
||||
#if AXIS_IS_L64XX(E3)
|
||||
REPORT_ABSOLUTE_POS(E3);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E4(L6470)
|
||||
#if AXIS_IS_L64XX(E4)
|
||||
REPORT_ABSOLUTE_POS(E4);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E5(L6470)
|
||||
#if AXIS_IS_L64XX(E5)
|
||||
REPORT_ABSOLUTE_POS(E5);
|
||||
#endif
|
||||
SERIAL_EOL();
|
||||
#endif // HAS_DRIVER(L6470)
|
||||
#endif // HAS_L64XX
|
||||
|
||||
SERIAL_ECHOPGM("Stepper:");
|
||||
LOOP_XYZE(i) {
|
||||
|
Reference in New Issue
Block a user