|
|
@ -229,18 +229,17 @@ bool axis_known_position[3] = { false };
|
|
|
|
// Extruder offset
|
|
|
|
// Extruder offset
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#ifndef EXTRUDER_OFFSET_X
|
|
|
|
#ifndef EXTRUDER_OFFSET_X
|
|
|
|
#define EXTRUDER_OFFSET_X 0
|
|
|
|
#define EXTRUDER_OFFSET_X { 0 }
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifndef EXTRUDER_OFFSET_Y
|
|
|
|
#ifndef EXTRUDER_OFFSET_Y
|
|
|
|
#define EXTRUDER_OFFSET_Y 0
|
|
|
|
#define EXTRUDER_OFFSET_Y { 0 }
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifndef DUAL_X_CARRIAGE
|
|
|
|
#ifndef DUAL_X_CARRIAGE
|
|
|
|
#define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
|
|
|
|
#define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
#define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
|
|
|
|
#define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#define _EXY { EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y }
|
|
|
|
float extruder_offset[EXTRUDERS][NUM_EXTRUDER_OFFSETS];
|
|
|
|
float extruder_offset[EXTRUDERS][NUM_EXTRUDER_OFFSETS] = ARRAY_BY_EXTRUDERS(_EXY, _EXY, _EXY, _EXY);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t active_extruder = 0;
|
|
|
|
uint8_t active_extruder = 0;
|
|
|
@ -569,6 +568,13 @@ void servo_init()
|
|
|
|
|
|
|
|
|
|
|
|
void setup()
|
|
|
|
void setup()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
|
|
|
|
float offset[3][EXTRUDERS] = { EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y, ARRAY_BY_EXTRUDERS(0,0,0,0) };
|
|
|
|
|
|
|
|
for (int e=0; e<EXTRUDERS; e++)
|
|
|
|
|
|
|
|
for (int i=0; i<NUM_EXTRUDER_OFFSETS; i++)
|
|
|
|
|
|
|
|
extruder_offset[e][i] = offset[i,e];
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
setup_killpin();
|
|
|
|
setup_killpin();
|
|
|
|
setup_filrunoutpin();
|
|
|
|
setup_filrunoutpin();
|
|
|
|
setup_powerhold();
|
|
|
|
setup_powerhold();
|
|
|
|