Dual Stepper Drivers on Z axis

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Dual Stepper Drivers on Z axis

Post by Suggy » Wed Jun 07, 2017 9:58 am

Hi I want to use my spear extruder driver to power the second Z axis but when I edit the line
//#define Z_DUAL_STEPPER_DRIVERS from this to this
#define Z_DUAL_STEPPER_DRIVERS
I get a compile error

Marlin_main.cpp: In function 'void process_commands()':
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp: In function 'void manage_inactivity(bool)':
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp: In function 'void kill()':
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope

and it highlights this line

enable_z();

in Marlin_Main.cpp

Can some one please let me know how I can do this please? I have succefully done this with a ramps 1.4

Machine is a Geeetech i3 Pro B running the firmware downloaded from Geeetech.
I find it strange that its classed ad a ULTIMAKER in configuration.h

Please help as I have fitted the 3D Touch but without independent control off the 2 Z axis motors this aint going to work very well

Thanks for looking and any help would be much appriciated

User avatar
William
Site Admin
Posts: 6036
Joined: Tue Jun 07, 2016 9:38 am

Re: Dual Stepper Drivers on Z axis

Post by William » Wed Jun 07, 2017 10:21 am

Hi,try to upgrade with this marlin firmware.
Marlin-PI3_Pro_B_3DTouch.zip
(323.92 KiB) Downloaded 311 times
-Keep your mind and try to test it. :)
-Everything will be fun!-Support all Getech printer.
-You can ask me the questions and I will kindly reply.
-Respect others is the best way you can get help!

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Wed Jun 07, 2017 1:25 pm

Ok thanks will have a look tonight after work

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Wed Jun 07, 2017 2:21 pm

Hi Apart from the alterations I have made its the same firmware

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Thu Jun 08, 2017 3:11 am

Same problem

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Thu Jun 08, 2017 1:32 pm

Using Arduino IDE 1.0.6 to compile. Anything higher and the auto level settings wont compile with a 9 point grid, only a 4 point

User avatar
William
Site Admin
Posts: 6036
Joined: Tue Jun 07, 2016 9:38 am

Re: Dual Stepper Drivers on Z axis

Post by William » Thu Jun 08, 2017 1:51 pm

Hi,could you take some pictures or videos about your actual case as much more detail as possible? It will be more clearer and easier to find the key point.You can upload the video to Youtube or something like that,then just send the video link in this post.
-Keep your mind and try to test it. :)
-Everything will be fun!-Support all Getech printer.
-You can ask me the questions and I will kindly reply.
-Respect others is the best way you can get help!

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Thu Jun 08, 2017 1:53 pm

Tried Arduino 1.7.10 and get this compile error
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
In file included from Marlin.h:21:0,
from Marlin_main.cpp:30:
fastio.h:39:73: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
{DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }\
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:80: note: in expansion of macro '_WRITE_C'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:40: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:69: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:97: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:127: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4361:9: note: in expansion of macro 'disable_z'
disable_z();
^
In file included from Marlin.h:21:0,
from Marlin_main.cpp:30:
Marlin_main.cpp: In function 'void kill()':
fastio.h:45:36: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:34:43: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
{DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); }\
^
fastio.h:45:80: note: in expansion of macro '_WRITE_C'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
In file included from Marlin.h:21:0,
from Marlin_main.cpp:30:
fastio.h:34:72: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
{DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); }\
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:80: note: in expansion of macro '_WRITE_C'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
In file included from Marlin.h:21:0,
from Marlin_main.cpp:30:
fastio.h:39:43: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
{DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }\
^
fastio.h:45:80: note: in expansion of macro '_WRITE_C'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
In file included from Marlin.h:21:0,
from Marlin_main.cpp:30:
fastio.h:39:73: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
{DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }\
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:80: note: in expansion of macro '_WRITE_C'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:40: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:69: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:97: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
fastio.h:30:127: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
#define _WRITE_NC(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0)
^
fastio.h:17:26: note: in definition of macro 'MASK'
#define MASK(PIN) (1 << PIN)
^
fastio.h:45:105: note: in expansion of macro '_WRITE_NC'
#define _WRITE(IO, v) do { if (&(DIO ## IO ## _RPORT) >= (uint8_t *)0x100) {_WRITE_C(IO, v); } else {_WRITE_NC(IO, v); }; } while (0)
^
fastio.h:68:23: note: in expansion of macro '_WRITE'
#define WRITE(IO, v) _WRITE(IO, v)
^
Marlin.h:139:61: note: in expansion of macro 'WRITE'
#define disable_z() { WRITE(Z_ENABLE_PIN,!Z_ENABLE_ON); WRITE(Z2_ENABLE_PIN,!Z_ENABLE_ON); axis_known_position[Z_AXIS] = false; }
^
Marlin_main.cpp:4466:3: note: in expansion of macro 'disable_z'
disable_z();
^
Error compiling.

