L6470 SPI daisy chain support (#12895)

This commit is contained in:
Bob Kuhn
2019-01-23 19:06:54 -06:00
committed by Scott Lahteine
parent 6453b82a5e
commit 2f35747f29
95 changed files with 7844 additions and 1429 deletions

View File

@ -28,6 +28,12 @@
#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 "../../module/L6470/L6470_Marlin.h"
#endif
void report_xyze(const float pos[], const uint8_t n = 4, const uint8_t precision = 3) {
char str[12];
for (uint8_t i = 0; i < n; i++) {
@ -79,6 +85,62 @@
planner.synchronize();
#if HAS_DRIVER(L6470)
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); \
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); \
L6470_ECHO(temp_buf); \
}while(0)
L6470_ECHOPGM("\nL6470:");
#if AXIS_DRIVER_TYPE_X(L6470)
REPORT_ABSOLUTE_POS(X);
#endif
#if AXIS_DRIVER_TYPE_X2(L6470)
REPORT_ABSOLUTE_POS(X2);
#endif
#if AXIS_DRIVER_TYPE_Y(L6470)
REPORT_ABSOLUTE_POS(Y);
#endif
#if AXIS_DRIVER_TYPE_Y2(L6470)
REPORT_ABSOLUTE_POS(Y2);
#endif
#if AXIS_DRIVER_TYPE_Z(L6470)
REPORT_ABSOLUTE_POS(Z);
#endif
#if AXIS_DRIVER_TYPE_Z2(L6470)
REPORT_ABSOLUTE_POS(Z2);
#endif
#if AXIS_DRIVER_TYPE_Z3(L6470)
REPORT_ABSOLUTE_POS(Z3);
#endif
#if AXIS_DRIVER_TYPE_E0(L6470)
REPORT_ABSOLUTE_POS(E0);
#endif
#if AXIS_DRIVER_TYPE_E1(L6470)
REPORT_ABSOLUTE_POS(E1);
#endif
#if AXIS_DRIVER_TYPE_E2(L6470)
REPORT_ABSOLUTE_POS(E2);
#endif
#if AXIS_DRIVER_TYPE_E3(L6470)
REPORT_ABSOLUTE_POS(E3);
#endif
#if AXIS_DRIVER_TYPE_E4(L6470)
REPORT_ABSOLUTE_POS(E4);
#endif
#if AXIS_DRIVER_TYPE_E5(L6470)
REPORT_ABSOLUTE_POS(E5);
#endif
SERIAL_EOL();
#endif // HAS_DRIVER(L6470)
SERIAL_ECHOPGM("Stepper:");
LOOP_XYZE(i) {
SERIAL_CHAR(' ');