Code Monkey home page Code Monkey logo

candle's Introduction

Candle

GRBL controller application with G-Code visualizer written in Qt.

Supported functions:

  • Controlling GRBL-based cnc-machine via console commands, buttons on form, numpad.
  • Monitoring cnc-machine state.
  • Loading, editing, saving and sending of G-code files to cnc-machine.
  • Visualizing G-code files.

System requirements for running "Candle":

  • Windows/Linux x86
  • CPU with SSE2 instruction set support
  • Graphics card with OpenGL 2.0 support
  • 120 MB free storage space

Build requirements:

Qt 5.4.2 with MinGW/GCC compiler

Downloads:

Experimental versions:

For GRBL v1.1 firmware

(for GRBL v0.9 and below use Candle 1.0)

Before creating new issue:

Candle works with CNC controlled by GRBL firmware, many problems can be solved by using proper version of GRBL, using proper configuration.

Please read GRBL wiki:

"Candle" main window: screenshot

candle's People

Contributors

benishor avatar cmsteinbr avatar crstophr avatar denvi avatar lucasvass avatar vespakoen avatar xav83130 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  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar

candle's Issues

I can not see the graphic in the window

Hello, Could you please help me?
I installed grblcontrol on two PCs, one with windows 7 and other Windows 10. In the first, the application works well. In the second pc, the program works well only on the part of commands and file upload, but I can not see anything in the drawing window (aside from the five icons). Re-install the video driver recommended by intel 64 bits, with the same result. What could I do next?

Build and Debugger

Denvi, congratulations for your project! Loved it! Its interface is very clean and the controls are simple.

I make one fork of your project to study and try to implement some changes, but after reinstalling my Qt Creator 4 times I am unable to compile your code.

I'm using Windows 7 with MinGW, the Qt5.6.0 and Qt Creator 3.6.1.

Please. What is the best way to build and debugger?

Thank you.

How to install on linux

I assumed I had to download and extract the tar.gz linux version, and then execute the grblcontrol file. When i do it the program opens, i select the port, it says "connected" but i can't get the CNC to move (shapeoko 3). Is there some dependencies/librairies i am missing?

I'm on linux mint rafaela 64bits. I've been succesfully been able to use my CNC with other grbl controllers in the last two weeks.

Any clue?

Thank you,

Gregory

Wow!

Hey this is very cool program I am going to test it on my GRBL 0.9j I like the visualizer. I am building a small cnc router machine and also helping retrofit a mill for a friend and a small easy to use interface will help speed up his learning. cheers, Richard

Program crash when Carvey door opens

Greetings, I love the program, finally got GRBL clients to work with my Carvey after changing the report line. Carvey uses gCarving fork (GRBL 1.0 based), I only had to change the message the client expects to read the GRBL version and know that it has "booted".
I can do many things now with GRBL control, however when I open the carvey door / front lid, it outputs a message [Check Door] and Grbl control crashes.
A fix would be awesome. Thanks a lot !

Feed override disabled when not running program

I suppose this is just more of a question about QT, which all of my experience with comes from working with the grblControl code: I cannot figure out how certain things like the feed override slider and the spindle speed are being disabled (ie: 'grayed out') when a program isn't running. I have discovered how most things are being enabled/disabled on the UI, but these things seem to be linked together somehow in a way that I cannot figure out that is controlled by whether or not a program is actively being sent to the CNC.

Thanks :)

GRBL stuck during work

Hi,

