I’ve had a Flashforge Creator Dual printer and octoprint running fine for months with no problem. Recently I lost my settings for octoprint and cura. After setting those up again the printer prints fine but the bed doesn’t heat up. After the bed heater command FF is returning a message something like “bed heater command ignored because bed heater doesn’t exist”. This makes octoprint report the actual bed temp as “bed: off”. If I preheat the bed temp the heater works fine so I know the heater and thermistor are good.

I assumed the problem was in octoprint or cura settings but the error message is returned by the printer after a good bed setting command. I tried clearing the FF settings and erasing the eeprom with no luck. I’ve power-cycled the printer after each change. I can’t test directly from Cura because it doesn’t support GXP.

Has anyone seen this error message or have any idea for things to try? Should I re-flash the firmware?

2 Likes

Some additional information: I just found out that my left extruder gets a similar error as my bed heater. When trying to print I see this in the terminal … (btw, what do the asterisks mean in the gcode below?)

Recv: start
Send: N0 M110 N0*125
Send: N0 M110 N0*125
Recv: Sailfish v7.6
Recv: echo: gcode to x3g translation by GPX
Recv: SD card ok
Recv: T:94 /0
Recv: T:94 /0
Recv: ok
Changing monitoring state from ‘Connecting’ to ‘Operational’
Send: N0 M110 N0*125
Recv: ok
Send: M20
Recv: ok
Recv: Begin file list
Recv: roo-20160724-1438.tar.gz
Recv: right.s3g
Recv: left.s3g
Recv: 6-Left.x3g
Recv: 6-Right.x3g
Recv: 6-right-slow.x3g
Recv: cura-profile-7-5-16.ini
Recv: exquisite_jofo.gcode
Recv: exquisite_jofo.stl
Recv: End file list
Send: M105
Recv: ok T:92 /0
Send: M105
Recv: ok T:90 /0

Changing monitoring state from ‘Operational’ to ‘Printing’
Send: N0 M110 N0*125
Recv: ok
Send: N1 M109 S70*94
Recv: ok
Send: N2 M136*37
Recv: // echo: (line 1) Semantic warning: M109 cannot select non-existant heated build platform
Recv: ok
Send: N3 M73 P0*84
Recv: ok
Send: N4 G90*20
Recv: ok
Send: N5 M109 S70*90
Recv: ok
Send: N6 M104 S220 T1*38
Recv: // echo: (line 5) Semantic warning: M109 cannot select non-existant heated build platform
Recv: ok
Recv: // echo: (line 6) Semantic warning: T1 cannot select non-existant extruder
Send: N7 G130 X118 Y118 A118 B118*46
Recv: ok
Send: N8 T1*51
Recv: ok
Recv: // echo: (line 8) Semantic warning: T1 cannot select non-existant extruder
Send: N9 G28 X Y Z*97
Recv: T:79 /220
Recv: T:79 /220
Recv: T:79 /220
Recv: T:80 /220
Recv: T:81 /220
Recv: ok
Send: N10 G92 X0 Y0 Z0 A0 B0*107
Recv: ok
Send: N11 G1 Z5 F500*4
Recv: ok
Send: N12 G161 Z F100*49
Recv: T:83 /220
Recv: T:86 /220
Recv: ok
Send: N13 M132 X Y Z*106
Recv: T:89 /220
Autoscroll showing 342 linesScroll to end | Select all
Suppress M105 requests/responses
Suppress M27 requests/responses

1 Like

In OctoPrint->Settings->GPX choose Replicator 1 Dual. You have it set on Replicator 2 which only has one extruder and no heated bed.

2 Likes

Thank you, thank you, thank you. It was driving me crazy. I award you a karma point for your next life.

1 Like

The asterisk is the field marker for the checksum which follows it. It’s a field marker character just like the letters are.

For example, from your log “N10 G92 X0 Y0 Z0 A0 B0*107” means: Line number 10, command G92 (set position), with arguments values of 0 for X, Y, Z, A, and B axis. And a checksum of “107”. The checksum is simply the XOR of the ASCII values of the characters that proceed it. In this case, their hexadecimal values are:

‘N’ = 0x4E
‘1’ = 0x31
‘0’ = 0x30
’ ’ = 0x20
‘G’ = 0x47
‘9’ = 0x39
‘2’ = 0x32
’ ’ = 0x20
‘X’ = 0x58
‘0’ = 0x30
’ ’ = 0x20
‘Y’ = 0x59
‘0’ = 0x30
’ ’ = 0x20
‘Z’ = 0x5A
‘0’ = 0x30
’ ’ = 0x20
‘A’ = 0x41
‘0’ = 0x30
’ ’ = 0x20
‘B’ = 0x42
‘0’ = 0x30

XOR those values together and you get 0x6B which has a decimal value of 107, hence the “*107” for the checksum in what is transmitted.

And the curse of being a computer programmer is that I knew all of those ASCII values without having to look any of them up…

1 Like