@@ -224,16 +224,15 @@ export default class ToolheadCard extends Mixins(StateMixin, ToolheadMixin) {
224224 this .printerSettings .bltouch != null ||
225225 this .printerSettings .smart_effector != null ||
226226 this .printerSettings .cartographer != null ||
227- (
228- this .printerSettings .scanner != null &&
229- ' sensor' in this .printerSettings .scanner &&
230- this .printerSettings .scanner .sensor === ' cartographer'
231- ) ||
232227 Object .keys (this .printerSettings )
233228 .some (x => x .startsWith (' probe_eddy_current ' ))
234229 )
235230 }
236231
232+ get printerSupportsAxisTwistCompensationCalibrate (): boolean {
233+ return this .printerSettings .axis_twist_compensation != null
234+ }
235+
237236 get printerSupportsBeaconCalibrate (): boolean {
238237 return this .printerSettings .beacon != null
239238 }
@@ -242,6 +241,13 @@ export default class ToolheadCard extends Mixins(StateMixin, ToolheadMixin) {
242241 return this .printerSettings .cartographer != null
243242 }
244243
244+ get printerSupportsCartographerAxisTwistCompensation (): boolean {
245+ return (
246+ this .printerSettings .cartographer != null &&
247+ this .printerSettings .axis_twist_compensation != null
248+ )
249+ }
250+
245251 get printerSupportsZEndstopCalibrate (): boolean {
246252 return (
247253 this .printerSettings .stepper_z ?.position_endstop != null
@@ -338,6 +344,14 @@ export default class ToolheadCard extends Mixins(StateMixin, ToolheadMixin) {
338344 })
339345 }
340346
347+ if (this .printerSupportsAxisTwistCompensationCalibrate ) {
348+ tools .push ({
349+ name: ' AXIS_TWIST_COMPENSATION_CALIBRATE' ,
350+ disabled: ! this .allHomed || this .isManualProbeActive ,
351+ wait: this .$waits .onAxisTwistCompensationCalibrate
352+ })
353+ }
354+
341355 if (this .printerSupportsBeaconCalibrate ) {
342356 tools .push ({
343357 name: ' BEACON_AUTO_CALIBRATE' ,
@@ -376,6 +390,14 @@ export default class ToolheadCard extends Mixins(StateMixin, ToolheadMixin) {
376390 })
377391 }
378392
393+ if (this .printerSupportsCartographerAxisTwistCompensation ) {
394+ tools .push ({
395+ name: ' CARTOGRAPHER_AXIS_TWIST_COMPENSATION' ,
396+ disabled: ! this .allHomed || this .isManualProbeActive ,
397+ wait: this .$waits .onCartographerAxisTwistCompensation
398+ })
399+ }
400+
379401 if (this .printerSupportsDeltaCalibrate ) {
380402 tools .push ({
381403 name: ' DELTA_CALIBRATE' ,
0 commit comments