1 (edited by TechGirl 2015-11-03 17:02:51)

Topic: Help with Marlin and Azteeg X3 Pro

Hi everyone, I am in the process of building a CoreXY printer to replace my Prusa i3. I decided to go with an Azteeg X3 Pro so that I can upgrade to eventually to an E3D Kraken. I am starting off with an E3D Chimera.
I downloaded a new instance of Marlin, rather than using a copy of the version I'm using with  the Ramps setup I'm using on the i3.
I set up Marlin with two extruders and PIDTEMP and ran verify in Arduino IDE and the verify failed with the following error:

C:\Users\Sally\AppData\Local\Temp\build4998189036816848245.tmp\temperature.cpp: In function 'void manage_heater()':
C:\Users\Sally\AppData\Local\Temp\build4998189036816848245.tmp\temperature.cpp:665:1: error: unable to find a register to spill in class 'POINTER_REGS'
}
^
C:\Users\Sally\AppData\Local\Temp\build4998189036816848245.tmp\temperature.cpp:665:1: error: this is the insn:
(insn 98 97 100 4 (set (reg/v:SF 103 [ pid_input ])
        (mem:SF (post_inc:HI (reg:HI 147 [ ivtmp.210 ])) [4 MEM[base: _113, offset: 0B]+0 S4 A8])) C:\Users\Sally\AppData\Local\Temp\build4998189036816848245.tmp\temperature.cpp:449 99 {*movsf}
     (expr_list:REG_INC (reg:HI 147 [ ivtmp.210 ])
        (nil)))
C:\Users\Sally\AppData\Local\Temp\build4998189036816848245.tmp\temperature.cpp:665: confused by earlier errors, bailing out
Error compiling.

The only way around this error was to enable Z_DUAL_STEPPER_DRIVERS until I realised that this redefines ETRUDERS to 1.

Can anyone help me correct my problem?

Davinci 2.0A Duo, Firmware: 1.0.B, XYZ software blocked by firewall.
ABS only at the moment, hoping to go to woodfill and bamboofill PLA when I have a bit more experience with the Duo.
Currently printing woodfill on homebrew Prusa i3.

2

Re: Help with Marlin and Azteeg X3 Pro

Don't have an Azteeg, but did some digging and it seems this is a known bug.  It seems to center around the Thermal Runaway lines in temperature.cpp

Not suggesting to comment out thermal runaway, but the following link may help you dig deeper:

https://github.com/MarlinFirmware/Marlin/issues/1523

Try going back to 1 extruder for now and drop the "Dual Z Steppers"...

SD2 - Stock - Enclosure - Heated Bed - Glass Plate - Auto Fire Extinguisher
Ord Bot Hadron - RAMPS 1.4 - Bulldog XL - E3D v6 - 10" x 10" PCB Heated Build w/SSR - Glass Plate
Thanks for All of Your Help!

3

Re: Help with Marlin and Azteeg X3 Pro

Thanks IronMan.

With some very helpful advice from yourself and on Github I came up with this solution.

Ditch the official 1.0.x version and download Marlin_RC.

In the Azteeg X3 Pro Pins file extruders E2 to E4 are allocated which, in total, equates to steppers for X, Y, Z, and 5 extruders.

Code snippet from the Azteeg pins file:

#define E4_STEP_PIN 43
#define E4_DIR_PIN 37
#define E4_ENABLE_PIN 42

Code snippet from pins.h:

#ifndef Z2_STEP_PIN
#define Z2_STEP_PIN E1_STEP_PIN
#define Z2_DIR_PIN E1_DIR_PIN
#define Z2_ENABLE_PIN E1_ENABLE_PIN
#endif

This defines the Z2_ definitions to the second extruder.

However changing the pins.h snippet to define the Z2_ definitions to E4_, which is in effect the fifth extruder would seem to resolve the problem:

#ifndef Z2_STEP_PIN
#define Z2_STEP_PIN E4_STEP_PIN
#define Z2_DIR_PIN E4_DIR_PIN
#define Z2_ENABLE_PIN E4_ENABLE_PIN
#endif

Plus commenting out the SanityCheck.h:75 line seems to have done the trick, at least as far as compile check. I will have to check tomorrow whether it actually works on the Azteeg X3 Pro.

Davinci 2.0A Duo, Firmware: 1.0.B, XYZ software blocked by firewall.
ABS only at the moment, hoping to go to woodfill and bamboofill PLA when I have a bit more experience with the Duo.
Currently printing woodfill on homebrew Prusa i3.