Updates for L64XX

This commit is contained in:
Scott Lahteine
2020-01-19 19:52:01 -06:00
parent f6a6839a82
commit 707349d492
10 changed files with 180 additions and 178 deletions

View File

@ -530,14 +530,14 @@ void GcodeSuite::G28(const bool always_home_all) {
// Set L6470 absolute position registers to counts
// constexpr *might* move this to PROGMEM.
// If not, this will need a PROGMEM directive and an accessor.
static constexpr AxisEnum L6470_axis_xref[MAX_L6470] = {
static constexpr AxisEnum L64XX_axis_xref[MAX_L64XX] = {
X_AXIS, Y_AXIS, Z_AXIS,
X_AXIS, Y_AXIS, Z_AXIS, Z_AXIS,
E_AXIS, E_AXIS, E_AXIS, E_AXIS, E_AXIS, E_AXIS
};
for (uint8_t j = 1; j <= L64XX::chain[0]; j++) {
const uint8_t cv = L64XX::chain[j];
L64xxManager.set_param((L64XX_axis_t)cv, L6470_ABS_POS, stepper.position(L6470_axis_xref[cv]));
L64xxManager.set_param((L64XX_axis_t)cv, L6470_ABS_POS, stepper.position(L64XX_axis_xref[cv]));
}
#endif
}

View File

@ -77,7 +77,7 @@
* KVAL_DEC
* Vs compensation (if enabled)
*/
void L6470_report_current(L64XX &motor, const L64XX_axis_t axis) {
void L64XX_report_current(L64XX &motor, const L64XX_axis_t axis) {
if (L64xxManager.spi_abort) return; // don't do anything if set_directions() has occurred
@ -303,48 +303,48 @@ void GcodeSuite::M906() {
}
if (report_current) {
#define L6470_REPORT_CURRENT(Q) L6470_report_current(stepper##Q, Q)
#define L64XX_REPORT_CURRENT(Q) L64XX_report_current(stepper##Q, Q)
L64xxManager.spi_active = true; // Tell set_directions() a series of SPI transfers is underway
#if AXIS_IS_L64XX(X)
L6470_REPORT_CURRENT(X);
L64XX_REPORT_CURRENT(X);
#endif
#if AXIS_IS_L64XX(X2)
L6470_REPORT_CURRENT(X2);
L64XX_REPORT_CURRENT(X2);
#endif
#if AXIS_IS_L64XX(Y)
L6470_REPORT_CURRENT(Y);
L64XX_REPORT_CURRENT(Y);
#endif
#if AXIS_IS_L64XX(Y2)
L6470_REPORT_CURRENT(Y2);
L64XX_REPORT_CURRENT(Y2);
#endif
#if AXIS_IS_L64XX(Z)
L6470_REPORT_CURRENT(Z);
L64XX_REPORT_CURRENT(Z);
#endif
#if AXIS_IS_L64XX(Z2)
L6470_REPORT_CURRENT(Z2);
L64XX_REPORT_CURRENT(Z2);
#endif
#if AXIS_IS_L64XX(Z3)
L6470_REPORT_CURRENT(Z3);
L64XX_REPORT_CURRENT(Z3);
#endif
#if AXIS_IS_L64XX(E0)
L6470_REPORT_CURRENT(E0);
L64XX_REPORT_CURRENT(E0);
#endif
#if AXIS_IS_L64XX(E1)
L6470_REPORT_CURRENT(E1);
L64XX_REPORT_CURRENT(E1);
#endif
#if AXIS_IS_L64XX(E2)
L6470_REPORT_CURRENT(E2);
L64XX_REPORT_CURRENT(E2);
#endif
#if AXIS_IS_L64XX(E3)
L6470_REPORT_CURRENT(E3);
L64XX_REPORT_CURRENT(E3);
#endif
#if AXIS_IS_L64XX(E4)
L6470_REPORT_CURRENT(E4);
L64XX_REPORT_CURRENT(E4);
#endif
#if AXIS_IS_L64XX(E5)
L6470_REPORT_CURRENT(E5);
L64XX_REPORT_CURRENT(E5);
#endif
L64xxManager.spi_active = false; // done with all SPI transfers - clear handshake flags