fixes #438 belt fan control order

This commit is contained in:
Stewart Allen 2025-10-21 00:42:03 -04:00
commit 8686495480
2 changed files with 10 additions and 8 deletions

View file

@ -607,7 +607,9 @@ export function fdm_export(print, online, ondone, ondebug) {
for (pidx=0; pidx<path.length; pidx++) {
out = path[pidx];
speedMMM = (out.speed || process.outputFeedrate) * 60; // range
fanSpeed = out.fan ?? fanSpeed;
if (!isBelt) {
fanSpeed = out.fan ?? fanSpeed;
}
// hint to controller that we're working on a specific object
// so that gcode between start/stop comments can be cancelled
@ -680,13 +682,13 @@ export function fdm_export(print, online, ondone, ondebug) {
}
// in belt mode, fan can change per segment (for base)
// if (isBelt) {
if (isBelt) {
setTempFanSpeed(out.fan);
if (fanSpeed !== lastFanSpeed) {
appendAllSub(gcodeFan);
lastFanSpeed = fanSpeed;
}
// }
}
if (fanSpeed !== lastFanSpeed) {
appendAllSub(gcodeFan);
lastFanSpeed = fanSpeed;
}
if (lastp && out.emit) {
if (arcDist) {

View file

@ -1635,7 +1635,7 @@ function slicePrintPath(print, slice, startPoint, offset, output, opt = {}) {
print.addPrintPoints(preout, output);
// bridge layer fan change
if (!isBelt && preout.length && slice.isBridgeLayer) {
if (preout.length && slice.isBridgeLayer) {
preout[0].fan = Math.round(fanSpeed / 3);
preout.peek().fan = fanSpeed;
}