Troubleshooting Overview - winder/Universal-G-Code-Sender GitHub Wiki
- Is the problem UGS, the controller, or CAM?
-
UGS is not working properly
- Recent Upgrade - Reset Preferences
- Java Version
- Antivirus software
- Bad font rendering
- Visualizer and GUI not rendering correctly
- Error message "Assistive Technology not found"
- UGS is not showing all Windows
- The Visualizer shows distorted gcode
- "Grbl has not finished booting."
- "An unexpected command was completed by the controller"
- Other problems
- Program Slows Down and Send Freezes
- Open Issues
Many issues and requests for help are not actually specific to UGS, some of these are related to connecting to the controller, while others are CAM related.
UGS has three simple primary missions:
-
Take G-code from your computer and send it to your controller.
-
Send signals to your controller for setting up jobs. Examples: Homing, Jogging and setting Work Coordinate System (WCS) manually.
-
Displaying and changing controller status. Examples: seeing alarm statuses and clearing them, toggling coolant, or adjusting speed+feed overrides, or pausing the program.
UGS does have additional secondary missions through plugins. Some of these are:
-
Dowel pin creation.
-
Probe wizard to automatically set WCS.
-
Workflow manager to help with tool changes between separate programs.
If your problem doesn’t fit into the above, it may be that the problem is actually outside of UGS. The following table can help you figure out where to look:
Description | Likely Components |
---|---|
Strange motion |
Controller |
Work Coordinate System changes between restarts of controller |
Controller |
Work Coordinate System changes between programs |
CAM or Controller |
Controller |
If you have recently upgraded UGS and it has been a long time since the previous upgrade, sometimes the preference files need to be reset. Preferences are kept in a user directory called .ugsplatform
for v2.0
and .ugs
for v1.0
, and deleting (or renaming) this directory will reset UGS back to the defaults.
The exact path varies between the major operating systems because of where they keep user data. Check out these pages for where the settings are located:
UGS Platform comes bundled with a tested Java version so there is no need to install it separatly. Currently UGS requires Java 8 or Java 13, but some people have tried it with more recent versions of Java which may not work. Issue #1151 shows how to change Java versions for several operating systems.
There has been cases where the antivirus software caused a problem with a popup that wasn’t able to close. The issue was resolved by disabling the antivirus software (#1237). Errors have been reported with the following Antivirus softwares:
-
Comodo
-
Trend Micro
On some Linux systems there might be problems with rendering fonts (#1622). This may be fixed by setting an environment variable:
sudo echo "_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true' " >> /etc/environment
On some Linux systems there may be issues with rendering the Visualizer and GUI. This is sometimes caused by incompatible graphics card or drivers which will prevent UGS from using hardware accelerated graphics (#1607). If it still does not work after upgrading/downgrading the graphics drivers there is an option of starting UGS using software rendering using the following command.
LIBGL_ALWAYS_SOFTWARE=true ./ugsplatform
On KDE Neon 5.16 with OpenJDK 1.8.0_212 a user got the follwing error message (#1267):
./start.sh
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
at sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2020)
at javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1158)
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:431)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:148)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1577)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:539)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:579)
at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1349)
at javax.swing.UIManager.initialize(UIManager.java:1459)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1426)
at javax.swing.UIManager.getInstalledLookAndFeels(UIManager.java:419)
at com.willwinder.universalgcodesender.MainWindow.main(MainWindow.java:180)
To solve this, edit the accessibility.properties file for OpenJDK:
sudo vim /etc/java-8-openjdk/accessibility.properties
Comment out the following line:
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
Sometimes the configuration gets corrupt and some of the Windows is hidden or buttons in the toolbars is missing. As a last resort you can correct this using "Reset Windows".
In some cases the visualizer shows the gcode all distorted and not at all expected. This is likely caused by bad graphics drivers. Try upgrading or downgrading the driver (#1868):
This happens when UGS connects to a serial port and does not receive the GRBL startup string. Typically this is caused by a configuration problem and can be solved by one of the following:
-
Check the baud rate is 115200, or 9600 for very old versions of grbl.
-
Make sure you are connecting to the correct port.
-
Make sure you have installed any drivers required for your controller.
-
Make sure GRBL is properly flashed on your controller.
UGS has the job to keep track of the state of the controller to make sure it is visualizing the correct position and state. If the software receives a status message for something it did not request it could mean that the controller is responding in a way that UGS do not understand, an unstable connection or that something else is also communicating with the hardware.
In any case this is bad as UGS no longer know the controller state and further communication could lead to broken hardware or human injury. And it will print the following error message in the console: [Error] Error while processing response <ok>: An unexpected command was completed by the controller.
A common cause is offline controllers which sends its own commands that UGS does not know about. A simple solution is to just disconnect it:
If UGS is still not starting properly, we encourage gathering and looking through the messages.log
file for clues, then asking for help on the Google Group, attaching the most recent log / post them to somewhere like Pastebin or create a Github Gist. messages.log
can be found at these locations depending on your OS.
If you notice slowness while running your program, it may mean UGS is running out of available memory. There are a couple things to try:
-
Check the controller settings, and make sure "Arc Expander" is not enabled. This can take a small program and turn it into a very large one by converting arcs into many small movements.
-
Increase the memory allocated to UGS by navigating the the installation directory. There is a folder named etc containing ugsplatform.conf, open this file with a simple text editor and add the parameter
-J-Xmx2048m
, or larger.
Found a problem? Check the list of open issues and see if someone is already working on it.