Code Monkey home page Code Monkey logo

gpx's Introduction

GPX

GPX was created by Dr. Henry Thomas (aka Wingcommander) in April 2013

GPX is a post processing utility for converting gcode output from 3D slicing software like Cura, KISSlicer, S3DCreator and Slic3r to x3g files for standalone 3D printing on Makerbot Cupcake, ThingOMatic, and Replicator 1/2/2x printers - with support for both stock and sailfish firmwares. My hope is that is little utility will open up Makerbot 3D printers to a range of new and exciting sources and utilities for 3D printing input.

Installation

Linux

sudo apt-get install gpx

Windows

  • Download a release .zip file from GPX releases
  • Copy gpx.exe from the .zip file to somewhere on your path.

or

If you'd prefer an installer, you may want to install GPX via GpxUi

Mac

  • Download a release .dmg file from GPX releases
  • Open up the .dmg file and drag the gpx application to /usr/local/bin or somewhere on your PATH

or via homebrew:

brew install gpx

or with a GUI:

GpxUi

Installing from source

You need to have the GNU tools already installed and configured on your machine. For Windows, mingw or cygwin. For Linux, sudo apt-get install build-essential. For Mac, perhaps: Xcode menu > Preferences > Downloads > Command Line Tools.

git clone https://github.com/markwal/GPX
cd GPX
mkdir build
cd build
../configure
make
sudo make install

Copyright

Copyright (c) 2013 WHPThomas, All rights reserved. Additional changes Copyright (c) 2014, 2015 DNewman, MWalker All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Usage

gpx [-CFdgilpqrtvw] [-b BAUDRATE] [-c CONFIG] [-e EEPROM] [-f DIAMETER] [-m MACHINE] [-N h|t|ht] [-n SCALE] [-x X] [-y Y] [-z Z] IN [OUT]

Options:
	-C	Create temporary file with a copy of the machine configuration
	-F	write X3G on-wire framing data to output file
	-N	Disable writing of the X3G header (start build notice),
	  	tail (end build notice), or both
	-d	simulated ditto printing
	-g	Makerbot/ReplicatorG GCODE flavor
	-i	enable stdin and stdout support for command line pipes
	-l	log to file
	-p	override build percentage
	-q	quiet mode
	-r	Reprap GCODE flavor
	-t	truncate filename (DOS 8.3 format)
	-v	verbose mode
	-w	rewrite 5d extrusion values
CONFIG: the filename of a custom machine definition (ini file)
EEPROM: the filename of an eeprom settings definition (ini file)
DIAMETER: the actual filament diameter in the printer

MACHINE: the predefined machine type
	some machine definitions have been updated with corrected steps per mm
	the original can be selected by prefixing o to the machine id
	(or1, or1d, or2, or2h, orx, ot7, ot7d)
	c3  = Cupcake Gen3 XYZ, Mk5/6 + Gen4 Extruder
	c4  = Cupcake Gen4 XYZ, Mk5/6 + Gen4 Extruder
	cp4 = Cupcake Pololu XYZ, Mk5/6 + Gen4 Extruder
	cpp = Cupcake Pololu XYZ, Mk5/6 + Pololu Extruder
	cxy = Core-XY with HBP - single extruder
	cxysz = Core-XY with HBP - single extruder, slow Z
	cr1 = Clone R1 Single with HBP
	cr1d = Clone R1 Dual with HBP
	r1  = Replicator 1 - single extruder
	r1d = Replicator 1 - dual extruder
	r2  = Replicator 2 (default)
	r2h = Replicator 2 with HBP
	r2x = Replicator 2X
	t6  = TOM Mk6 - single extruder
	t7  = TOM Mk7 - single extruder
	t7d = TOM Mk7 - dual extruder
	z   = ZYYX - single extruder
	zd  = ZYYX - dual extruder
	fcp = FlashForge Creator Pro

SCALE: the coordinate system scale for the conversion (ABS = 1.0035)
X,Y & Z: the coordinate system offsets for the conversion
	X = the x axis offset
	Y = the y axis offset
	Z = the z axis offset

IN: the name of the sliced gcode input filename
OUT: the name of the X3G output filename
       specify '--' to write to stdout

Examples:
	gpx -p -m r2 my-sliced-model.gcode
	gpx -c custom-tom.ini example.gcode /volumes/things/example.x3g
	gpx -x 3 -y -3 offset-model.gcode

gpx's People

Contributors

dcnewman avatar dnewman-polar3d avatar hyperair avatar markwal avatar matthova avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gpx's Issues

Replicator 1 Dual - Tool1 manual extrude/retract causes carriage to move

Issue description & environment

Running Octoprint 1.3.8 on a Debian9 (x64) HP desktop, GPX version 2.6.2

Printer is a Qidi Tech 1 (2017 model) using "Replicator 1 - dual extruder" machine profile, reprap GCode flavour.

Everything works great in terms of uploading GCode generated by 3rd party slicers, I want to clarify that before I start. Using Octoprint's built-in manual extrude/retract buttons works fine when selecting Tool0 (right-hand nozzle as you look at the machine) however using the buttons having selected Tool1 results in no extrusion or retraction, but instead the carriage moves slowly towards 'home' in the X-axis.

Steps to reproduce the issue

  1. Heat nozzle T1 to extrusion temperature
  2. Switch to the 'Control' page, Select Tool, Tool 1
  3. Enter 5 or 10mm (or whatever) length in mm to extrude or retract
  4. Hit the 'Extrude' or 'Retract' buttons - the result is the same. No extrusion or retraction takes
    place, but the carriage moves slowly right in the X-axis and then stops after a short while.

What's the expected result?

  • Extruder 'Tool 1' (left-hand nozzle) should extrude or retract the specified amount of filament when the appropriate button is pressed, having selected 'Tool 1' to interact with.

What's the actual result?

  • No extrusion or retraction occurs, but instead the carriage moves slowly towards 'home' in the X-axis.

Additional details / screenshot

I can provide a video of the resulting behaviour if it would be of any use. I can also provide my GPX.ini if necessary, however it's basically default as per the included Replicator 1 Dual machine profile.

Mac version not opening?

I get this error in Terminal "Command line error: provide an input file or enable standard I/O"

gpx 2.6.7 build failure

๐Ÿ‘‹ trying to upgrade gpx to the latest release, but running into some build issue.

Here is the build failure log

