Skip to content

Latest commit

 

History

History
148 lines (95 loc) · 8.44 KB

README.md

File metadata and controls

148 lines (95 loc) · 8.44 KB

Universal G-Code Sender

Last commit Build Status Codebeat badge Releases

Universal G-Code Sender is a Java based, cross platform G-Code sender, compatible with GRBL, TinyG, g2core and Smoothieware.

Online documentation and releases: https://winder.github.io/ugs_website/
Discussion forum: https://groups.google.com/forum/#!forum/universal-gcode-sender

Technical details:

Downloads

Below you will find the latest release of UGS.
For older releases please visit the releases page.

UGS Platform
The next generation, feature packed variant based on the Netbeans Platform.
Unpack and start the program bin/ugsplatform

Latest release (v2.0.12) Previous release (v2.0.11) Nightly build
Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit
Windows 64-bit Windows 64-bit Windows 64-bit Windows 64-bit
Mac OSX Mac OSX Mac OSX Mac OSX Mac OSX Mac OSX
Linux x64 Linux Linux x64 Linux Linux x64 Linux
Linux ARM RaspberryPI Linux ARM RaspberryPI Linux ARM RaspberryPI
Zip All platforms Zip All platforms Zip All platforms

UGS Classic
A clean and lightweight variant of UGS (requires Java).
Unpack and start the program by double clicking the jar file. On some platforms you may need to run the included start script.

Latest release (v2.0.12) Previous release (v2.0.11) Nightly build
Zip All platforms Zip All platforms Zip All platforms

Screenshots

UGS Platform

UGS Platform main window

UGS Platform

Customizable panel layout

Customizable panel layout

Menu actions with customizable keybindings

Actions

Menu with plugins

Plugins

One of many plugins

Dowel Maker

Basic gcode editor

Basic gcode editor

Vector graphics designer for generating GCode toolpaths

Designer

UGS Classic

UGS Classic main window

Classic main window

UGS Classic with visualizer

Classic visualizer

Development

Show details on how to compile the software

For development we use Maven and Java for compiling. We rely on a specific version of Java 13.0.1-9 is needed due to compatibility issues with a library we depend on.

Compiling and starting the application

UGS Classic:

mvn install
mvn exec:java -Dexec.mainClass="com.willwinder.universalgcodesender.MainWindow" -pl ugs-core

UGS Platform:

mvn install
mvn nbm:run-platform -pl ugs-platform/application

Execute all tests

mvn test

Building the self-executing JAR

mvn install
mvn package -pl ugs-classic

Build a UniversalGcodeSender.zip release file

mvn package -pl ugs-classic assembly:assembly

Develop via IntelliJ

If you are more used to IntelliJ, you can also build, run and debug it there.

  • Run mvn nbm:run-platform -pl ugs-platform/application once via terminal to build everything
  • Import the Source, File -> New -> Project from existing Sources
  • Setup a new "Run Configuration", Java Application, with following settings:
    • Main Class: org.netbeans.Main
    • VM Options: -Dnetbeans.user=$ProjectFileDir$/ugs-platform/application/target/userdir -Dnetbeans.home=$ProjectFileDir$/ugs-platform/application/target/ugsplatform/platform -Dnetbeans.logger.console=true -Dnetbeans.indexing.noFileRefresh=true -Dnetbeans.dirs="$ProjectFileDir$/ugs-platform/application/target/ugsplatform/ugsplatform:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/platform:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/ide:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/extra:$ProjectFileDir$/ugs-platform/application/target/ugsplatform/java"
    • Program arguments: --branding ugsplatform
    • Working dir: $ProjectFileDir$
    • Use classpath of module: ugs-platform-app
  • There is a runConfiguration in the repository, which should be available after importing the project