Ok, So I spent the afternoon debugging this and was able to get it connected to the snapmaker 2.0 A350T here’s the connection output below. Temp and all the controls work now. I used a workaround to get this up and running, but I don’t think it’s a good “permanent” fix. Also, that isn’t my job after paying $$$ for this thing, but here’s the thing you couldn’t fix for the last….however long. So that’s where you come in Mosaic, I showed you the issue, please release an update to address this for all the Snapmaker Users (while I enjoy printing in connected mode now).

The issue is for some reason, the controller.sendAndListen function returns an error even when it’s successful. I got this working by removing the else from the ‘else if’ statement at /app/src/printer/actions/temperature/getTemperature.js:58 so that even if there is an error, as long as data is present it’s still returned. The error so far hasn’t affected anything but connection. It may even be timeout related, I admittedly didn’t look that far into it. After staring at code all day for my job and then this, I’m a little burnt.

Started Apollo Server!

New Request: state

--category: get

--origin: simcoe

New Request: connect

--category: job

--origin: simcoe

trying: /dev/ttyUSB0 115200

Opening Serial, port: /dev/ttyUSB0, baud: 115200.

T:28.10 /0.00 B:20.62 /0.00 @:0 B@:0

T:28.10 /0.00 B:20.62 /0.00 @:0 B@:0

ok

ok

getting autoreport temp cap..

FIRMWARE_NAME:Marlin SM2-4.4.16 (Github) SOURCE_CODE_URL:https://github.com/whimsycwd/SnapmakerMa... PROTOCOL_VERSION:1.0 MACHINE_TYPE:GD32F305VGT6 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

FIRMWARE_NAME:Marlin SM2-4.4.16 (Github) SOURCE_CODE_URL:https://github.com/whimsycwd/SnapmakerMa... PROTOCOL_VERSION:1.0 MACHINE_TYPE:GD32F305VGT6 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

Cap:SERIAL_XON_XOFF:0

Cap:SERIAL_XON_XOFF:0

Cap:BINARY_FILE_TRANSFER:0

Cap:EEPROM:1

Cap:BINARY_FILE_TRANSFER:0

Cap:EEPROM:1

Cap:VOLUMETRIC:1

Cap:VOLUMETRIC:1

Cap:AUTOREPORT_TEMP:1

got cap! [ 'AUTOREPORT_TEMP', true ]

got true

lets autoreport temp yo

Cap:AUTOREPORT_TEMP:1

Cap:PROGRESS:0

Cap:PRINT_JOB:1

constructor auto report temp true

Cap:AUTOLEVEL:0

Cap:AUTOLEVEL:0

Cap:Z_PROBE:1

Cap:LEVELING_DATA:1

Cap:BUILD_PERCENT:0

Cap:SOFTWARE_POWER:0

Cap:TOGGLE_LIGHTS:0

Cap:CASE_LIGHT_BRIGHTNESS:0

Cap:EMERGENCY_PARSER:0

Cap:PROMPT_SUPPORT:0

Cap:AUTOREPORT_SD_STATUS:0

Cap:THERMAL_PROTECTION:1

Cap:MOTION_MODES:0

Cap:CHAMBER_TEMPERATURE:0

ok

Cap:Z_PROBE:1

Cap:LEVELING_DATA:1

Cap:BUILD_PERCENT:0

Cap:SOFTWARE_POWER:0

Cap:TOGGLE_LIGHTS:0

Cap:CASE_LIGHT_BRIGHTNESS:0

Cap:EMERGENCY_PARSER:0

Cap:PROMPT_SUPPORT:0

Cap:AUTOREPORT_SD_STATUS:0

Cap:THERMAL_PROTECTION:1

Cap:MOTION_MODES:0

Cap:CHAMBER_TEMPERATURE:0

ok

ok

ok

T:29.00 /0.00 B:20.78 /0.00 @:0 B@:0

ok

T:29.00 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:29.00', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

ok

T:28.60 /0.00 B:20.78 /0.00 @:0 B@:0

T:28.60 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:28.60', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.00 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.00', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.20 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.20', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.30 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:28.30', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

T:28.20 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.20', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.20 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:28.20', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

T:28.30 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.30', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.60 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.60', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.70 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.70', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.00 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.00', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.70 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.70', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.70 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.70', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.30 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.30', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.00 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.00', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.30 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.30', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.10 /0.00 B:20.78 /0.00 @:0 B@:0

[ 'T:28.10', '/0.00', 'B:20.78', '/0.00', '@:0', 'B@:0' ]

T:28.60 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.60', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

T:28.40 /0.00 B:20.62 /0.00 @:0 B@:0

[ 'T:28.40', '/0.00', 'B:20.62', '/0.00', '@:0', 'B@:0' ]

PS- You’re welcome!