I have an issue when I'm using this tool during cutting ply.
I have observed very strange situation - grbl stuck during ordinary works.
It is very annoying when the whole job we need do once again :(
As well as there is no option to restart GRBL if stuck we need reset all and move project again from the begging.

Do you have any idea why I have an issue?
Did you have the same or similar problem?

thx.
Piotr

Restore X/Y/Z sends Z in the wrong direction

ref: #10 - doesn't seem to apply to my condition.

Caveat: I am a brand new n00b to CNCs and grblControl. I have an extremely low-end PCB CNC. The Arduino is running GRLB 0.9J.

I've figured out how to edit the Stored X/Y/Z in the INI file and have synced that up to be the left-most, front-most, bottom-most corner of the cutter's position. Said another way, the spindle can only be moved up, right, and back from it's current position.

When I enter the program, I confirm both my Machine Coordinates are 0/0/0 and the mouse-hover over Restore X/Y/Z are 0,0,0.

  • When I move the spindle in either the X or Y (or both) directions and click, "Restore XYZ", the CNC comes perfectly back to 0/0/0.
  • When I move the spindle along the Z axis, whether it be alone or with X and/or Y, and click "Restore XYZ" the Z-axis takes off in the wrong direction and until it maxes out at the top (currently limit switches are not available).

I've also noticed that Aborting a job sends the spindle off in the extreme opposite direction from 0/0/0 to a point that appears to far exceed that range of my very-small machine (4" x 7" x 2" travels). Can this be configured anywhere to recognize the $130 - $132 "max X/Y/Z" parameters as the "Safe" position?

Only rapids are visualized

In version 0.8.1 (Linux), cutting moves are not rendered in the visualization. Running the moves works as expected, only the track is not visible.

screenshot-front ngc - grblcontrol

Jog controls don't set units

Running a gcode program with imperial units leaves grbl in imperial mode, so jogging moves are multiplied by 25.4 until grbl is manually set to metric mode.

a few questions

  1. I've got grblControl working with just over 36,000 lines of G-code. What's the limit to the number of lines it can handle?
  2. In 'Service Settings' what does the 'Command auto-completion' option do?
  3. The Feed Override setting doesn't change the feed rate while G-code is being sent to the Arduino. In other words it doesn't change the feedrate in real time but appears to only get read by grblControl when the Send button is first pressed, is that right?

thanks in advance
Peter

Visualization is not working

Hi,
I have no visualization. I tried check mode, also changed colors.. Nothing helped. Could You please help me?

Gcode generated with J tech photonics wont show

This is a rather quirky issue. I'm using grblControl to control my home built laser engraver. When I create gcode with the extension that comes built in with Inkscape, everything works great (except I cannot automate the multiple passes). When I create gcode using J Tech photonics inkscape extension (which can automate multiple passes), and load it in grblControl, I cannot see any of the lines that the engraver is supposed to engrave (unlike the one with the one built in with Inkscape which shows me all the paths). grblControl in this case does finally give the needed output, it just does not show the paths on screen. Any ideas?

Build problem

Hi Denvi,
I've been learning how to use Qt and am modifying grblControl in the process. Everything has been working fine until the last few commits.
I noticed that originally in the source code folder you had many files and 4 subfolders - images, screenshots, shaders and translations. Using this I've had no problems - when I debug in Qt it runs grblControl, connects to the Arduino and i can test everything OK.

However I noticed now with the later versions that you have only some code in your src folder (I assume the main ones which are updated most often) and lots more subfolders. This time everything works OK the first time I run debug. After I close grblControl and press debug again grblControl doesn't connect to the Arduino. It's nearly as if the serial port wasn't closed properly after the last run of debug or maybe the port isn't being open properly. I'm using Qt creator ver 3.5.1. Any idea what could be causing this?

Compiling problem

Hi

I'm try to compile this in Qt but still geting lot of error can you please tell me what compiler you are using. I try VC++8 and VC++14 but with lot of error
scr1

'Connected' status confusing

A colleague was setting up grblControl on another computer and we just discovered a small issue.
Whether an Arduino is plugged in or not, if you select a COM port which isn't connected to the Arduino grblControl displays 'Connected' in the Status box and enables the controls.

This is a little confusing. I can see that the idea is for grblControl to indicate that it is connected to an available serial port but the word 'Connected' implies that it is connected to an Arduino when it really isn't. Would it be possible to display something else rather than the word 'Connected' to make it less confusing and also NOT to enable the controls unless it's actually communicating with an Arduino?

Restore X,Y Z and Reset

Hi Denvi,
a. When you press the 'Restore X, Y, Z' button only X and Y are restored. Z should move too.

b. Pressing 'Zero XY' and 'Zero Z' works OK to offset from Machine co-ords. But if you then press 'Reset' to reset the Arduino the current Work co-ords are replaced by the Machine co-ords. Shouldn't the Work co-ords stay the same?
This becomes a problem as follows: let's say you offset & then use 'Zero XY' and 'Zero Z' buttons to set a new 0,0,0 and then send the G-code program. All is OK until you want to quit part way through the program. Pressing and releasing 'Pause' works correctly but when paused if you then press the 'Reset' button to quit sending G-code the Work co-ords become the same as the Machine co-ords and you lose the current Work co-ords.

regards
Peter

No working in imperial units

I'm hacking away at the code right now to get grblControl to work in imperial units (over here in the states, where my physical tools are in inches) but it would be cool if there was an option in settings to make it so you could work in either metric or imperial, instead of it converting everything to metric no matter what.

a few small requests

Hi,
Great piece of software, so easy to use. Well done!

Just a few small things.

  1. In the G-code display box in the 'State' column you use the word 'Sended' instead of 'Sent'.
  2. In the file-open popup box there are 3 types of files, *.nc, *.ncc and *.tap. Could you also include *.txt?
  3. When the mill is running it seems the only way to pause the machine is to click the 'Pause' button on the screen. Would it be possible to implement a keyboard press as well, for example spacebar? There's no problem with the onscreen Pause button but sometimes when working around the mill it would be easier to just tap spacebar to pause the machine and then tap it again to continue.
  4. I noticed that sometimes the 3D picture isn't drawn. I tried a few things and found that the G00 line near the start of a program MUST have all three parameters X, Y and Z. For example if I use G00 X0 Y0 nothing is displayed. As soon as I change this to G00 X0 Y0 Z2 the whole 3D image appears. Is this intentional?

regards
Peter

How restore XYZ key work?

Hello. Thank you for your project and the work you have done. I’m new to CNC and I’m beginning to use my new CNC with your software.
I have a question for you, I didn’t understand myself:
In version 0.8.3 Restore XYZ key did move the CNC to home position (relative) just for X and Y coordinates. Why not Z?
And now, with new version 0.8.4, this key just restore offset and don’t move CNC
How can I move the CNC step motors to home (relative 0,0,0)?
Many thanks Roberto

Visualization windows is blank - even text not shown

Hi,
On my Windows 7 PC the program works fine, visualization works correctly. But on this laptop the window is blank: no text, no coordinate origin, no FPS etc.

Please see attached screenshot.

I thought it has to do with graphic card compatibility, so I have tried changing graphics settings to no avail. On a side note, when I change graphics to 32 bit mode, the application crashs.

I am using a Compaq CQ20 laptop running Windows 7. All drivers are originals from the manufacturer.

Can you please tell me what the problem would be?

Many thanks.
Dave
screenshot
settings

cutting speed

you can explain to me as redefinition of speed works? I am admissible I consider that it has to be equal 100% and already a hedgehog from the maximum speed it would be possible to reduce, and now I can't understand as it works

GRBLControl dont start on fresh WinXP

This is a fresh Windows XP installation with Service Pack 3 installed. Unfortunately GRBLControl not start . What can I do? Athlon XP2400 2GB Ram

screenshot 2016-02-04 02 29 05_2

Prebuilt binary fails to launch on Ubuntu 14.04

Tried downloading the pre-built binary and it fails at command line execution.

There is an Error, but the message that comes after doesn't show anything intelligible.

Also, tried cloning the repo to build it myself, but no make files.

How should I build this codebase on my Ubuntu machine?

Thanks for your guidance.

French translation

Hi,
I did the translation in French, but I do not know how to push it on the Git.
I have not your email address to send it.
can you help me ?

Can it use the measured value directly to the heightmap?

I just try to build my first PCB using grblControl with heightmap. However, it hasn't milled on the PCB, it just traveled on the air.

I checked the transformed gcode, and study the probe action again. It seems that it will first measure the height of 0,0, and then use the z value for adjustment on the subsequent measurement. For example, if in 0,0 the z value is -0.3, then all subsequent measurement will be adjusted by 0.3. So, the transformed z value in 0,0 is always 0. As a result, it will mill at the position 0.3mm above the target position.

Since my DIY machine cannot recognize the home position, it will reset 0,0,0 to the position whenever the machine started. If it can detect the level in 0,0, that will be great as I have no need to tune the z axis in 0,0 before milling.

And now, it has already measured the difference in all position including 0,0, but it will reduce the value by the measurement in 0,0. So, I have to tune the z position in 0,0 before starting the machine.

Is it possible to use those measured z-value directly without offset the measurement in 0,0?

Thanks a lot.

Numeric keypad 'enter'not recognised

Hi Denvi,
When I type a command in the bottom right console area of grblControl's screen I just press the Enter key to send it to the Arduino - no problems.
A colleague said this doesn't work for him and when I checked the difference is that I use the Enter key above the Shift key, he normally uses the Enter key on the Numeric Keypad. If it's the same function ie 'Enter' why doesn't grblControl recognise it?

Need build instructions

I couldn't locate build instructions and failed to build the program.

The pre-built code doesn't work for me on my 64bit Linux and qmake (which I just guessed is used) complains about serialport and I couldn't see an easy way to use/install it. Maybe it can be put as part of the repository?

Hard Reset/Abort

Dear Denvi,
I noticed a different behavior when I press the reset button of the program and when I hit the reset button on the Arduino Nano pin A0
In particular, reset from the program works perfectly, but I just get a message "error: Alarm Lock" in the console and the status doesn't changes using the hardware Reset/Abort key (A0)
Similar behavior using "Hard limit"
Thank you

Language Pref

Hi,
thanks for the Wonderful Program.
i would like to create some print screen of the program and add information in you wiki page.
but my computer is in french and your program adopt it and i cannot find a way to change the language to English.

Is there a way to change the language on your software?
Thanks a lot again for grblControl.

Pat Gadget.

XZ curve & M30 issues

Hi,
I've discovered a couple more small quirks with grblControl:

  1. M30 when executed should move the highlighted G-code line back to the first line
  2. When creating an arc in the XZ plane the Arduino performs the correct movement with the tool however the visualiser draws a straight line instead of an arc. Try this:
    G90
    G18
    G21
    F200
    G0 X0 Y0 Z0
    G1 X5
    G3 X5 Z10 I0 K5
    M30

If you replace the G3 line with
G3 X5 Z10 R5
the motion is also correct except the visualiser doesn't display any arc or line.

kind regards
Peter

aborting send program without homing enabled.

grblControl rocks, first of all. I just built my X-Carve (waiting for spindle) but I've only been testing it out with my personally modified version of grblControl that runs in imperial, and with a few graphical and keyboard jogging changes.. I will probably not bother using any other GRBL controller program with it because grblControl is exactly what I would make if I were to write my own program from scratch (which I was just about to do when I discovered grblControl).

so, I don't have homing switches on my machine, or homing enabled on GRBL, so 'home' is just floating wherever (somewhere outside my house, apparently)

when I run a program and hit the abort button, it seems to perform the Restore XYZ button's function (I assume) and sends the machine off wherever it thinks it should go. What would be great is if the abort button just sent the machine back to wherever it was when it started the program that it was running in the first place, perhaps moving to safety Z first and then rapiding to the original start position.

I'm going to try to hack away at the code and figure this out myself but I figured I may as well contribute my ideas to the project for the project's benefit as a whole.

thanks for sharing grblControl with us, I am working on a project that uses G-code programs with tens of thousands of lines of code, and all the other programs I have tried came to a crawl when I would load my G-code program into them because they were written using tons of external garbage and weren't running natively on my CPU.

please keep up on grblControl! I have been promoting it on various forums telling people it is the best program I have found, because it is true! With the heightmapping feature you're right up there with the best of the other programs.

Spanish Translation

Hi there!
i´m currently working with foam cutting machines,grbl is perfect for this kind of aplications and so it grbl Control, but for some people around here,english is still a limited subject.
Is there any chance to get any Xml so i can be able to translate it to spanish?
Thanks in advance!

Check mode

Is it possible to use the "check mode" without the CNC is connected ?

Xubuntu 15.10 run

I've tried to run grblControl precompiled under Xubuntu 15.10 x64, but unsuccessful - it does not start. Seems that the problem is the stuff asks for i386 Qt libraries, and I don't know how to install all the necessary things....

Regards,
Sergey

Question to auto leveling option

Hi,

I have a question regarding auto leveling set up.
I'm using DIY copper plate where the thickens of plate is 1.5mm.
How to set up auto leveling option to have correct values when the level measurement will be finished?
I should subtract 1.5mm value from the final values after the test?

Thanks,
Piotr

Saving the adjusted gcode

Thanks for sharing the software, really excellent.

I like the feature of heightmap very much, it solve the problem of leveling after re-assembly. Thank you very much.

However, when I try to save the gcode, it will save the original version instead of the adjusted version.

As I have built an off-line milling tools with my CNC, so that it can use the file in SD card without computer. May I know if it's possible to save the adjusted gcode to a file, so that it can be used for off-line milling.

Thanks in advance.

Mac version ?

Good evening,
it would be possible to compile a version for "Mac"?
If it's not too complicated.
Thank you

Heightmapping replaces arc moves with linear moves

I understand that the G2/G3 commands only work in a single fixed plane, but it would be nice if they could be replaced with multiple linear feeds instead of just flat-out replaced with a single linear feed from start to end. Maybe with the existing code setup this won't be so easy, though, but hopefully I'm wrong. There would probably need to be a new settings panel option for adjusting the length or degree tolerance for converting to lines (just like with the visualizer settings).

Another option is to break up arcs into multiple smaller arcs that lie on the XY plane, and proceed in a step-wise fashion from the Z depth. This would just break one arc into multiple arcs that stair-step according to the interpolated heightmap values, perhaps having a tolerance value for this in the settings panel as well that determines the threshold at which an arc is split, and where it is split. This would be a fantastic feature.

Again, I'm not sure it's entirely possible with the existing setup because it appears that the existing setup is limited to simply modifying the existing g-code commands, instead of re-generating an entire program from scratch that would allow for inserting extra g-code commands (like multiple arcs in place of one arc, for instance).

Let me know what you think. I have experience working with the arc command parameters for g-code editing utilities and might be able to help you figure out how to generate the intermediate arcs that would replace a single arc spanning a varied heightmap area.

Thanks!

Error at start-up with Windows XP

Hi there!

I just saw some screen shots of grblControl, and it looks great! Unfortunately, I am unable to start the program, because of the following error:


The procedure entry point vsprintf_s could not be located in the dynamic link library msvcrt.dll

I am trying to use grblControl on my old laptop running Windows XP (if that matters). Can you help?

Thanks in advance
jrhansen :-)

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.