this post was submitted on 25 Apr 2025
1 points (55.6% liked)

3DPrinting

18062 readers
174 users here now

3DPrinting is a place where makers of all skill levels and walks of life can learn about and discuss 3D printing and development of 3D printed parts and devices.

The r/functionalprint community is now located at: or [email protected]

There are CAD communities available at: [email protected] or [email protected]

Rules

If you need an easy way to host pictures, https://catbox.moe/ may be an option. Be ethical about what you post and donate if you are able or use this a lot. It is just an individual hosting content, not a company. The image embedding syntax for Lemmy is ![](URL)

Moderation policy: Light, mostly invisible

founded 2 years ago
MODERATORS
 

Comparing HyperFFF and "traditional" G-Code for Raise3D machines I noticed that the only difference seems to be the M99123 command at the beginning of the file (identical for different STL-models):

M99123 /RKIIyAfrgVn63QgWjcMv3w/DQafsD84EnC8915R6MD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD/RKIIyAfrgVn63QgWjcMv3w/DQafsD84EnC8915R6MD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6M/RKIIyAfrgVn63QgWjcMv3w/DQafsD84EnC8915R6MD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6M/RKIIyAfrgVn63QgWjcMv3w/DQafsD84EnC8915R6MD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD0Ipw/DQafsD84EnC8915R6MD0IpD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD0Ipw/DQafsD84EnC8915R6MD0IpD0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD0Ipw/DQafsD84EnC8915R6MD0Ip0Ipw/VGrHawCYdCJaNwKoDQafsD84EnC8915R6MD0Ipw/DQafsD84EnC8915R6MD0Ipw

Any clue how this G-code command works and what is written there?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 month ago (1 children)

Yeah, didn't think it was an image, just images in gcode are encoded.

I did find their github with a klipper config, but yeah, unsurprisingly it's not there. You could see if it has documentation through the klipper console? I'm betting it's not going to be in your klipper config unfortunately. Definitely leaning toward it being the portion that has the firmware validate the key and then set things up.

[–] [email protected] 2 points 1 month ago (1 children)

I might have the klipper source unzipped from the update file (7 zip noticed that there is more data). Where do I need to check/look for this M99123 implementation?

The update file itself starts with: "RAISE - MXC - PACKAGE...." MXC might stand for STM MXcube as Rais uses an STM32 MCU. Scrolling through the file it looks like it also contains some sort of files for YOCTO-Linux for an NXP chip which might be related to the display.

Also does Klipper still use Python 2.7 and other EOL packages that are 15 years old by now?

Looking at the key-file: It is a gzip which contains a USTAR which contains some sort of, I suppose, key: "RAISE - MXC - KEY _ 'C[....]"

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

I was looking through, generally custom macros are in the config folder, unsure if they've implemented it differently, here's the Raise3D repo I found earlier, klipper has some code in c for the microcontroller stuff AFAIK with klippy in python, I've not personally dove into the code, just config and macro stuff largely.

Actually digging through a bit, there's some gcodes in /klippy/gcode.py in the above repo I don't see in the Mainline Klipper equivalent, like M9999, it might be a start, klippy lives on the host machine.

[–] [email protected] 1 points 1 month ago

This is the base folder of the unzipped update.

differencing: WCH CH341 driver eve: AI chatbot scripts: boring scripts and a binary blob (.elf file: fdm_virtual_device)

Regarding the M9999:

	else if(strcmp((const char *)rec_cmd[ptr].cmd,"M9999") == 0 )
	{
		ansifo->main_cmd   = SET_AUTO_TEMP_CMD;
		return SET_AUTO_TEMP_CMD;
	}

https://github.com/Raise3D/Klipper-Raise3D-Pro3-Series/blob/97416850a18466eea04865f2c92503501841681c/klipper/klippy/extras/virtual_sdcard.py#L535

For M99123 there is only one reference: https://github.com/Raise3D/Klipper-Raise3D-Pro3-Series/blob/97416850a18466eea04865f2c92503501841681c/klipper/klippy/extras/virtual_sdcard.py#L535