Seite 2 von 2

Re: SuperSlicer (Abwandlung des PrusaSlicers) - Vorstellung

Verfasst: Mi 31. Jan 2024, 19:21
von rf1k_mjh11
Hallo,

Zu M203 gibt es offensichtlich auch bei Repetier selbst Verwirrung. Auf dieser Forumsseite von Repetier, wird von M203 so gesprochen, als ob es doch für die maximale Fördermenge zu benutzen wäre (Frage vor 3+ Jahren von 'Repetier' beantwortet).

Da soll einer schlau werden. :diabolisch: Wo kann ich, als ein völlig programmatisch Ungeschickter, mich selbst überzeugen was Sache ist?

mjh11

Re: SuperSlicer (Abwandlung des PrusaSlicers) - Vorstellung

Verfasst: Mi 31. Jan 2024, 19:52
von rf1k_mjh11
OK.

EIGENTLICH mittlerweile VÖLLIG OFF-TOPIC (sorry). :oops:

Selbst ist der Mann (oder die Mannin, je nachdem). - (Unser derzeitiger Bundeskanzler möchte solche 'Gendereien' abschaffen - da muss ich einfach ein wenig 'sticheln').

Ich habe selbst geguckt, was es mit M203 in der Repetier-FW auf sich hat.

Das Folgende ist aus der letztgültigen Repetier-Firmware Datei (Commands.cpp) - also nicht unsere RFx000-Firmware:

Code: Alles auswählen

   case 203: // M203 Temperature monitor
        if (com->hasX()) {
            Printer::maxFeedrate[X_AXIS] = com->X / 60.0f;
        }
        if (com->hasY()) {
            Printer::maxFeedrate[Y_AXIS] = com->Y / 60.0f;
        }
        if (com->hasZ()) {
            Printer::maxFeedrate[Z_AXIS] = com->Z / 60.0f;
        }
        if (com->hasE()) {
            Printer::maxFeedrate[E_AXIS] = com->E / 60.0f;
        }
        if (com->hasS())
            manageMonitor = com->S != 255;
        else
            manageMonitor = 0;
        break;
Wie bereits mehrfach geschrieben, ich bin kein Programmierer (aber lesen kann ich und habe auch ausreichend Phantasie!). So wie ich das hier sehe, leistet der M203-Befehl, in der Repetier-Firmware, doppelte Arbeit. Steht als Parameter ein X, Y, Z, oder E, dann wird die maximale Fördermenge gesetzt (limitiert?). Steht aber als Parameter ein S, dann wird die Temperaturüberwachung aktiviert.

In der Firmware für den RFx000 Drucker steht es ein wenig anders (ich glaube nicht, dass hier die Community-Version davon abweicht):

Code: Alles auswählen

			case 203:	// M203 - Temperature monitor
			{
				if( isSupportedMCommand( com->M, OPERATING_MODE_PRINT ) )
				{
					if(com->hasS())
					{
						if(com->S<NUM_EXTRUDER) manageMonitor = com->S;
#if HAVE_HEATED_BED
						else manageMonitor=NUM_EXTRUDER; // Set 100 to heated bed
#endif // HAVE_HEATED_BED
					}
				}
				break;
Für unsere Drucker gilt scheinbar nur die Temperaturüberwachung (was immer das auch tun mag). Ich habe eben auch in der Community Version Nachschau gehalten. Dort steht dasselbe.

mjh11