build failure
==> make install
Making install in src/gpx
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o gpx.o gpx.c
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o gpx-main.o gpx-main.c
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o gpxresp.o gpxresp.c
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o vector.o vector.c
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o ../shared/machine_config.o ../shared/machine_config.c
clang -DHAVE_CONFIG_H -I. -I../../src/shared  -Wall -Wstrict-prototypes -Wformat -Werror=format-security -DSERIAL_SUPPORT -I../../src/shared   -g -O2 -c -o ../shared/opt.o ../shared/opt.c
clang  -g -O2   -o gpx gpx.o gpx-main.o gpxresp.o ../shared/machine_config.o ../shared/opt.o vector.o  -lm 
Undefined symbols for architecture x86_64:
  "_iconv", referenced from:
      _translate_handler in gpxresp.o
  "_iconv_close", referenced from:
      _translate_handler in gpxresp.o
  "_iconv_open", referenced from:
      _translate_handler in gpxresp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [gpx] Error 1
make: *** [install-recursive] Error 1

full build log is in here, https://github.com/Homebrew/homebrew-core/runs/1424779985
relates to Homebrew/homebrew-core#65214

Tests fail in big-endian architectures

Here's a build log. Near the end, there's a make test call which falls over because s3g reads are done without consideration for endianness.

diff -b tests/lint.txt linux_obj/lint.txt
9c9
< 8: (139) Absolute move to (889, 889, 4000, -96, 0) with DDA 269

---
> 8: (139) Absolute move to (2030239744, 2030239744, -1609629696, -1593835521, 0) with DDA 218169344

CTC printer (replicator one clone settings)

The scaling by default does not seem to be correct with the cr1d profile. When I used the default setting my parts which should be 27mm across came out at 25.8mm. After some research and editing I have made this config file which works 1:1 scale for the printer. Essentially steps_per_mm = 94.40389

Could this be updated in the main branch? I see its set to 88.8 in std_machines.h

[printer]
machine_type = cr1d
machine_description = Clone R1 Dual with HBP
filament_diameter = 1.75
packing_density = 0.97
nozzle_diameter = 0.4
toolhead_offset_x = 33
toolhead_offset_y = 0
toolhead_offset_z = 0
jkn_k = 0.005
jkn_k2 = 0.055
extruder_count = 2
timeout = 20

[x]
steps_per_mm = 94.40389
max_feedrate = 18000
max_acceleration = 1000
max_speed_change = 15
home_feedrate = 2500
length = 280
endstop = 1

[y]
steps_per_mm = 94.40389
max_feedrate = 18000
max_acceleration = 1000
max_speed_change = 15
home_feedrate = 2500
length = 195
endstop = 1

[z]
steps_per_mm = 400
max_feedrate = 1170
max_acceleration = 150
max_speed_change = 10
home_feedrate = 1100
length = 210
endstop = 0

[a, b]
steps_per_mm = 96.2752
max_feedrate = 1600
max_acceleration = 2000
max_speed_change = 20
motor_steps = 3200
has_heated_build_platform = 1

G0 commands set feedrate greater than max_feedrate

I had reason to delve into the code and the following line struck me as odd when processing the G0 g-code:

4479:  feedrate = gpx->machine.x.max_feedrate * length / delta.x;

length of the vector from the current position to the requested position
delta.x is the x axis component of that vector
max_feedrate is te maximum feedrate of the axis

It's not too clear what the intention of this code is, but it appears that this and the corresponding lines for Y and Z axis scale the feedrate by the distance the extruder has to travel.

However as length >= delta.x, length/delta.x will always be greater than 1 and therefore feedrate will always be greater that max_feedrate.

Even then, queue_ext_point appears to ignore the supplied feedrate and calculate its own using get_safe_feedrate.

get_safe_feedrate seems even more screwed up with code like:

719:    if(flag & X_IS_SET && (feedrate * delta->x / distance) > gpx->machine.x.max_feedrate) {
      feedrate = gpx->machine.x.max_feedrate * distance / delta->x;
  }

How does this calculate any sane value?

"Refresh SD files" stopped working.

My setup is OctoPi with GPX plugin connected to a Flashforge Creator Pro with a Toshiba Flashair sd card. Previously, I was able to upload files to the Wireless SD card, then use "Refresh SD Files" in OctoPrint and find the new file in the file list to print it.

I'm currently on OctoPrint: 1.2.10 and GPX Plugin: 2.4.2. When I upload my new file, i cannot get that file to show up in the file list to print. I do have quite a few existing files still showing up, though. When i use the printer's buttons, I can manually find the file and print it.

The new file is the same extension as all the old files and in the same folder. When I restarted octoprint, it refreshed its file list and was able to show my new file.

GPX plugin not sending temp updates while heating up

--- per Mark to open here in the GPX plugin project

What were you doing?

Sent a gcode file to print. It goes thorugh the GPX plugin though. Happens with any file I submit.

What did you expect to happen?

Upon telling the printer to heat up, expected to have every 5s update of the temperatures.

What happened instead?

It starts heating up the bed, and then no communication from the printer until the bed reaches target temp. Same with when extruder is told to heat up. The print time also stops running.

Branch & Commit or Version of OctoPrint

1.2.9 master

Printer model & used firmware incl. version

Qidi Tech I running Sailfish 7.8

Browser and Version of Browser, Operating System running Browser

Windows 7, Chrome 48.

Link to octoprint.log
Link to contents of terminal tab or serial.log
Link to GPX log
all here:
https://www.dropbox.com/s/6ka2u10n3ggkj6n/Desktop.zip?dl=0

Screenshot(s) showing the problem:

https://www.dropbox.com/s/ok8ery6xudig8ec/Capture.JPG?dl=0

I have read the FAQ.

printer returning "buffer overflow" responses and quitting

What were you doing?

Sent a gcode file to print. It goes thorugh the GPX plugin though. Happens with any file I submit.

What did you expect to happen?

terminal showing each command followed by OK.

What happened instead?

Every 10th command or soo it returns Recv: // echo: buffer overflow and eventually the printer just stops responding.

Branch & Commit or Version of OctoPrint

1.2.11 master

Printer model & used firmware incl. version

Qidi Tech I running Sailfish 7.8 (R1234)

Browser and Version of Browser, Operating System running Browser

Windows 7, Chrome 48.

Link to octoprint.log
Link to contents of terminal tab or serial.log
Link to GPX log
all here:
https://www.dropbox.com/s/kpehfih3i7859nv/temp.zip?dl=0

Screenshot(s) showing the problem:

I have read the FAQ.

Python 3 support

With the end of support for Python 2 coming up, it would be a good time to make sure GPX is compatible with Python 3.

Debian is currently removing all packages from the unstable distribution that depend on Python 2. Since gpx is packaged for Debian, it would mean that gpx will be going away soon, unless the Python parts can be removed or made compatible with Python 3.

What needs to be done to make GPX not depend on Python 2? Is it already compatible with Python 3? Is some porting work needed?

eeprom for sailfish v4.7

Hello,

