Comments (2)
attaching supplied gcode
at first glance I do not see a position mode (absolute vs relative) being specified in this file. Looking over the code, I default to absolute position (G90) if a G90 or G91 command is not provided.
Weird that the file doesn't specify it. I'm guessing this is absolute coordinate by the way the gcode is written.
Additionally, I see this:
G18 G3 X81.648 Z-9.935 I-0.317 K0
The arc plane (G18) command prefixing the G3 may be throwing off my patten matching too.
from octoprint-bettergrblsupport.
I was able to reproduce this on one condition. If I forced bgs to think the machine was in relative position mode, if I played the file through I was able to reproduce the obnoxious coordinate values:
2022-01-01 18:04:09,938 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2389.84 y=-22383.23
2022-01-01 18:04:09,939 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2355.78 y=-22383.23
2022-01-01 18:04:09,939 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2322.70 y=-22383.23
2022-01-01 18:04:09,946 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2290.26 y=-22383.23
2022-01-01 18:04:09,948 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2257.91 y=-22383.23
2022-01-01 18:04:09,950 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2226.01 y=-22383.23
2022-01-01 18:04:09,952 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2194.34 y=-22383.23
2022-01-01 18:04:09,954 - octoprint.plugins.bettergrblsupport - DEBUG - x=-2168.77 y=-22383.23
I'm going to close this issue as invalid because as a general rule gcode files should ALWAYS specify which coordinate system they are using, absolute (G90) vs relative (G91). I think this is rather dangerous because there's no telling what would have happened with this session if the machine was actually in relative mode before the session started.
There is one remaining question I have. How did the known position system between bgs and the actual machine become out of sync?
I would definitely pass along this feedback (no coordinate system command included in generated gcode) to whoever maintains the post processor responsible for creating this file.
I may also sneak in some sanity check code within bgs itself to keep it in sync with the machine. I'll tag this issue if I do so. One thought I have is to daisy chain a $G command into the existing connection setup logic.
from octoprint-bettergrblsupport.
Related Issues (20)
- version needs to be updated in release 2.2.2 HOT 8
- Issue when upgrading HOT 3
- Easier jogging - joystick and keyboard? HOT 10
- Clean up Feed Hold and Cycle Start/Resume Handling
- Invalid Argument Error on install HOT 10
- Grbl Settings Mismatch between GrblHAL and Grbl_Esp32 HOT 1
- cant have 3D printer and laser cutter on same Raspberry Pi. HOT 2
- Managing offsets and baby stepping HOT 3
- Rest API? HOT 1
- ability to convert inches to mm HOT 3
- can only have one printer profile HOT 1
- Octoprint 1.9 - Bettergrbl wont work at all? HOT 21
- Add support for X/Y position before Z probe HOT 3
- OctoPrint 1.9.0 Broke Better GRBL Support HOT 2
- Octoprint GRBL help HOT 1
- Xtool D1 - Controls Grayed out HOT 4
- Missing Tabs after switching to 3d-printer HOT 4
- GRBL Settings -- No settings appear HOT 3
- Oddities when rebooting / reconnecting to ESP32 XPro V5 Controller
- Octoprint 1.8.6 Error when installing plugin HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octoprint-bettergrblsupport.