@@ -108,9 +108,10 @@ int Interp::write_g_codes(block_pointer block, //!< pointer to a block of RS27
108108 7 ) ? (530 + (10 * settings->origin_index )) : (584 +
109109 settings->origin_index );
110110 settings->active_g_codes [9 ] =
111- (settings->tool_offset .tran .x || settings->tool_offset .tran .y || settings->tool_offset .tran .z ||
112- settings->tool_offset .a || settings->tool_offset .b || settings->tool_offset .c ||
113- settings->tool_offset .u || settings->tool_offset .v || settings->tool_offset .w ) ? G_43 : G_49;
111+ (settings->g43_with_zero_offset ||
112+ settings->tool_offset .tran .x || settings->tool_offset .tran .y || settings->tool_offset .tran .z ||
113+ settings->tool_offset .a || settings->tool_offset .b || settings->tool_offset .c ||
114+ settings->tool_offset .u || settings->tool_offset .v || settings->tool_offset .w ) ? G_43 : G_49;
114115 settings->active_g_codes [10 ] = (settings->retract_mode == RETRACT_MODE::OLD_Z) ? G_98 : G_99;
115116 // Three modes: G_64, G_61, G_61_1 or CANON_CONTINUOUS/EXACT_PATH/EXACT_STOP
116117 settings->active_g_codes [11 ] =
@@ -279,7 +280,8 @@ int Interp::write_state_tag(block_pointer block,
279280 state.flags [GM_FLAG_G92_IS_APPLIED] = settings->parameters [5210 ];
280281
281282 state.flags [GM_FLAG_TOOL_OFFSETS_ON] =
282- (settings->tool_offset .tran .x ||
283+ (settings->g43_with_zero_offset ||
284+ settings->tool_offset .tran .x ||
283285 settings->tool_offset .tran .y ||
284286 settings->tool_offset .tran .z ||
285287 settings->tool_offset .a ||
0 commit comments