This plugin was inspired by mic159's Grbl Support plugin (https://plugins.octoprint.org/plugins/octoprint-grbl-plugin/). His plugin gets you 90% of the way there for adding Grbl support to Octoprint but had a couple limitations and lacked some bells and whistles from a UI and configuration perspective.
Better Grbl Support utilizes mic159's gcode receiver parser (with significant modifications) and does much, much more:
- Replaces Octoprint's Control tab with its own Grbl Control tab
- Execute bounding box (framing) routines based on origin location and supplied dimensions
- Computes selected file dimensions and pre-populates framing length/width fields
- Converts Grbl error and alarm #s to meaningful descriptions
- Grbl Homing support
- Modify all Grbl ($$) settings via Better Grbl Support settings
- Backup and restore Grbl ($$) settings
- Click on the webcam image to enlarge it to its native resolution
- Visually updates State / X / Y / Z / Speed / Power dynamically, even while printing!
- Weak Laser Toggle, Sleep, Reset, and Unlock buttons conveniently placed within the Grbl Control tab
- Rewrites Octoprint's annoying hardcoded M115 (Hello) queries as M5 requests
- Rewrites M105 (temperature updates) as Grbl status updates
- Suppresses M110 (reset line #) requests
- Rewrites M400 (Finish moves) using Grbl Dwell
- Rewrites M114 (current position) using Grbl Positioning
- Implements M999 for reseting Grbl (^X)
- Hides the Octoprint Control, Temperature and GCode Viewer tabs
- Optionally adds Laser Commands and State sections to the Control tab
- Suppresses status update reporting during GCODE streaming
- No need to ignore firmware errors or track down other Octoprint nuance settings
- Automatically disables Model Size Detection
- Automatically disables sending checksums
- Automatically disables the Printer Safety Check plugin
- Most configuration options are configurable via Plugin Settings
Install via the bundled Plugin Manager or manually using this URL:
https://github.com/synman/OctoPrint-Bettergrblsupport/archive/master.zip
There are some meaningful caveats regarding the installation and configuration of this plugin. If you use it in a multi-printer / profile environment it will very likely cause problems for your other profiles as it makes GLOBAL configuration changes behind the scenes. A future version may resolve this, but understand that currently multi-profile installations are not currently supported.
Furthermore, a number of global configuration changes are made blindly and I have no way of reverting these changes. Be prepared to manually edit your config.yaml and/or manually revert global settings if you uninstall / disable this plugin to restore your Octoprint installation to its prior state.
Pay special attention to the following config.yaml configuration parameters:
- appearance / components / temperature tab
- controls (any / all customizations made to it)
- feature / temperatureGraph
- feature / gcodeVisualizer
- feature / modelSizeDetection
- serial / neverSendChecksum
- serial / checksumRequiringCommands
- serial / helloCommand
- plugins / _disabled / printer_safety_check
- appearance / components / disabled / tab