I'm trying to get my Makerbot Thing-O-Matic (Mk7 Gen4) working with GPX. Manipulating the eeprom is necessary because I have to change at least the Z home value. Now GPX has only a eeprom map for Sailfish v7.7, the latest version my TOM can handle is v4.7. Since it doesn't seem this will change, I think it makes sense to add support for this version as well.

I have started with this - for now focusing on the home and steps per mm values. For the home values there is a weird signed / unsigned thing going on described here since this might be connected to js (but maybe also python or json conversion?). For steps per mm I ran into the problem that this value is actually stored as 64 bit integer and there is no function in GPX to read that, so those would be nice to have. I also noticed that the naming of the entries between v4.7 and v7.7 can differ. I would be okay going with the names of v7.7 and looking how close we can get, also thinking about OctoPrint-GPX and how those values are hard coded in the js there. Let me know if they're efforts of using eeprom maps with their original names.

Greetings,
Michael

What gcode flavor should I use in Slic3r/Sailfish?

What gcode flavor do you set in Slic3r? I have a FFCP with Sailfish firmware. Sailfish is supposed to be ReplicatorG gcode. I cannot get proper Dual extrusion behavior out of gpx with either -g or -r. With -g, the tool switches work but the bed is heated to the tool temp. With -r the bed temp is fine but the extruders won't switch.

Attempting to run gpx from command line

Hi,

This may not be an issue, but unsure where to go to ask. I would have thought with the output not showing any issues, the gcode would be received and acknowledged by the printer. GPX is running ok from the octoprint server on the same (pi) machine. I installed gpx from the linux repositories rather than building it.

I'm trying this:

sudo gpx -v -c ./gpx.ini test.gcode /dev/ttyACM0

The gpx.ini being used is attached here

gpx.ini.txt

test.gcode has G28 on a single line. I've also tried M140 S60 to see if the printer will heat its bed.

Here is the output:

Loading config: gpx.ini
Loading machine definition: Replicator 1 - dual extruder
Loaded config: gpx.ini
Loading config: ./gpx.ini
Ignoring duplicate machine definition: -m r1d
Loaded config: ./gpx.ini
Reading from: test.gcode
Writing to: /dev/ttyACM0
Extrusion length: 0.000 metres
Estimated print time: 3 minutes 36 seconds
X3G output filesize: 29 bytes

Dual extrusion - left extruder wont warm up

I'm using Prusaslicer and post processing with gpx, and I set prusaslicer up with all the things it needs, but when I go to print dual, the file that I've set to use extruder "2" won't print, and the temperature never even updates on the 3d printer.
Here is my start gcode

T0; set primary extruder
M73 P0; enable show build progress
M109 S[first_layer_bed_temperature] T0; heat bed up to first layer temperature
M104 S[first_layer_temperature_0] T0; set nozzle heater to first layer temperature
M103; disable RPM
G21; set units to mm
G162 X Y F6000; home XY axes maximum
G161 Z F9000; home Z axis minimum
G92 Z0; set Z to 0
M132 X Y Z A B; Recall stored home offsets
G90; set positioning to absolute
G1 Z30; move Z to waiting height
G1 X-95 Y-73 Z30 F14000; move to waiting position (front left corner of print bed)
G130 X0 Y0 A0 B0; set stepper motor vref to lower value while heating
M6 T0; wait for bed and extruder to heat up
G130 X127 Y127 A127 B127; set stepper motor vref to defaults
M108 T0 R3; set extruder speed
G92 E0; set E to 0
G90; use absolute coordinates
M320; acceleration enabled for all commands that follow
G1 Z[first_layer_height] F6000.000; move to first layer height
G1 X100 Y-73 F14000.000; move to front right corner of bed
G1 X-90 Y-73 E24 F2000.000; extrude a line of filament across the front edge of the bed
G4 P2000; wait for ooze to slow
G1 Z0 F6000.000; lower nozzle height to 0
G1 X-95; wipe nozzle
G1 Z[first_layer_height] F6000.000; set nozzle to first layer height
G1 F12000; ensure fast travel to first print move
G92 E0; set E to 0 again
M73 P0; reset build progress to 0

And here is my end gcode:

M73 P100 ; end build progress
G162 X Y F2500; home X and Y axes
M18; disable all stepper motors
M109 S0 T0; set bed temperature to 0
M104 S0 T0; set extruder temperature to 0
M70 P5; Display "We <3 Making Things!" message
M72 P1; Play Ta-Da song

Am I doing anything wrong?

My 3D printer is an original FFC (the wooden one)

Problem with SD_Card_Path

Hello,

after I have used GPX 1.3 for a long time, I updated to 2.5.2.
Now I have a problem with SD_Card_Path.
The gpx.ini is locaded in the same folder as gpx.exe.
Under 1.3 this works, sd_card_path=//ctc/Plot, this is the SD, after the update the x3g file is not made.
I also thried sd_card_path=C: and sd_card_path=C:\Temp and so on.
If I coment , that means that I put an ";" in front of "sd_card_path", the x3g file is made, but stored in the folder as the gcode is stored.

What is my mistake?

Regards,
Stefan

different nozzle diameters on a dual extruder machine

So, I have a replicator dual (CTC clone) and I've got a 0.4mm nozzle in the right, and a 0.8mm nozzle in the left, so I can print fast rough prints, or nice fine prints without messing about with tool changes.

