Comments (15)
So just re-tested with latest firmware / gcode and same result. I suspect you could use any size bit with the gcode and it would repro the burning since it's mostly because it hangs out in the same spot for a long time.
Pic: https://drive.google.com/open?id=102MDDFPUCvhLECd8Yh1cBZ8SqguBB8dK9A
Video: https://goo.gl/photos/UMW3pdWhQxp6qmtb6
from groundcontrol.
from groundcontrol.
@davidelang This was just sketchup -> svg -> makercam. @BarbourSmith sounds good to me! In the meantime I think I'll just keep using my 45 degree offset squares since they mostly work.
from groundcontrol.
@BarbourSmith more efficient and faster gcode processing is always a win, but at some point we will hit the limits of the arduino processor.
I suspect that the overhead of processing the gcode (transferring and interpreting it) is the limiting factor here, so trying to detect in the aruduino that the move doesn't matter is too late.
Creating a "g-code lint" program that we could run on windows/linux/osx that would go through the gcode and flag commands we don't understand, or ones that don't move enough to matter would be a useful tool (and give people a way of checking the g-code without actually truing to machine something)
from groundcontrol.
My guess would be that @davidelang is right that the issue has to do with processing many lines of gcode slowing the machine down. Let's investigate further. This might be a good excuse for speeding up the serial protocol.
@mindeye Thanks for testing with the newest firmware also, very thorough. Taking multiple passes will likely help with the burning because the bit is in less contact with the wood, but the real fix is to insure that we are getting constant tool speed through corners.
from groundcontrol.
from groundcontrol.
from groundcontrol.
what software did you use to convert this svg into g-code?
from groundcontrol.
try this .svg to base things off of (and try the .nc file, but only with the bit well clear of the workpiece, I have zero ability to test if it came out right)
from groundcontrol.
It's good to see that the core issue is probably some funky gcode, but at the end of the day we should be able to handle funky gcode. I think that there are two ways we can handle this. 1) We can speed up the rate of gcode processing to the point that even if there are 60 lines in a row which don't command real motion, they are processed so quickly that we don't notice. 2) We can just ignore lines which don't cause any real movement on the Ground Control side.
Option 1 is the right way to do things, so lets try that first, then if we hit limits on how far we can push the execution speed, we'll look into option 2
from groundcontrol.
@mindeye the root of the problem is that the svg is drawing a circle segment (12 short line segments), doing as narrow a rectangle as you can get (2-3 line segments, in my svg it's a straight line in and out) will work far better.
from groundcontrol.
Has this been fixed? I noticed yesterday that what was essentially drilling a hole but instead was something like 30 infinitesimal movements per z-step didn't end up burning anything and GC seemed to fly through a ton of log statements incredibly quickly. (just to be clear, my intent is saying that maybe this can be closed, not that it's urgently needed)
from groundcontrol.
I've done some things to improve the speed, but I think I can do even more.
The way it works now is that a line is sent, decoded, executed, then the next line is requesting.
The circular buffer I added last week means that the firmware can hold several lines in memory which would let us have 2-3 lines buffered, maybe a few lines which have been decided stored in memory, and the one line which is being run.
It gets a little tricky so I want to add it carefully but I think we can get 2-3 times better performance than we're seeing now.
I appreciate your trying to keep an eye on closing issues which aren't a problem anymore and I think you are right that we're getting closer. I'd vote to leave the issue open as a reminder that things can get better.
from groundcontrol.
from groundcontrol.
Great question. We're using the same protocol as grbl so the buffer is 127 characters. The number of lines you can fit in the buffer fluctuates based on how long each line is.
from groundcontrol.
Related Issues (20)
- Relax chain after measuring chain length in calibration process HOT 4
- No Module named PIL HOT 2
- Install on Chromebook HOT 1
- not displaying correctly in linux mint. HOT 2
- Z-Axis calibration for Bosch 1617 Router Base HOT 5
- need to restart release process HOT 5
- Issues installing on ubuntu 18.04 HOT 3
- The Advanced/"Chain Sag Correction Value for Triangular Kinematics" default value doesn't show HOT 1
- Just blank screen when opening ground control HOT 3
- Lets remake Keeping up alarm! HOT 12
- Minor Issue: Return to Center has Incorrect Unit Conversion for SafeZAxisHeight HOT 1
- Cannot issue any Z-Axis adjustments during tool change HOT 10
- Add confirmation when pressing "Define Home" while cutting HOT 1
- Scaling problems from Gcode HOT 12
- Installation Issues on Xubuntu 18.04 HOT 1
- Where can I put "Refine calibration parameters" on ground control? HOT 6
- Convert to Python 3 due to Python 2 Sunset HOT 9
- GroundControl won't launch on m1 mac HOT 4
- Link to WebControl HOT 3
- Connection TimeOut HOT 6
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 groundcontrol.