Coder Social home page Coder Social logo

cncinfusion's Introduction

// NOTICE:
// This is currently under development and is only recommended for
// air cutting in a controlled environment!

What this attempts to be:

A Windows GUI frontend written in C# to control flow of gcode to an
Arduino based Grbl Gcode processor (https://github.com/grbl/grbl)

I have just concentrated on basic functionality for hobby use. My CNC exposure
has been limited to my home built mill, so I am not familiar with most
of the G codes for anything much more than basic motion and spindle control. 

It should be obvious that I am not a professional coder.  If you are, please help
correct and enhance all of my "mis-features".

This was created using:

Visual C# 2010 Express (as of version 0.1.7.0)

targetting .NET 2.0 framework
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19

See CREDITS.txt for additional information about the components used

This version assumes Grbl edge (Grbl 0.7d) which uses '?' to report status and 
status is returned in this format :

// Grbl edge status update looks like this:  (Feb 2012)
//MPos:[0.00,0.00,0.00],WPos:[0.00,0.00,0.00]

The Status Update Interval in the settings form will enable reporting and the interval

CNCInfusion has only been tested with this Grbl version (and only with a 'scope), although I suspect it should
work on any version if status updates remain disabled.

// TESTERS WANTED!  I currently don't have a machine to test this on
// I'm using an Arduino (328) with a scope only for testing at the
// moment

// HISTORY
//
// 0.1.0.0 - initial version
// 0.1.1.0 - feed hold / soft reset 
// 0.1.2.0 - restructuring of serial comm code
//            - known problem with feedhold/cyclestart
// 0.1.3.0 - fixed feedhold/cyclestart problem caused by ok response confusion
//          - known problem ocassionally with re-running after abort 
// 0.1.4.0 - modified delegates for use in threads (created at startup)
//         - starting to create preprocessor that only accepts Grbl gcode
//         - fixed status update interval problem
//         - fixed re-run after abort problem (added lock in commreceive)
//         - added timers for RX and TX indicators
//         - added basic preprocessor for grbl code
//           that is actually loaded and displayed in the backplotter
// 0.1.5.0 - Grbl preprocessor modifications (needs more thorough testing)
//         - changes to settings form, more options
//         - initial code to support joystick
// 0.1.6.0 - Error checking to detect grbl when opening serial port
//         - Added machine/world toggle on display
//         - regex now used to parse Grbl status report
// 0.1.7.0 - Switched to Visual C# Express 2010 due to some
//           problems with SharpDevelop 3.2

// TODO
// REPORTING:
// Grbl reporting of status is undergoing development:
// listbox shows line being buffered in Grbl, not actual line executing (Grbl code for line status needed)
// XON/XOFF is being worked as well in Grbl for flow control need to update this when code stabilizes
//
// MDI
// JOG
// Zero axes (world/machine?)
// Joystick/Joypad integration - having issues on X64 Win7 development box at moment
// Load/Save settings
// Color preferences
//
// KNOWN PROBLEMS
// Abort when feedhold is active, sometime causes loss of sync
// with Grbl.  Hard reset of grbl from Settings page restores
// stability. 

/*
FEATURES:

Hardware (DTR) Reset in Settings
Software Reset (0x18) on main form
Feed Hold / Cycle start
Zero Axes - Untested

INCOMPLETE FEATURES:

Status reporting - GRbl is undergoing heavy development in this area. What is
currently there is mostly a placeholder as a proof of concept but is functional

Feed Override - Grbl work in progress
JOG - Not yet coded, GUI components in place
MDI - Not yet coded, GUI components in place 
Status of modal gcodes - Maybe some indicators?
*/

cncinfusion's People

Contributors

nm156 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

Watchers

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

cncinfusion's Issues

great work!

Hi, I´m planning to make a litle cnc laser engraver (Like thisone http://www.instructables.com/id/Pocket-laser-engraver/) to enter this wonderfull world of CNC machines. (Currently waiting arduino/drivers)

Your GRBL GUI looks realy great!! I would like to use it. There is any compiled version that I can download?

Thanks in advance!

Doubt in clsProcessor.cs file

Hi,
I like this. i have one doubt in "clsProcessor.cs". In ArcCenter() function i got the point up to where you are finding "side_opposite" then after a am not getting it. can you please explain what is "centerVector" here in code? and how you calculate mXcentr and mYcentr . I want to understand as i need to find center point of arc using 2 points and radius.

Windows 7 64 bit

Hi,
could not make the bin file run on windows 64 bit!
What compiler should i use for all your source?

THanks for the nice work

Pat Gadget

Real good work

Hi,
I am very impressed with what you have done with this GUI. I have been busy with a VB version for some time and just dumped it to use your C# version. I have made some changes to make it work with my own UsbCnc controller and will still add a lot to the GUI.
Thanks again for good work and can you please let me have your credentials to add to the list.

"Joystick" to Point the Spindel

Hi

first of all -> it's cool that you making a GUI for Grbl !
It would be really fancy to have the joystick/gamepad to move the spindle ( XYZ ) to set the zero point :)

cheers ben

add some feature

hi, I'm not sure whether you interested to maintain this repo any more but if you do please have look at this link
BR

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.