What next????????

appswert
Posts: 55
Joined: Thu Jun 01, 2017 5:25 pm

Re: Dual Stepper Drivers on Z axis

Post by appswert » Thu Jun 08, 2017 5:17 pm

Suggy wrote:Hi I want to use my spear extruder driver to power the second Z axis but when I edit the line
//#define Z_DUAL_STEPPER_DRIVERS from this to this
#define Z_DUAL_STEPPER_DRIVERS
I get a compile error

Marlin_main.cpp: In function 'void process_commands()':
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:2699: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp: In function 'void manage_inactivity(bool)':
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4361: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp: In function 'void kill()':
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_WPORT' was not declared in this scope
Marlin_main.cpp:4466: error: 'DIOZ2_ENABLE_PIN_PIN' was not declared in this scope

and it highlights this line

enable_z();

in Marlin_Main.cpp

Can some one please let me know how I can do this please? I have succefully done this with a ramps 1.4

Machine is a Geeetech i3 Pro B running the firmware downloaded from Geeetech.
I find it strange that its classed ad a ULTIMAKER in configuration.h

Please help as I have fitted the 3D Touch but without independent control off the 2 Z axis motors this aint going to work very well

Thanks for looking and any help would be much appriciated

Hello Suggy,

I'm not working for Geeetech so this is an "unofficial answer!"
this erros: Marlin_main.cpp:1941: error: 'DIOZ2_ENABLE_PIN_RPORT' was not declared in this scope means that the c compiler is missing a command like "#define DIOZ2_ENABLE_PIN_RPORT blablabla" or that this definition is not at the right place (in this scope). You can try older arduino IDE versions or to fix the firmware "by hand", but you could also "create" you own since you are already fiddeling with the firmware...

I had issuses with the official firmware too and I didn't want to use the old arduino IDE (Yes I'm lazy ;) ). It's normal that the board is programmed as ultimaker, it seems to have the same pins from the atmega2560 going to the steppers, endstops, etc.

What I did is I downloaded the latest marlin firmware from the marlin website http://marlinfw.org/meta/download/ and the new firmware compiles on the latest arduino IDE's without any problems. But you have to change some settings / copy them over from the original Configuration.h like:
-board configuration as ultimaker (only one line)
-endstops which sometimes are inverted logic
-axis direction (including extruder)
-enable sd support (just uncommenting a single line)
-select the right display controller (for me something with reprap_discount_something_i_cant_remember :D )
-and the right thermistor for extruder + bed...
-copy over the presets for acceleration and jerk settings (although you could set them later directly on your printer)
-eeprom settings so you can edit them and store them permanentely...
-and you should enable thermal runaway protection
I don't know if this list is complete so please look for changes yourself. Just go through the new configuration.h and compare the settings with the original one. Some settings are new in malrin 1.1.x so you won't find them in the original file.
Since I don't know your printer moddel I can't be sure that you only need to do changes to the Configuration.h file (sometimes Configuration_adv.h might be important). But for my moddel (aluminium i3 with 3in1 controll box) I only changed the Configuration.h settings.
If you have the a graphic lcd (not the 4 line display) at least in my firmware geeetech made a custom splashscreen. But if you don't change something in the new Marlin firmware you get the default splash screen (which workes too).
I have attached my configuration, but I use an inductive sensor for auto leveling and because of this the logic of the Z-enstop/Z-probe is inverted). Please only use it as guideline and ignore some parts of auto leveling, display and splashscreen.


Be warned: The firmware upload takes nealy minutes... It's smart to enable output during upload in the Arduino IDE (File->(Preferences/Settings) and the checkbox there) to know what's going on :)

Good luck
appswert
Attachments
Configuration.h.zip
(19.08 KiB) Downloaded 257 times

Suggy
Posts: 27
Joined: Tue Oct 11, 2016 1:13 am

Re: Dual Stepper Drivers on Z axis

Post by Suggy » Thu Jun 08, 2017 10:59 pm

Thanks appswert
Was trying to avoid going through the new Marlin firmware, Geeetech must have removed some stuff from the code. Ive built 2 printers from scratch so know the basics of setting up the configuration.h and all the other stuff that will need changing.
Thanks for explaning why it wouden't compile. Looks like I'm heading to Marlin website. That's 1/2 my evening gone lol
By the way its a Geeetech i3 Pro b with the 3d touch (pain in the ass to setup).
May put an inductive one on my self build when I upgrade it to E3D

Thanks for the help much appreciated

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest