Code Monkey home page Code Monkey logo

universal-g-code-sender's Introduction

Universal GcodeSender is a Java based GRBL compatible cross platform G-Code sender. Use this program to run a GRBL controlled CNC machine.

Online documentation available here: http://winder.github.io/ugs_website/
Documentation contributions can be made here: https://github.com/winder/ugs_website

To run simply unzip the .zip file and double click the .jar file. On some platforms you will need to run an included start script.

Note for MAC users: For version 1.0.8 and earlier you may need to create a "/var/lock" directory on OSX to fix a bug in the serial library. To do this open the Terminal application and run the following two commands:
sudo mkdir /var/lock
sudo chmod 777 /var/lock

Downloads

2.0 Nightly builds build status: Build Status

  • Currently under heavy development, feedback and suggestions are helpful!
  • classic GUI - The classic UGS GUI.
  • UGS Platform - This is a work in progress. The next generation platform-based GUI utilizing the UGS API.

Stable builds
1.0.9
1.0.8
1.0.7 - Requires Java 7 or higher.
1.0.6 - Requires Java 6 or higher.
Older releases can be found on the downloads page

Command table tab during a file send 3D Visualizer Window Finished sending a file Finished sending a file

Technical details:

  • JSSC for serial communication (RXTX was used up through v1.0.8)
  • JogAmp for OpenGL.
  • Developed with NetBeans 8.0.2 or later.

Development

For development the Maven build tool is used.

Run main class from command line

mvn exec:java -Dexec.mainClass="com.willwinder.universalgcodesender.MainWindow"

Execute all tests

mvn test

Just build a self-running uber-jar:

mvn package

Build a UniversalGcodeSender.zip release file

mvn package assembly:assembly

Changelog

1.0.9 -> 2.0

  • Constant memory! Optimized every part of UGS to run in a fixed amount of memory, no more slowness because a file is too large.
  • 'Cancel' now issue a feed hold and soft reset to stop the machine faster.
  • Macro substitutions. Use {machine_x/y/z} {work_x/y/z} to substitute the current machine/work coordinates, {prompt|name} can be used to ask for values in a popup dialog.
  • UGS now queries GRBL for its current state and settings in order to configure itself in a more intelligent manner. (Thanks Phil!)
  • Improved gcode parser. Heavily refactored and validated with a new suite of unit tests, the gcode parser is now much more powerful than before and can be augmented customizable command processors.
  • Controllers can now be added and configured with a JSON file, see resources/firmware_config
  • Added restore default buttons on settings pages.
  • Plane selection support: G17, G18, G19

1.0.8 -> 1.0.9

  • Many performance improvements.
  • New serial library: JSSC
  • Updated 3D library.
  • Maven build script (Thanks nitram509!)
  • TinyG support enabled.
  • XLCD support.
  • Bug fixes: INCH/MM jog units, visualizer fixes (crashes and OSX support), "Null stream" error, localization crashes,
  • Translations: French, Greek, Dutch, Italian

1.0.7 -> 1.0.8

  • PendantUI server - connect to UGS with your smartphone or tablet. (jvabob)
  • Translations: German, Spanish, Italian, Afrikaans
  • Many bugfixes and stability improvements.

1.0.6 -> 1.0.7

  • Many improvements to code architecture to allow future support for multiple firmwares (TinyG, Marlin, Smoothie, etc).
  • New menu bar! Now new features can be added and existing features are more configurable.
  • Additional on-the-fly gcode command preprocessing:
    • truncate and round long decimals to configurable length.
    • enforce max command length.
    • remove whitespaces.
    • expand small arcs to G1 commands.
  • New option to save preprocessed gcode file to a file.
  • Visualizer navigation controls - pan and zoom with the mouse wheel. (michmerr)
  • Visualizer Support for radius arcs (phlatboyz sketchup plugin gcode now displays correctly)
  • New single-step mode.
  • New colored status indicator.
  • Many bugfixes, thanks to UGS contributors

1.0.5 -> 1.0.6

  • 3D gcode visualizer!
    • color coded line segments
    • real time tool position
    • real time gcode buffer position
  • Due to popular demand, RaspberryPi support.
  • Complete all-in-one release, 32 and 64 bit linux/windows/mac + RaspberryPi
  • Settings saved between runs (thanks lazyzero)
  • Advanced GRBL control, new buttons for GRBL 0.8c features (gcode check mode, homing, etc)
  • Major backend refactoring to make code more stable and testable.
  • Unit tests added, over 1300 lines of unit test code.

1.0.4 -> 1.0.5

  • Job duration estimate now displayed when running a file.
  • Real-time machine position display for GRBL v8.0c.
  • Display for most recent GcodeComment.
  • Bug fixes - no more dropped commands!
  • Overhauled the GUI to display more information.

1.0.3 -> 1.0.4

  • The step size spinner now goes to less than 1.
  • New buttons on the manual control page for common functions.
  • Manual X/Y coordinates can now be modified with arrow keys.
  • New start scripts added to release zip files.
  • Changed speed override to a percentage rather than absolute.
  • Bug fixes.

1.0.2 -> 1.0.3

  • Manual jogging mode, control machine with buttons in the UI.
  • Automatically skip blank lines and comments when sending a file.
  • Bug fixes.

1.0.1 -> 1.0.2

  • Grbl version checking.
  • Real-time pause/resume commands used for Grbl v0.8.
  • Comment filtering - parses out comments before sending commands.
  • Bug fixes.

1.0 -> 1.0.1

  • New distribution jar - Application no longer requires RXTX to be installed!
  • Added table view for file streaming.
  • Added Pause/Resume button.
  • Usability improvements.
  • Many bug fixes.
  • Renamed package to com.willwinder.universalgcodesender.

universal-g-code-sender's People

Contributors

binaryconstruct avatar bitdeli-chef avatar cmsteinbr avatar fl0yd avatar jibeji avatar johannes85 avatar justjoheinz avatar lazyzero avatar michaelnu avatar michmerr avatar nitram509 avatar philreindl avatar rugbymauri avatar shapeoko avatar slorquet avatar stylesuxx avatar ushakov avatar winder avatar zamfi avatar

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.