Homing in the wrong direction message in RepG 0039- Sailfish

82 views
Skip to first unread message

Bluemetal

unread,
Oct 21, 2012, 7:29:01 PM10/21/12
to jetty-f...@googlegroups.com
I have a tall TOM with MK6 (with a 160 mm Z-axis http://www.thingiverse.com/thing:10103 ) and I am not sure if the problem is RepG 0039 or RepG 0039 - Sailfish, as I moved from RepG 034 (that did not have this issue) when I upgraded from Jetty to Sailfish yesterday.

After the gcode has been generated, the pre-run check gives a warning:
  • Homing in the wrong direction for selected machine: 'G161 Z F100 (home Z axis minimum)' 
  • Homing in the wrong direction for selected machine: 'G161 Z F1100 (home Z axis minimum)' 
  • Homing in the wrong direction for selected machine: 'G162 X Y F2500 (home XY axes maximum' 
  • Homing in the wrong direction for selected machine: 'G162 X Y F2500' 
On the control panel the direction inversions are logical, both X and Y are inverted and the HBP moves according to the arrows.

If I tell RepG to proceed, it does move the HBP in the wrong direction.

I then try to "un"- invert the X and Y axis in the on-board preferences and generate gcode again with exact the same result (the control panel directions invert accordingly though).

I tried to use "no end-stops" and "inverted end-stops" and I still get the same message.

The machine selected is "Thing-o-Matic with Stepstruder MK7  / Sailfish" being that MK6 and MK7 can use the same profile according to Dan somewhere in the discussion.

Any suggestions about what is happening here?

Dan Newman

unread,
Oct 21, 2012, 7:36:56 PM10/21/12
to jetty-f...@googlegroups.com

On 21 Oct 2012 , at 4:29 PM, Bluemetal wrote:

> I have a tall TOM with MK6 (with a 160 mm Z-axis
> http://www.thingiverse.com/thing:10103 ) and I am not sure if the problem
> is RepG 0039 or RepG 0039 - Sailfish, as I moved from RepG 034 (that did
> not have this issue) when I upgraded from Jetty to Sailfish yesterday.
>
> After the gcode has been generated, the pre-run check gives a warning:
>
> - Homing in the wrong direction for selected machine: 'G161 Z F100 (home
> Z axis minimum)'

Well, for a ToM you are supposed to home to Z maximum, not minimum.

> - Homing in the wrong direction for selected machine: 'G161 Z F1100
> (home Z axis minimum)'
> - Homing in the wrong direction for selected machine: 'G162 X Y F2500
> (home XY axes maximum'
> - Homing in the wrong direction for selected machine: 'G162 X Y F2500'
>
> On the control panel the direction inversions are logical, both X and Y are
> inverted and the HBP moves according to the arrows.

This has nothing to do with axes inversion. You have the Z homing command
for a Replicator, not a Thing-o-Matic and RepG caught the error.

> If I tell RepG to proceed, it does move the HBP in the wrong direction.

Further evidence that you have Replicator homing: the X & Y axes are homed
in the opposite direction as well.

> Any suggestions about what is happening here?

Your gcode should start with the following. Note that it should "home Z max"
and "home XY min". Make sure that you have "use default start/end gcode" checked
in Print-o-Matic.

(** This GCode was generated by ReplicatorG Sailfish - 0039 **)
(* using Skeinforge (50) *)
(* for a Single headed Thing-O-Matic *)
(* on 2012/10/21 16:32:59 (-0700) *)
(**** beginning of start.gcode ****)
(This file is for a MakerBot Thing-O-Matic)
(**** begin initialization commands ****)
G21 (set units to mm)
G90 (set positioning to absolute)
M108 R5.0 (set extruder speed)
M103 (Make sure extruder is off)
M104 S240 T0 (set extruder temperature) (temp updated by printOMatic)
M109 S100 T0 (set heated-build-platform temperature)
(**** end initialization commands ****)
(**** begin homing ****)
G162 Z F1000 (home Z axis maximum)
G92 Z10 (set Z to 0)
G1 Z0 (move z down 10)
G162 Z F150 (home Z axis maximum)
G161 X Y F2500 (home XY axes minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
(**** begin pre-wipe commands ****)
( Some people have had problems with the nozzle hitting )
( bolts or wipers during this pre-extrusion warmup. )
( If this happens to you, you can change the values for )
( the X and Y positions in the following code. )
( The goal is to have the toolhead wipe its initial )
( extrusion near the edge of the platform, [anchor it] )
( so as not to have it interfere with the print. )
( This file can be found in: )
( replicatorg/skein_engines/skeinforge-##/skeinforge_application/ )
( prefs/<profile name [e.g. Thingomatic-ABP-Mk7]>/alterations )
G1 X25 Y-60 Z10 F3300.0 (move to waiting position)
M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)
G0 X25 Y-57 (Position Nozzle)
G0 Z0.6 (Position Height)
M108 R4.0 (Set Extruder Speed)
M101 (Start Extruder)
G4 P1500 (Create Anchor)
(**** end pre-wipe commands ****)
(**** end of start.gcode ****)

Dan

Bluemetal

unread,
Oct 21, 2012, 8:43:40 PM10/21/12
to jetty-f...@googlegroups.com
Thank you for the answer. Checking for "default gcode" in Print-o-Matic did the job.

The TOM has just printed its first 20mm calibration cube at 100 mm/s and it looks pretty good  I am surprised that is working so well off the bat, given that it took a lot of help to get it to go properly with Jetty 3.5 using 3 mm filament. 

You guys are doing a great job. Thank you!

Dan Newman

unread,
Oct 21, 2012, 8:51:11 PM10/21/12
to jetty-f...@googlegroups.com

On 21 Oct 2012 , at 5:43 PM, Bluemetal wrote:

> Thank you for the answer. Checking for "default gcode" in Print-o-Matic did
> the job.

Glad to hear you're off to a great start!

> The TOM has just printed its first 20mm calibration cube at 100 mm/s and it
> looks pretty good I am surprised that is working so well off the bat,
> given that it took a lot of help to get it to go properly with Jetty 3.5
> using 3 mm filament.

We learned a lot and improved a number of things when doing the port to the Replicator.
And, we decided to remove a number of firmware knobs which proved to not be useful.
(E.g., min segment time, min planner speed, etc., etc.). Moreover, cutting over to 5D
bias also simplified and improved things.

> You guys are doing a great job. Thank you!

Thanks for the kind words. You're quite welcome.

Dan


1oldbozo

unread,
Oct 23, 2012, 9:16:35 PM10/23/12
to jetty-f...@googlegroups.com
I too, say a hearty thank you.... I missed the use default start code windw and had weird homing instincts.....

Bozo

Bluemetal

unread,
Oct 31, 2012, 8:29:25 PM10/31/12
to jetty-f...@googlegroups.com
I have been trying to find where the "default" start.gcode (the one Print-O-Matic uses) is located inside the RepG 039 - Sailfish directories.

In where I thought would be the logical location:

.....\replicatorg-0039\skein_engines\skeinforge-50\skeinforge_application\prefs\Thing-O-Matic Slicing Defaults\alterations

The start.gcode in there (clearly marked as the Thing-O-Matic Slicing Defaults folder) starts with:

(**** beginning of start.gcode ****)
(This is start code for The Replicator running a single material print)
M73 P0 (enable build progress)
G21 (set units to mm)
G90 (set positioning to absolute)

I have not changed anything since I installed this new RepG039 (on a totally separate folder from the previous RepG 034 I was using) to run Sailfish.

The default gcodes in Print-O-Matic are clearly working because the generated gcode includes the right start code:

(** This GCode was generated by ReplicatorG Sailfish - 0039 **)
(*  using Skeinforge (50)  *)
(*  for a Single headed Thing-O-Matic  *)
(*  on 2012/10/31 20:00:12 (-0400) *)
(**** beginning of start.gcode ****)
(This file is for a MakerBot Thing-O-Matic)
(**** begin initialization commands ****)

If I look at the other possible location:

........\.replicatorg\sf_50_profiles\MK6 Sailfish\alterations

The start.gcode there actually has the same Replicator heading even though I have chosen the right Machine - TOM in RepG:

(**** beginning of start.gcode ****)
(This is start code for The Replicator running a single material print)
M73 P0 (enable build progress)
G21 (set units to mm)
G90 (set positioning to absolute)
G10 P1 X16.5 Y0 Z-0.3 (Designate T0 Offset)
G10 P2 X-16.5 Y0 Z-0.3 (Designate T1 Offset)
G55 (Recall offset cooridinate system for T1)

If I try to search for a string in the default code that shows up upon generation like (*  for a Single headed Thing-O-Matic  *) , Windows does not find any files.

In fact, if you try to find the location that is actually listed a little further down in the start code presented abovef:

( This file can be found in:                            )
( replicatorg/skein_engines/skeinforge-##/skeinforge_application/ )
( prefs/<profile name [e.g. Thingomatic-ABP-Mk7]>/alterations )

That "prefs" folder only contains the defaults for the Replicator and Thing-O-Matic, which happen to be identical and to be used by a Replicator.

Does anyone know where the defaults gocde files used in Print-o-Matic are?

hellphish

unread,
Oct 31, 2012, 8:36:58 PM10/31/12
to jetty-f...@googlegroups.com
If you use "default gcode" when slicing, the start and end is determined by the machine XML file. Look in the repg program folder, then machines. 


--
 
 

Bluemetal

unread,
Oct 31, 2012, 8:50:41 PM10/31/12
to jetty-f...@googlegroups.com
Thank you. So the file should actually say:

( This file can be found in:                            )
( replicatorg/machines/<machine name [e.g. thingomatic] )

rather than:

( This file can be found in:                            )
( replicatorg/skein_engines/skeinforge-##/skeinforge_application/ )
( prefs/<profile name [e.g. Thingomatic-ABP-Mk7]>/alterations )

hellphish

unread,
Oct 31, 2012, 8:56:28 PM10/31/12
to jetty-f...@googlegroups.com
It depends on if you use the "use default start/end" setting. If you do, then repg uses the start/end referenced in the XML. If you don't, then it uses the start/end in the alterations folder of whichever SF profile you are using.


--
 
 

Dan Newman

unread,
Oct 31, 2012, 8:59:27 PM10/31/12
to jetty-f...@googlegroups.com

On 31 Oct 2012 , at 5:29 PM, Bluemetal wrote:

> I have been trying to find where the "default" start.gcode (the one
> Print-O-Matic uses) is located inside the RepG 039 - Sailfish directories.

On a Mac, it's a subdirectory under the machines/ directory. E.g., for a thingomatic,

/Applications/ReplicatorG.app/Contents/Resources/machines/thingomatic/

>
> In where I thought would be the logical location:

print-o-matic actually forces the path names for the files used by Alteration
to be empty strings. (Shows up in the logging window at the bottom of the RepG
window.)

Dan

Bluemetal

unread,
Oct 31, 2012, 9:16:42 PM10/31/12
to jetty-f...@googlegroups.com
Thank you both for the help.

Shouldn't then the files in the Thing-O-Matic folders in RepG0039 contain start.gcodes that are designed for the Thing-O-Matic and not the replicator? 

That was actually the problem I saw at the beginning of this thread with the wrong direction homing. Now I see that the files in the TOM folder are for Replicators. I checked with the Zip file replicatorg-0039-windows-r647.zip and the files in there for SF50 are also for a Replicator.

Dan Newman

unread,
Oct 31, 2012, 11:13:41 PM10/31/12
to jetty-f...@googlegroups.com

On 31 Oct 2012 , at 6:16 PM, Bluemetal wrote:

> Thank you both for the help.
>
> Shouldn't then the files in the Thing-O-Matic folders in RepG0039 contain
> start.gcodes that are designed for the Thing-O-Matic and not the
> replicator?

They do. For a Thing-o-Matic, you

home Z max (G162)
home X,Y min (G161)

So, from the Windows zip file, in the directory

replicatorg-0039/machines/thingomatic

All the home X & Y are G161 (home minimum)

$ grep G161 *.gcode
generic start.gcode:G161 X Y F2500 (home XY axes minimum)
start+ABP+Stepstruder.gcode:G161 X Y F2500 (home XY axes minimum)
start+ABP.gcode:G161 X Y F2500 (home XY axes minimum)
start+HBP+Stepstruder OLD.gcode:G161 X Y F2500 (home XY axes minimum)
start+HBP+Stepstruder+Sailfish.gcode:G161 X Y F2500 (home XY axes minimum)
start+HBP+Stepstruder.gcode:G161 X Y F2500 (home XY axes minimum)
start+dual+Sailfish.gcode:G161 X Y F2500 (home XY axes minimum)
start+dual+single+Sailfish.gcode:G161 X Y F2500 (home XY axes minimum)
start+dual+single.gcode:G161 X Y F2500 (home XY axes minimum)
start+dual.gcode:G161 X Y F2500 (home XY axes minimum)

and all the home Z are G162 (home max)

$ grep G162 *
end+Stepstruder+Sailfish.gcode:G162 Z F1000 (home Z axis maximum and begin cooling)
end+dual+Sailfish.gcode:G162 Z F1000 (home Z axis maximum)
end+dual.gcode:G162 Z F1100 (home Z axis maximum)
generic start.gcode:G162 Z F1100 (home Z axis maximum)
generic start.gcode:G162 Z F100 (home Z axis maximum)
start+ABP+Stepstruder.gcode:G162 Z F1000 (home Z axis maximum)
start+ABP+Stepstruder.gcode:G162 Z F150 (home Z axis maximum)
start+ABP.gcode:G162 Z F500 (home Z axis maximum)
start+ABP.gcode:G162 Z F100 (home Z axis maximum)
start+HBP+Stepstruder OLD.gcode:G162 Z F1100 (home Z axis maximum)
start+HBP+Stepstruder OLD.gcode:G162 Z F100 (home Z axis maximum)
start+HBP+Stepstruder+Sailfish.gcode:G162 Z F1000 (home Z axis maximum)
start+HBP+Stepstruder+Sailfish.gcode:G162 Z F150 (home Z axis maximum)
start+HBP+Stepstruder.gcode:G162 Z F1000 (home Z axis maximum)
start+HBP+Stepstruder.gcode:G162 Z F150 (home Z axis maximum)
start+dual+Sailfish.gcode:G162 Z F1100 (home Z axis maximum)
start+dual+Sailfish.gcode:G162 Z F100 (home Z axis maximum)
start+dual+single+Sailfish.gcode:G162 Z F1100 (home Z axis maximum)
start+dual+single+Sailfish.gcode:G162 Z F100 (home Z axis maximum)
start+dual+single.gcode:G162 Z F1100 (home Z axis maximum)
start+dual+single.gcode:G162 Z F100 (home Z axis maximum)
start+dual.gcode:G162 Z F1100 (home Z axis maximum)
start+dual.gcode:G162 Z F100 (home Z axis maximum)

If you go into the Replicator directory, you will find just the opposite: XY home max
and Z homed min

$ cd ../replicator

$ grep G162 *.gcode
Dual_Head_start.gcode:G162 X Y F2500 (home XY axes maximum)
Dualstrusion_start.gcode:G162 X Y F2500 (home XY axes maximum)
Single_Head_start.gcode:G162 X Y F2500 (home XY axes maximum
end.gcode:G162 X Y F2500 ( Home XY endstops )

$ grep G161 *.gcode
Dual_Head_start.gcode:G161 Z F1100 (home Z axis minimum)
Dual_Head_start.gcode:G161 Z F100 (home Z axis minimum)
Dualstrusion_start.gcode:G161 Z F1100 (home Z axis minimum)
Dualstrusion_start.gcode:G161 Z F100 (home Z axis minimum)
Single_Head_start.gcode:G161 Z F1100 (home Z axis minimum)
Single_Head_start.gcode:G161 Z F100 (home Z axis minimum)

>
> That was actually the problem I saw at the beginning of this thread with
> the wrong direction homing. Now I see that the files in the TOM folder are
> for Replicators. I checked with the Zip file *replicatorg-0039-windows-r647.zip
> *and the files in there for SF50 are also for a Replicator.

That's the same zip file I looked at as well. I'm not too sure what you're
seeing, but it contradicts what I'm seeing. And, everyone else with a ToM
using RepG 39 - Sailfish would be having an issue as well. So something
is up with what you're seeing?

Dan

Bluemetal

unread,
Nov 1, 2012, 8:05:09 AM11/1/12
to jetty-f...@googlegroups.com
Dan,

when I uncheck the use defaults start/end gcodes checkbox in the Print-O-Matic dialog, the gcode comes up like this:

(** This GCode was generated by ReplicatorG Sailfish - 0039 **)
(*  using Skeinforge (50)  *)
(*  for a Single headed Thing-O-Matic  *)
(*  on 2012/11/01 07:41:00 (-0400) *)
(<alteration>)
(<alterationFile>) start.gcode (</alterationFile>)
(**** beginning of start.gcode ****)
(This is start code for The Replicator running a single material print)
M73 P0 (enable build progress)
G21 (set units to mm)
G90 (set positioning to absolute)
G10 P1 X16.5 Y0 Z-0.3 (Designate T0 Offset)
G10 P2 X-16.5 Y0 Z-0.3 (Designate T1 Offset)
G53 (Recall offset cooridinate system for T1)
M104 S220 T0 (set extruder temperature)
M109 S100 T0 (set HBP temperature)
(**** begin homing ****)
G162 X Y F2500 (home XY axes maximum
G161 Z F1100 (home Z axis minimum)
G92 Z-5 (set Z to -5)
G1 Z0.0 (move Z to "0")
G161 Z F100 (home Z axis minimum)
M132 X Y Z A B (Recall stored home offsets for XYZAB axis)
(**** end homing ****)
G1 X105.0 Y-70.0 Z10.0 F3300.0 (move to waiting position)
G130 X0 Y0 A0 B0 (Set Stepper motor Vref to lower value while heating)
M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)
G130 X127 Y127 A127 B127 (Set Stepper motor Vref to defaults)
M6 T0
M108 R3.0 T0
G0 X105 Y-70 (Position Nozzle)
G0 Z0.6     (Position Height)
M108 R4.0   (Set Extruder Speed)
M101        (Start Extruder)
G4 P1500    (Create Anchor)

Which despite saying it was made for a Single headed Thing-O-Matic states just below is for a Replicator, even though the machine selected is:

Thing-O-Matic w/ HBP and Stepstruder MK7 (Sailfish) - ReplicatorG - Sailfish - 0039 is displayed at the top of the RepG window.

I thought this was coming from: C:\Users\Miguel\Desktop\replicatorg-0039\skein_engines\skeinforge-50\skeinforge_application\prefs\Thing-O-Matic Slicing Defaults

but it is not.

It is also not coming from:

C:\Users\Miguel\Desktop\replicatorg-0039\machines\thingomatic

because that one as you've pointed out it is correct.

I checked the log window for a directory and could not see it.

Later tonight I will try to track it down among all the different start.gcode files and see which one is being used.

Jetty

unread,
Nov 1, 2012, 10:52:53 AM11/1/12
to Jetty Firmware
> when I uncheck the use defaults start/end gcodes checkbox in the
> Print-O-Matic dialog, the gcode comes up like this:

Don't do that :-) The checkbox should be "checked" with Sailfish.

How it works is you have something called a bookend, which is stored
in the xml, that points to
the appropriate start/end gcode in machines/thingomatic or machines/
replicator.

If you check the "use defaults", then it will use these bookends. If
you don't, then it will use whatever (which
seems to be replicator defaults).

However all of this only applies if you use our defaults. If you've
altered your xml, are using custom xml's
or start/end gcode's in your own "machines" folder, then all bets are
off.


Bluemetal

unread,
Nov 1, 2012, 11:15:50 AM11/1/12
to jetty-f...@googlegroups.com
Thank you. It is almost like the patient complaining that it hurts when he coughs, so the doctor tell him not to cough! :)

I will still try to find where it is coming from just for curiosity sake.

Jetty

unread,
Nov 1, 2012, 12:01:40 PM11/1/12
to Jetty Firmware
> I will still try to find where it is coming from just for curiosity sake.

Provided you haven't configured your own replacements, then everything
can be located in "machines"
in the application folder.

Under there you'll find xml files, find the sailfish one, locate the
bookend in the xml file, and then checkout the start/end gcode it
references.

If you've specified your own replacements (in .replicatorg/machines on
a mac), then those definitions override the ones in the Application
Folder / machines

hellphish

unread,
Nov 1, 2012, 12:30:22 PM11/1/12
to jetty-f...@googlegroups.com

There are two sources for the start/end gcode. The first is in the machines folder. This is the "bookend" gcode.

The second source is in the Alteration folder of whichever Skeinforge profile you are using. This is the "profile" gcode.

If you uncheck the box, you will get the profile gcode. You have selected a Skeinforge profile designed for the Replicator, so it makes sense the profile gcode will also be for a Replicator. If you check the box, you get the bookend gcode designed for your machine. The bookend gcode that comes with repg39-sailfish has lines that are REQUIRED by the firmware. The profile gcode is missing these lines anyway.


What is it that you're asking now? Are you asking why RepG doesn't contain a Skeinforge 50 profile for the thingomatic? 
Are you looking for a TOM profile that isn't there? It isn't there. I can send you mine if you want. 

If you want to make your own, you can replace the profile gcode for that profile with the bookend gcode designed for your machine and you will be set.

Dan Newman

unread,
Nov 1, 2012, 12:50:30 PM11/1/12
to jetty-f...@googlegroups.com
Keep in mind there's at least three locations for these start/end files

1. The default ones used when you check "use default start/end"

<application-path>/machines/<machine-type>/

But *default* is stressed there. If the .xml file has been edited, then the bookend
entries in it may be causing different behaviors.

2. Your private machines/ directory. Not too sure where that is on Windows, but
on Linux and Macs, it's

~/.replicatorg/machines/

3. The alteration directory for the SF slicing profile you used.

And there may be other variations on the above.

Dan

Bluemetal

unread,
Nov 1, 2012, 7:46:38 PM11/1/12
to jetty-f...@googlegroups.com
Found it!

When the default start/end gcode checkbox is unchecked (and I know I need to check it with Sailfish) RepG will use the start and end gcode (in Windows) located at:

C:\Users\Miguel\.replicatorg\sf_50_profiles\MK6 Sailfish\alterations

or alternative number 3 above and that file was created (by duplication) from the default profile for Thing-O-Matic which sits in:

C:\Users\Miguel\Desktop\replicatorg-0039\skein_engines\skeinforge-50\skeinforge_application\prefs\Thing-O-Matic Slicing Defaults\alterations

which is, in reality, a profile for a Replicator as explained above by hellphish.
Reply all
Reply to author
Forward
0 new messages