Просмотр исходного кода

Allow all microstep resolutions for all axes

Yuri D'Elia 3 лет назад
Родитель
Сommit
f37f132ee4
1 измененных файлов с 1 добавлено и 3 удалено
  1. 1 3
      Firmware/Marlin_main.cpp

+ 1 - 3
Firmware/Marlin_main.cpp

@@ -8530,9 +8530,7 @@ Sigma_Exit:
 			if(code_seen(axis_codes[i]))
 			{
 				uint16_t res_new = code_value();
-				bool res_valid = (res_new == 8) || (res_new == 16) || (res_new == 32); // resolutions valid for all axis
-				res_valid |= (i != E_AXIS) && ((res_new == 1) || (res_new == 2) || (res_new == 4)); // resolutions valid for X Y Z only
-				res_valid |= (i == E_AXIS) && ((res_new == 64) || (res_new == 128)); // resolutions valid for E only
+				bool res_valid = res_new > 0 && res_new <= 256 && !(res_new & (res_new - 1)); // must be a power of two
 				if (res_valid)
 				{
 					st_synchronize();