Alas the gpx tool only allows setting the nozzle diameter once per machine :( :(

I can probably figure out making the change to the code to support a nozzle_diameter_override feature on the tool options, but it got me thinking about the printer itself. does the printer's firmware need to know that the nozzle diameter has changed?

as for the change, there's a bit around line 2200 in gpx.c where it is using nozzle diameter as a multiplication factor in working out the volume to extrude, and around 3200 ish where it is overriding the layer height. I haven't yet looked at the code required to read the value in from the ini file though.

I did have a thought... instead of making code changes, could I get away with setting the nozzle diameter of the machine to 0.8 and then overriding the filament diameter from 1.75 to 3.2 on the 0.4mm nozzle and thus cause it to extrude one quarter the length of filament it would extrude if it was a 0.8?

Feature request: allow ignoring any progress before a certain marker

When I use the -p option, I usually get much better estimates of the progress and remaining time on the printer's LCD than the crude percentage that Slic3r calculates as z/z_max. However, the GPX estimate is still way off at the beginning of the print. When slicing a relatively small model, the percentage will already be at e.g. 38% just after the start G-code block, which does nothing but heating the nozzles and extruding a priming line. This definitely does not take 38% of the time of the entire print, especially not if I have preheated. Even for large prints, I still need to multiply the initial time estimate from the printer by 2 to come anywhere near the actual time. I'd rather ignore the start G-code block entirely for the progress estimate, and would like to see a progress of 0% or 1% when the actual print starts.

I thought the @body macro ignores everything before it, but it does not seem to affect the progress estimate in any way. Neither does removing any M73 commands from the start G-code.
I have found the broken @header and @footer macros in the source code, maybe they can be made useful to implement this kind of feature.

Random stops when using GPX to send gcode directly to printer

Hi,

I'm very new to the whole matter so please let me know if I did something wrong or missed information.

I want to make my 3D printer somewhat intelligent by using the RasPi as a "control device". Therefore, I want to use command line only tools to talk with the printer.

I am using a Raspberry Pi 2 B with the OctoPrint image. I installed gpx via apt-get.
I had to install OctoPrint version 1.2.14 since the GPX-plugin does not support the current 1.2.15 version.

I try to print a 20mm testing cube from thingiverse (if I process it with MakerWare in my Windows machine and put it on SD it works perfectly fine).

When I try to send a gcode file to my Replicator 2X printer (Sailfish, latest firmware), the build process stopps at a (for me) random point. The syntax I use is: (also tried -s, did not change anything for me)
gpx -v -g -m r2x file.gcode /dev/ttyACM0
The printer is connected to USB (ttyACM0).
The output is looking fine, it loads the machine definition, reading the file and writing to /dev/ttyACM0. But the x3g output size is a somewhat random number (always a couple 100 bytes, but (almost) never the same size).

When I output to a .x3g file instead of ttyACM0 the filesize is always the same (104629 bytes, just fyi).

Am I doing something wrong with the command line?

Thanks for the help,
Richard

Wrong handling of M190

I just found an odd behavior with the M190 command. It seems as if when 'M190 S60' is the only command indicating bed temperature, GPX will not produce a x3g command to heat the bed.

It looks like M190 is interpreted as wait for bed temperature to reach a certain level, previously indicated, presumably by an M104. Slic3r however seems to only add a M190 with the temp at the beginning.

Would it be possible to change the behaviour of GPX so that it uses the temperature value stablished by the M190 command?

{ERROR} M116 Doesn't seem to be working??

Not sure if this is gpx bug, or an OctoPrint Bug.

I'm running OctoPrint version 1.3.2rc1
Here is my starting G-Code, which doesn't seem to be working now, specifically the M116 Command

Observations:

  1. On a cold start, both bed and extruder temps show up on the temperature tab.
  2. As soon as the bed temperature (60C Setpoint) reaches temperature the print starts, with only a slight increase in extruder temp.
  3. On a warm bed start (say 10C below actual temp), the extruder temp is not passed to OctoPrint, and the print again starts.
  4. I've notice that is takes 15-30 seconds on a cold start for the extruder set point temp to show up in OctoPrint

If I replace:

M140 S[bed0_temperature] T0 ; Heat buildplate
M104 S[extruder0_temperature] T1 ; Heat left extruder
M116 ; Wait for all temps to be reached

With this, everything works fine.

M140 S[bed0_temperature] T0
M134 T0 ; stabilize bed temperature
M104 S[extruder1_temperature] T1
M133 T1 ; stabilize left extruder temperature

No Longer Works

; **** Replicator 1 dual start.gcode Left ****
T0; always home on the right extruder
M73 P0 ; Enable build progress
G162 X Y F3000 ; Home XY maximum
G161 Z F1200 ; Home Z minimum
G92 X0 Y0 Z-5 A0 B0 ; Set Z to -5
G1 Z0 ; Move Z to 0
G161 Z F100 ; Home Z slowly
M132 X Y Z ; Recall home offsets
G1 X-95 Y-70 Z30 F9000 ; Move to wait position off table
T1 ; switch to the left extruder
M126 S[fan_speed_pwm] ; Set fan speed
M140 S[bed0_temperature] T0 ; Heat buildplate
M104 S[extruder0_temperature] T1 ; Heat left extruder
M116 ; Wait for all temps to be reached
G130 X118 Y118 Z40 A118 B118 ; Default stepper Vrefs
G92 A0 B0 ; Zero extruders
G1 X100 Y-70 F9000 ; Move to front right corner of bed
G1 Z0.3 F6000 ; Move down to purge
G1 X-90 Y-70 E24 F2000 ; Extrude a line of filament across the front edge of the bed
G1 X-100 Y-70 F180 ; Wait for ooze
G1 X-110 Y-70 F5000 ; Fast wipe
G1 Z0.5 F100 ; Lift
G92 A0 B0
M73 P1 ; @Body (notify GPX body has started)
; **** end of start.gcode ****

Heatsink fan for Makerbot TOM

Hello,

I'm now running into the problem that I can't seem to be able to turn the heatsink fan of my Makerbot TOM on. I assume set_Fan would turn it on, but when the machine type / flavor is set to MakerBot, it looks like there is no way to enter this function. M016 only calls set_fan, if(gpx->machine.id >= MACHINE_TYPE_REPLICATOR_1).

With ReplicatorG I used M106 to turn on the fan, so I'm not sure why this is different here and the Automated Build Platform is enabled. It has been a long time since I used the ABP but I'm pretty sure that there was also a way to also turn the fan on. So I guess my question is if that check for MACHINE_TYPE_REPLICATOR_1 could be removed? And I believe that everyone still working with a TOM has dismantled the ABP since the results are not that good.

Greetings,
Michael

Print starts on back right edge

Since I updated GPX to 2.3 version from this repo, all my print are now starting on the back right edge of the printer instead of the center like before. This is a FlashForge Creator Pro

Has anything changed regarding print start position? When we slice with cura or slic3r we set print_center to 0,0 although I have also tried calculating the center coordinate and setting that (e.g. 50,50 on a 100x100 bed)

We're not passing the bed size on the gpx ini file (it hasn't been needed with previous versions). Could this be the cause?

You can trick GPX into producing a wild move

gcode like this:

G162 X Y F2000
G161 Z F900
G92 X0 Y0 Z-5 A0 B0
G1 Z0 F900
M132 X Y Z A B
G1 Z30

Will result in a weird generated absolute move. Another example:

G28 X Y Z
M132 X Y Z A B
G1 Z5
G161 Z F100
M132 X Y Z A B
G1 Z30

Will also fail twice.

The reason is, when GPX doesn't know the position of one of the axes (for example after M132 the bot knows where it is, but GPX does not), it will use x3g:139 rather than x3g:155 and it will send in the "current" coordinate for any axis not specified. In this case, perhaps a long way away from where the bot thinks it is.

To fix this, my intention is that if there will be any unknown axis left after the current move (some unknown axis hasn't been specified in the gcode), I'll stick with x3g:155, but issue a 0 relative move for any of those axes. So that G1 Z30 will turn into x3g:155 with all axes relative except for Z which will be absolute to steps(30mm).

When used in OctoPrint terminal, some numbers go NaN/INF

This particularly happens after a disconnect/reconnect, or after a job is canceled:

Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Send: M105
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M105
Recv: ok T:230 /230 B:0 /0 @:0 B@:0
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:-inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:inf Z:inf E:-inf
Send: M27
Recv: ok
Recv: SD printing byte on line 0/0 X:inf Y:-inf Z:inf E:-inf

Replicator 2x with the latest master of Sailfish, with some extra features enabled, iirc. Looks like it starts getting a zero somewhere then it poisons all the state. It also poisons some of the temperature reporting (heated bed and the left-hand tool) which stay stuck at 0.

Impossible to install GPX plugin on OctoPrint

Hello,
I'm thinking to by a Raspberry to manage and see the extruder dring the print of my Flashforge Creator Pro.
Before buying it, I want to try it on a HP tablet ElitePad with Win10.
All seems to work (I'm in vacation without the 3D printer), I can simulate a print and record a movie.
I can also install some plugins.

But I need GPX for my Flashforge.
I have an issue during the installation of the plugin.
Here the log file (reduced)

2017-08-26 12:34:19,331 C:\OctoPrint\venv\Scripts\python.exe -m pip install https://markwal.github.io/octoprint-download/OctoPrint-GPX.tar.gz
2017-08-26 12:34:23,357 > Collecting https://markwal.github.io/octoprint-download/OctoPrint-GPX.tar.gz
2017-08-26 12:34:24,723 > Downloading https://markwal.github.io/octoprint-download/OctoPrint-GPX.tar.gz (125kB)
2017-08-26 12:34:33,934 > Requirement already satisfied: OctoPrint in c:\octoprint\venv\lib\site-packages\octoprint-1.3.4-py2.7.egg (from OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,934 > Requirement already satisfied: flask<0.11,>=0.9 in c:\octoprint\venv\lib\site-packages\flask-0.10.1-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,934 > Requirement already satisfied: Jinja2<2.9,>=2.8 in c:\octoprint\venv\lib\site-packages\jinja2-2.8.1-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,936 > Requirement already satisfied: werkzeug<0.9,>=0.8.3 in c:\octoprint\venv\lib\site-packages\werkzeug-0.8.3-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,937 > Requirement already satisfied: tornado==4.0.2 in c:\octoprint\venv\lib\site-packages\tornado-4.0.2-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,937 > Requirement already satisfied: sockjs-tornado<1.1,>=1.0.2 in c:\octoprint\venv\lib\site-packages\sockjs_tornado-1.0.3-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,938 > Requirement already satisfied: PyYAML<3.11,>=3.10 in c:\octoprint\venv\lib\site-packages\pyyaml-3.10-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,940 > Requirement already satisfied: Flask-Login<0.3,>=0.2.2 in c:\octoprint\venv\lib\site-packages\flask_login-0.2.11-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,940 > Requirement already satisfied: Flask-Principal<0.4,>=0.3.5 in c:\octoprint\venv\lib\site-packages\flask_principal-0.3.5-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,941 > Requirement already satisfied: Flask-Babel<0.10,>=0.9 in c:\octoprint\venv\lib\site-packages\flask_babel-0.9-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,943 > Requirement already satisfied: Flask-Assets<0.11,>=0.10 in c:\octoprint\venv\lib\site-packages\flask_assets-0.10-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,944 > Requirement already satisfied: markdown<2.7,>=2.6.4 in c:\octoprint\venv\lib\site-packages\markdown-2.6.9-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,944 > Requirement already satisfied: pyserial<2.8,>=2.7 in c:\octoprint\venv\lib\site-packages\pyserial-2.7-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,946 > Requirement already satisfied: netaddr<0.8,>=0.7.17 in c:\octoprint\venv\lib\site-packages\netaddr-0.7.19-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,947 > Requirement already satisfied: watchdog<0.9,>=0.8.3 in c:\octoprint\venv\lib\site-packages\watchdog-0.8.3-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,947 > Requirement already satisfied: sarge<0.2,>=0.1.4 in c:\octoprint\venv\lib\site-packages\sarge-0.1.4-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,948 > Requirement already satisfied: netifaces<0.11,>=0.10 in c:\octoprint\venv\lib\site-packages\netifaces-0.10.6-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,950 > Requirement already satisfied: pylru<1.1,>=1.0.9 in c:\octoprint\venv\lib\site-packages\pylru-1.0.9-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,950 > Requirement already satisfied: rsa<3.3,>=3.2 in c:\octoprint\venv\lib\site-packages\rsa-3.2.3-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,951 > Requirement already satisfied: pkginfo<1.3,>=1.2.1 in c:\octoprint\venv\lib\site-packages\pkginfo-1.2.1-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,953 > Requirement already satisfied: requests<2.8,>=2.7 in c:\octoprint\venv\lib\site-packages\requests-2.7.0-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,953 > Requirement already satisfied: semantic_version<2.5,>=2.4.2 in c:\octoprint\venv\lib\site-packages\semantic_version-2.4.2-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,954 > Requirement already satisfied: psutil<3.3,>=3.2.1 in c:\octoprint\venv\lib\site-packages\psutil-3.2.2-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,956 > Requirement already satisfied: Click<6.3,>=6.2 in c:\octoprint\venv\lib\site-packages\click-6.2-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,957 > Requirement already satisfied: awesome-slugify<1.7,>=1.6.5 in c:\octoprint\venv\lib\site-packages\awesome_slugify-1.6.5-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,957 > Requirement already satisfied: feedparser<5.3,>=5.2.1 in c:\octoprint\venv\lib\site-packages\feedparser-5.2.1-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,959 > Requirement already satisfied: chainmap<1.1,>=1.0.2 in c:\octoprint\venv\lib\site-packages\chainmap-1.0.2-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,960 > Requirement already satisfied: future<0.16,>=0.15 in c:\octoprint\venv\lib\site-packages\future-0.15.2-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,960 > Requirement already satisfied: scandir<1.4,>=1.3 in c:\octoprint\venv\lib\site-packages\scandir-1.3-py2.7-win32.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,961 > Requirement already satisfied: websocket-client<0.41,>=0.40 in c:\octoprint\venv\lib\site-packages\websocket_client-0.40.0-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,963 > Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\octoprint\venv\lib\site-packages\python_dateutil-2.6.1-py2.7.egg (from OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,963 > Requirement already satisfied: itsdangerous>=0.21 in c:\octoprint\venv\lib\site-packages\itsdangerous-0.24-py2.7.egg (from flask<0.11,>=0.9->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,964 > Requirement already satisfied: MarkupSafe in c:\octoprint\venv\lib\site-packages\markupsafe-1.0-py2.7-win32.egg (from Jinja2<2.9,>=2.8->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,966 > Requirement already satisfied: certifi in c:\octoprint\venv\lib\site-packages\certifi-2017.7.27.1-py2.7.egg (from tornado==4.0.2->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,967 > Requirement already satisfied: backports.ssl_match_hostname in c:\octoprint\venv\lib\site-packages\backports.ssl_match_hostname-3.5.0.1-py2.7.egg (from tornado==4.0.2->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,967 > Requirement already satisfied: blinker in c:\octoprint\venv\lib\site-packages\blinker-1.4-py2.7.egg (from Flask-Principal<0.4,>=0.3.5->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,969 > Requirement already satisfied: Babel>=1.0 in c:\octoprint\venv\lib\site-packages\babel-2.5.0-py2.7.egg (from Flask-Babel<0.10,>=0.9->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,970 > Requirement already satisfied: speaklater>=1.2 in c:\octoprint\venv\lib\site-packages\speaklater-1.3-py2.7.egg (from Flask-Babel<0.10,>=0.9->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,970 > Requirement already satisfied: webassets>=0.10 in c:\octoprint\venv\lib\site-packages\webassets-0.12.1-py2.7.egg (from Flask-Assets<0.11,>=0.10->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,971 > Requirement already satisfied: argh>=0.24.1 in c:\octoprint\venv\lib\site-packages\argh-0.26.2-py2.7.egg (from watchdog<0.9,>=0.8.3->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,973 > Requirement already satisfied: pathtools>=0.1.1 in c:\octoprint\venv\lib\site-packages\pathtools-0.1.2-py2.7.egg (from watchdog<0.9,>=0.8.3->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,973 > Requirement already satisfied: pyasn1>=0.1.3 in c:\octoprint\venv\lib\site-packages\pyasn1-0.3.2-py2.7.egg (from rsa<3.3,>=3.2->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,974 > Requirement already satisfied: regex in c:\octoprint\venv\lib\site-packages\regex-2017.7.28-py2.7-win32.egg (from awesome-slugify<1.7,>=1.6.5->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,976 > Requirement already satisfied: Unidecode<0.05,>=0.04.14 in c:\octoprint\venv\lib\site-packages\unidecode-0.4.21-py2.7.egg (from awesome-slugify<1.7,>=1.6.5->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,976 > Requirement already satisfied: six in c:\octoprint\venv\lib\site-packages\six-1.10.0-py2.7.egg (from websocket-client<0.41,>=0.40->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,977 > Requirement already satisfied: pytz>=0a in c:\octoprint\venv\lib\site-packages\pytz-2017.2-py2.7.egg (from Babel>=1.0->Flask-Babel<0.10,>=0.9->OctoPrint->OctoPrint-GPX==2.6.0)
2017-08-26 12:34:33,979 > Building wheels for collected packages: OctoPrint-GPX
2017-08-26 12:34:33,980 > Running setup.py bdist_wheel for OctoPrint-GPX: started
2017-08-26 12:34:40,025 > Running setup.py bdist_wheel for OctoPrint-GPX: finished with status 'error'
2017-08-26 12:34:40,026 > Complete output from command C:\OctoPrint\venv\Scripts\python.exe -u -c "import setuptools, tokenize;file='c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d c:\users\laurent\appdata\local\temp\tmp6lmetlpip-wheel- --python-tag cp27:
2017-08-26 12:34:40,026 > running bdist_wheel
2017-08-26 12:34:40,026 > running build
2017-08-26 12:34:40,028 > got version from file c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\octoprint_GPX/version.py {'version': '2.6.0', 'full': 'd8e0428a920d833e882dbb1b07479a6814df5617'}
2017-08-26 12:34:40,029 > running build_py
2017-08-26 12:34:40,029 > creating build
2017-08-26 12:34:40,030 > creating build\lib.win32-2.7
2017-08-26 12:34:40,032 > creating build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:40,032 > copying octoprint_GPX\gpxprinter.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:40,032 > copying octoprint_GPX\iniparser.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:40,033 > copying octoprint_GPX_version.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:40,035 > copying octoprint_GPX_init
.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:40,035 > running egg_info
2017-08-26 12:34:40,036 > creating OctoPrint_GPX.egg-info
2017-08-26 12:34:40,036 > writing requirements to OctoPrint_GPX.egg-info\requires.txt
2017-08-26 12:34:40,038 > writing OctoPrint_GPX.egg-info\PKG-INFO
2017-08-26 12:34:40,039 > writing top-level names to OctoPrint_GPX.egg-info\top_level.txt
2017-08-26 12:34:40,039 > writing dependency_links to OctoPrint_GPX.egg-info\dependency_links.txt
2017-08-26 12:34:40,039 > writing entry points to OctoPrint_GPX.egg-info\entry_points.txt
2017-08-26 12:34:40,040 > writing manifest file 'OctoPrint_GPX.egg-info\SOURCES.txt'
2017-08-26 12:34:40,042 > reading manifest file 'OctoPrint_GPX.egg-info\SOURCES.txt'
2017-08-26 12:34:40,042 > writing manifest file 'OctoPrint_GPX.egg-info\SOURCES.txt'
2017-08-26 12:34:40,042 > creating build\lib.win32-2.7\octoprint_GPX\static
2017-08-26 12:34:40,042 > creating build\lib.win32-2.7\octoprint_GPX\static\css
2017-08-26 12:34:40,043 > copying octoprint_GPX\static\css\gpx.css -> build\lib.win32-2.7\octoprint_GPX\static\css
2017-08-26 12:34:40,045 > creating build\lib.win32-2.7\octoprint_GPX\static\js
2017-08-26 12:34:40,045 > copying octoprint_GPX\static\js\gpx.js -> build\lib.win32-2.7\octoprint_GPX\static\js
2017-08-26 12:34:40,046 > creating build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:40,046 > copying octoprint_GPX\static\less\gpx.less -> build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:40,046 > copying octoprint_GPX\static\less\Makefile -> build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:40,048 > creating build\lib.win32-2.7\octoprint_GPX\templates
2017-08-26 12:34:40,049 > copying octoprint_GPX\templates\GPX_settings.jinja2 -> build\lib.win32-2.7\octoprint_GPX\templates
2017-08-26 12:34:40,049 > running build_ext
2017-08-26 12:34:40,049 > building 'gpx' extension
2017-08-26 12:34:40,051 > creating build\temp.win32-2.7
2017-08-26 12:34:40,052 > creating build\temp.win32-2.7\Release
2017-08-26 12:34:40,052 > creating build\temp.win32-2.7\Release\GPX
2017-08-26 12:34:40,053 > creating build\temp.win32-2.7\Release\GPX\src
2017-08-26 12:34:40,055 > creating build\temp.win32-2.7\Release\GPX\src\pymodule
2017-08-26 12:34:40,055 > creating build\temp.win32-2.7\Release\GPX\src\shared
2017-08-26 12:34:40,055 > creating build\temp.win32-2.7\Release\GPX\src\gpx
2017-08-26 12:34:40,056 > C:\Users\laurent\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -IC:\OctoPrint\venv\PC /TcGPX/src/pymodule/gpxmodule.c /Fobuild\temp.win32-2.7\Release\GPX/src/pymodule/gpxmodule.obj -DGPX_VERSION=""OctoPrint"" -DSERIAL_SUPPORT -fvisibility=hidden -IGPX/build/src/shared -IGPX/src/shared -IGPX/src/gpx
2017-08-26 12:34:40,058 > cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
2017-08-26 12:34:40,059 > gpxmodule.c
2017-08-26 12:34:40,059 > GPX/build/src/shared\config.h(53) : warning C4005: 'HAVE_STRERROR' : macro redefinition
2017-08-26 12:34:40,061 > c:\python27\include\pyconfig.h(64) : see previous definition of 'HAVE_STRERROR'
2017-08-26 12:34:40,062 > GPX/src/pymodule/gpxmodule.c(158) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:40,062 > GPX/src/pymodule/gpxmodule.c(159) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:40,063 > GPX/src/pymodule/gpxmodule.c(167) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:40,063 > GPX/src/pymodule/gpxmodule.c(170) : error C2143: syntax error : missing '{' before '*'
2017-08-26 12:34:40,065 > GPX/src/pymodule/gpxmodule.c(183) : warning C4133: 'return' : incompatible types - from 'int *' to 'PyObject *'
2017-08-26 12:34:40,065 > GPX/src/pymodule/gpxmodule.c(190) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:40,066 > GPX/src/pymodule/gpxmodule.c(191) : error C2065: 'rval' : undeclared identifier

...

2017-08-26 12:34:40,161 > GPX/src/pymodule/gpxmodule.c(586) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:40,163 > GPX/src/pymodule/gpxmodule.c(587) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:40,164 > GPX/src/pymodule/gpxmodule.c(596) : warning C4133: 'return' : incompatible types - from 'int *' to 'PyObject '
2017-08-26 12:34:40,164 > GPX/src/pymodule/gpxmodule.c(609) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:40,165 > GPX/src/pymodule/gpxmodule.c(609) : fatal error C1003: error count exceeds 100; stopping compilation
2017-08-26 12:34:40,167 > error: command 'C:\Users\laurent\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' failed with exit status 2
2017-08-26 12:34:40,167 >
2017-08-26 12:34:40,168 > ----------------------------------------
2017-08-26 12:34:40,168 > Running setup.py clean for OctoPrint-GPX
2017-08-26 12:34:40,671 ! Failed building wheel for OctoPrint-GPX
2017-08-26 12:34:45,174 > Failed to build OctoPrint-GPX
2017-08-26 12:34:45,174 > Installing collected packages: OctoPrint-GPX
2017-08-26 12:34:45,176 > Running setup.py install for OctoPrint-GPX: started
2017-08-26 12:34:48,555 > Running setup.py install for OctoPrint-GPX: finished with status 'error'
2017-08-26 12:34:48,556 > Complete output from command C:\OctoPrint\venv\Scripts\python.exe -u -c "import setuptools, tokenize;file='c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record c:\users\laurent\appdata\local\temp\pip-ii7wix-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\OctoPrint\venv\include\site\python2.7\OctoPrint-GPX:
2017-08-26 12:34:48,556 > running install
2017-08-26 12:34:48,558 > running build
2017-08-26 12:34:48,558 > got version from file c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\octoprint_GPX/version.py {'version': '2.6.0', 'full': 'd8e0428a920d833e882dbb1b07479a6814df5617'}
2017-08-26 12:34:48,559 > running build_py
2017-08-26 12:34:48,559 > creating build
2017-08-26 12:34:48,559 > creating build\lib.win32-2.7
2017-08-26 12:34:48,559 > creating build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:48,559 > copying octoprint_GPX\gpxprinter.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:48,561 > copying octoprint_GPX\iniparser.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:48,561 > copying octoprint_GPX_version.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:48,562 > copying octoprint_GPX_init
.py -> build\lib.win32-2.7\octoprint_GPX
2017-08-26 12:34:48,562 > running egg_info
2017-08-26 12:34:48,562 > writing requirements to OctoPrint_GPX.egg-info\requires.txt
2017-08-26 12:34:48,562 > writing OctoPrint_GPX.egg-info\PKG-INFO
2017-08-26 12:34:48,562 > writing top-level names to OctoPrint_GPX.egg-info\top_level.txt
2017-08-26 12:34:48,563 > writing dependency_links to OctoPrint_GPX.egg-info\dependency_links.txt
2017-08-26 12:34:48,563 > writing entry points to OctoPrint_GPX.egg-info\entry_points.txt
2017-08-26 12:34:48,565 > reading manifest file 'OctoPrint_GPX.egg-info\SOURCES.txt'
2017-08-26 12:34:48,565 > writing manifest file 'OctoPrint_GPX.egg-info\SOURCES.txt'
2017-08-26 12:34:48,565 > creating build\lib.win32-2.7\octoprint_GPX\static
2017-08-26 12:34:48,565 > creating build\lib.win32-2.7\octoprint_GPX\static\css
2017-08-26 12:34:48,565 > copying octoprint_GPX\static\css\gpx.css -> build\lib.win32-2.7\octoprint_GPX\static\css
2017-08-26 12:34:48,566 > creating build\lib.win32-2.7\octoprint_GPX\static\js
2017-08-26 12:34:48,566 > copying octoprint_GPX\static\js\gpx.js -> build\lib.win32-2.7\octoprint_GPX\static\js
2017-08-26 12:34:48,568 > creating build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:48,568 > copying octoprint_GPX\static\less\gpx.less -> build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:48,569 > copying octoprint_GPX\static\less\Makefile -> build\lib.win32-2.7\octoprint_GPX\static\less
2017-08-26 12:34:48,569 > creating build\lib.win32-2.7\octoprint_GPX\templates
2017-08-26 12:34:48,569 > copying octoprint_GPX\templates\GPX_settings.jinja2 -> build\lib.win32-2.7\octoprint_GPX\templates
2017-08-26 12:34:48,569 > running build_ext
2017-08-26 12:34:48,571 > building 'gpx' extension
2017-08-26 12:34:48,571 > creating build\temp.win32-2.7
2017-08-26 12:34:48,572 > creating build\temp.win32-2.7\Release
2017-08-26 12:34:48,572 > creating build\temp.win32-2.7\Release\GPX
2017-08-26 12:34:48,572 > creating build\temp.win32-2.7\Release\GPX\src
2017-08-26 12:34:48,572 > creating build\temp.win32-2.7\Release\GPX\src\pymodule
2017-08-26 12:34:48,573 > creating build\temp.win32-2.7\Release\GPX\src\shared
2017-08-26 12:34:48,573 > creating build\temp.win32-2.7\Release\GPX\src\gpx
2017-08-26 12:34:48,575 > C:\Users\laurent\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -IC:\OctoPrint\venv\PC /TcGPX/src/pymodule/gpxmodule.c /Fobuild\temp.win32-2.7\Release\GPX/src/pymodule/gpxmodule.obj -DGPX_VERSION=""OctoPrint"" -DSERIAL_SUPPORT -fvisibility=hidden -IGPX/build/src/shared -IGPX/src/shared -IGPX/src/gpx
2017-08-26 12:34:48,575 > cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
2017-08-26 12:34:48,575 > gpxmodule.c
2017-08-26 12:34:48,575 > GPX/build/src/shared\config.h(53) : warning C4005: 'HAVE_STRERROR' : macro redefinition
2017-08-26 12:34:48,575 > c:\python27\include\pyconfig.h(64) : see previous definition of 'HAVE_STRERROR'
2017-08-26 12:34:48,576 > GPX/src/pymodule/gpxmodule.c(158) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:48,576 > GPX/src/pymodule/gpxmodule.c(159) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:48,578 > GPX/src/pymodule/gpxmodule.c(167) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:48,578 > GPX/src/pymodule/gpxmodule.c(170) : error C2143: syntax error : missing '{' before '
'
2017-08-26 12:34:48,578 > GPX/src/pymodule/gpxmodule.c(183) : warning C4133: 'return' : incompatible types - from 'int *' to 'PyObject *'
2017-08-26 12:34:48,578 > GPX/src/pymodule/gpxmodule.c(190) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:48,578 > GPX/src/pymodule/gpxmodule.c(191) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:48,579 > GPX/src/py
...

2017-08-26 12:34:48,630 > GPX/src/pymodule/gpxmodule.c(587) : error C2065: 'rval' : undeclared identifier
2017-08-26 12:34:48,630 > GPX/src/pymodule/gpxmodule.c(596) : warning C4133: 'return' : incompatible types - from 'int *' to 'PyObject *'
2017-08-26 12:34:48,630 > GPX/src/pymodule/gpxmodule.c(609) : error C2143: syntax error : missing ';' before 'type'
2017-08-26 12:34:48,631 > GPX/src/pymodule/gpxmodule.c(609) : fatal error C1003: error count exceeds 100; stopping compilation
2017-08-26 12:34:48,631 > error: command 'C:\Users\laurent\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' failed with exit status 2
2017-08-26 12:34:48,631 >
2017-08-26 12:34:48,631 > ----------------------------------------
2017-08-26 12:34:49,134 ! Command "C:\OctoPrint\venv\Scripts\python.exe -u -c "import setuptools, tokenize;file='c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record c:\users\laurent\appdata\local\temp\pip-ii7wix-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\OctoPrint\venv\include\site\python2.7\OctoPrint-GPX" failed with error code 1 in c:\users\laurent\appdata\local\temp\pip-x8jfpu-build\

Unsupported Printers - Advice in ReadMe? FAQ?

Hi,
I'm wondering how we should deal with unsupported printers - should we just leave default settings? Or should we try to guess what model is closest to what we are using? Some advice in the readme, or perhaps an FAQ page somewhere would be helpful.

On a personal note, I am tyring to get an older model Klic-N-Print (a gift from a friend who upgraded to a newer printer) up and running again. The company is out of business, and I have discovered that most of the software intended to be used with the printer is no longer available for download. The only reason I bother with this printer is the conveinence of dual extruders. If anyone knows what settings to use with this brand, some info would be greatly appreciated. Otherwise, I will experiment with the software and maybe post a reply if I find something that works.

Request: Cygwin supported build of gpx

gcc  -g -O2   -o gpx.exe gpx.o gpx-main.o ../shared/machine_config.o ../shared/opt.o vector.o winsio.o -lm
winsio.o: In function `gpx_sio_open':
/home/Brian/GPX/build/src/gpx/../../../src/gpx/winsio.c:40: multiple definition of `gpx_sio_open'
gpx-main.o:/home/Brian/GPX/build/src/gpx/../../../src/gpx/gpx-main.c:208: first defined here
winsio.o: In function `gpx_sio_open':
/home/Brian/GPX/build/src/gpx/../../../src/gpx/winsio.c:47: undefined reference to `_open_osfhandle'
collect2: error: ld returned 1 exit status
Makefile:371: recipe for target 'gpx.exe' failed

Cloned from commit 051ee5c. Changed #include <time.h> to #include <sys/time.h> to fix unknown size of timeval in gpx.c. Cygwin under Babun. GCC 4.9.2. Windows10 64bit.

Steps per mm "Y-axis" no change

I have a Flashforge Creator Pro but seeing approx 5% loss in x and y measurements when using gcode instead of x3g.

I have fixed the x-axis by changing the default "Steps per mm" x-axis from 94.117647 to 96.53 but if I change the y-axis to this same value, or higher there is no observable change during the print for the y-axis.

fcp.ini
[a] [b] [machine] [x] steps_per_mm=96.53 [y] steps_per_mm=96.53 [z]

Nozzle temp limit

Please remove nozzle temp limit I have temperatures upto 400 ยฐC. Thanks :)

Replicator 2x HBP max temp

I use this plugin as part of Simplify3d and the current version in my software has a max temp fix of 120C. I use a glass plate and need 130C to print anything. Is there any instructions i can get on how to compile it with a new max temp under windows using cgywin. I have cgywin and gcc installed but i don't know the procedure to compile it. The issue is on line 74 of gpx.h

define HBP_MAX 120

M135 command

MakerBot Desktop using M135 command to change to different tool. (M135 T0, M135 T1).
Unfortunately GPX converter ignore that commands.
It's make very difficult using OctoPrint with GCode produced by MakerBot Desktop.
On the other hand GPX converter translates simplest commands T0,T1 to change to different tool.
How difficult will be to add M135 command to GPX converter.

fcp machine type missing

Installed latest on ubuntu 16.04, using apt install gpx.

when I run gpx, it shows the list of all commands/machine types/etc, but fcp is not on the list of machines.

Dual Extrusion Temp Issue

When the print is switching extruder the wrong temperature is set.

Ex.
T1
M109 S220
M104 T0 S175
...
M104 S230
At the end this set T1 to 220 and T0 to 230

Expected results
T1 should be set to 230 and T0 set to 175.

The code below work on my machine
T1
M109 S220
M104 T0 S175
...
M104 T1 S230

FYI. The Gcode is generating on Cura 3.2. I posted the issue there too. I'm not sure if the issue is with GPX or CuraEngine

Ultimaker/Cura#3243

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.