I am looking for a Firmware that supports dual X Carriages.

@Luca_Baruzzo Please find the archive here: https://drive.google.com/file/d/0By5RP0qeDY-5UGJkNnFsOXVsZkE/view?usp=sharing

@Phoenix_and_me ​ 3d printers require a specialized type of motors called stepper motors, and they also require special boards that will just run one process, otherwise the timing is off, and everything is imprecise, Iego does not have the nessicary requirements,and you must make a new program for every file you want to print, that requires a lot of time. 3d printers use a specialized command system called g code, and to provide the gcode, you need a slicer, that slices the model you download into layers, and tells the printer what to do for each layer.

@Bjorn_Marl you can’t have the X_MAX_POS > X2_MAX_POS
correct then and try with
X_MIN_POS = 0

@Luca_Baruzzo Thank you, that was an error introduced by trying with one carriage first. Sadly changing this did not work out.
From all i tried it seems that it is realy the position ox X2 that is not stored correctly internaly. After homing it is set to x=20 instead of X=260. If i use G92 X260 to correct this it starts working correctly. So maybe it is the G28 command that is buggy

@Luca_Baruzzo I just found out that line 2400 in marlin_main ( inactive_extruder_x_pos = current_position[X_AXIS]; ) will overwrite the correct position with a wrong value. Removing that line will result in X2 having the correct positional value after homing X. Any idea what that line was intended for?

i think it’s correct because if you make g28 with t0 it move the t1 to max position and save it to inactive_extruder_x_pos

this is my marlin
https://drive.google.com/folderview?id=0B5youdv6msYXblB6VG5ZbnY0QTQ&usp=sharing
i add some code on marlin_main and on ultralcd for drive a carriage led…

set this to 0
#define EXTRUDER_OFFSET_X {0.0, 20.00}
because you configure the offset with X2 max pos

@Luca_Baruzzo I get a compile error in pins.h line 129. Missing binary operator before token “(”
I can’t make heads or tails from it :frowning:

The X carriages are not directly symmetric, the difference between home positions and printable area is different from the distance of the nozzles

strange, which board do you have?
i use arduino ide 1.6.6

if you use ramps try to swap the pins_RAMPS_13.h with your old file because i made some change in that…

I use a RUMBA and i already tried exchanging the files. What i noticed is that your files seem to be coded differently. Could you possibly zip them on your system and upload them? I got the impression that the character coding might have changed thanks to google drive.

https://drive.google.com/file/d/0B5youdv6msYXMlBYYVNDVnppemM/view?usp=sharing

@Luca_Baruzzo Thank you :slight_smile:
This version does compile correctly. I tried adding all modifications of your version to mine (using beyondcompare) so now i have the same version, except for the basic settings of the machine. The behaviour is still the same, which makes it very likely that the problem is somewhere in my settings and not actually Marlin. Maybe i just haven’t understood fully what each setting does, i’ll try to find more information on this. If you have any sources of information i would be very thankful.

@Luca_Baruzzo It’s solved, i am offcially an idiot, the problem was that i enabled EXTRUDER_OFFSET_X at all. Many thanks for your help :slight_smile:

Good :slight_smile:
if you have other problems i’m here…

last month i build my second 3d print, it use dual x carriage and rumba board like you
now i has same problem like you, x2 carriage move to + when he should move to bed
i already try reptier and marlin, it still can’t work
may i have your marlin to compare and modify? that will be a great present for me.

i like make some useful things with 3d printer, that is one of my design, i use flixble TPU to print, so beautyful and useful.

@Luca_Baruzzo i build one dual x carriage too, and got same problem like Björn Marl, can you help me fix my marlin problem?
any tips hints will be grateful

@Bjorn_Marl can you help me?