From 82d102d7409e83d7ce3efbc7387528a3da5479cd Mon Sep 17 00:00:00 2001
From: 3d-gussner <3d.gussner@gmail.com>
Date: Mon, 19 Feb 2024 17:12:38 +0100
Subject: [PATCH 1/3] Enable M913
---
Firmware/Marlin_main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 07490a5df..3a92be44c 100644
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -8387,6 +8387,7 @@ Sigma_Exit:
}
}
break;
+#endif // TMC2130_SERVICE_CODES_M910_M918
/*!
### M913 - Print TMC2130 currents M913: Print TMC2130 currents
@@ -8399,7 +8400,6 @@ Sigma_Exit:
}
break;
-#endif // TMC2130_SERVICE_CODES_M910_M918
/*!
### M914 - Set TMC2130 normal mode M914: Set TMC2130 normal mode
Updates EEPROM only if "P" is given, otherwise temporary (lasts until reset or motor idle timeout)
From 2df8a18fde4904e6865ee676f9b83c60d2d97f0a Mon Sep 17 00:00:00 2001
From: 3d-gussner <3d.gussner@gmail.com>
Date: Mon, 19 Feb 2024 18:04:23 +0100
Subject: [PATCH 2/3] Fix MK2.5/S builds
---
Firmware/Marlin_main.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 3a92be44c..96a2836c3 100644
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -8327,6 +8327,7 @@ Sigma_Exit:
}
break;
+#ifdef TMC2130
#ifdef TMC2130_SERVICE_CODES_M910_M918
/*!
@@ -8426,7 +8427,6 @@ Sigma_Exit:
- `R` - Revert to EEPROM value
- `Q` - Print effective silent/normal status. (Does not report override)
*/
-#ifdef TMC2130
case 914:
case 915:
{
@@ -8465,7 +8465,6 @@ Sigma_Exit:
}
break;
-#endif // TMC2130
#ifdef TMC2130_SERVICE_CODES_M910_M918
/*!
### M916 - Set TMC2130 Stallguard sensitivity threshold M916: Set TMC2130 Stallguard sensitivity threshold
@@ -8538,6 +8537,7 @@ Sigma_Exit:
break;
#endif //TMC2130_SERVICE_CODES_M910_M918
+#endif // TMC2130
/*!
### M350 - Set microstepping mode M350: Set microstepping mode
From b6e2a8875b69e167ed8a696f2cbd996d71b162c6 Mon Sep 17 00:00:00 2001
From: Alex Voinea
Date: Wed, 21 Feb 2024 23:03:20 +0100
Subject: [PATCH 3/3] M913 report rescaled currents
---
Firmware/tmc2130.cpp | 8 ++++----
Firmware/tmc2130.h | 2 ++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp
index 30f4724bc..05340622d 100755
--- a/Firmware/tmc2130.cpp
+++ b/Firmware/tmc2130.cpp
@@ -580,10 +580,10 @@ void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, const MotorCurrents *curr
void tmc2130_print_currents()
{
printf_P(_n("tmc2130_print_currents()\n\tH\tR\nX\t%d\t%d\nY\t%d\t%d\nZ\t%d\t%d\nE\t%d\t%d\n"),
- currents[0].getiHold(), currents[0].getiRun(),
- currents[1].getiHold(), currents[1].getiRun(),
- currents[2].getiHold(), currents[2].getiRun(),
- currents[3].getiHold(), currents[3].getiRun()
+ currents[0].getOriginaliHold(), currents[0].getOriginaliRun(),
+ currents[1].getOriginaliHold(), currents[1].getOriginaliRun(),
+ currents[2].getOriginaliHold(), currents[2].getOriginaliRun(),
+ currents[3].getOriginaliHold(), currents[3].getOriginaliRun()
);
}
diff --git a/Firmware/tmc2130.h b/Firmware/tmc2130.h
index 6cf48f04e..6c1308113 100644
--- a/Firmware/tmc2130.h
+++ b/Firmware/tmc2130.h
@@ -105,6 +105,8 @@ struct MotorCurrents {
inline uint8_t getiRun() const { return iRun; }
inline uint8_t getiHold() const { return min(iHold, iRun); }
+ inline uint8_t getOriginaliRun() const { return vSense ? iRun : iRun << 1; }
+ inline uint8_t getOriginaliHold() const { return min(vSense ? iHold : iHold << 1, getOriginaliRun()); }
inline bool iHoldIsClamped() const { return iHold > iRun; }
inline uint8_t getvSense() const { return vSense; }