AndyQ / OctoPrint-PrusaMeshMap

This plugin performs a mesh bed leveling operation then returns the results as an easy to read heatmap.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OctoPrint-PrusaMeshMap

This plugin is undergoing beta testing!

Description

This plugin takes Prusa's G81 mesh level output and translates it into an easy to read heatmap using matplotlib.

Upon installation, you will have a "Prusa Mesh Leveling" tab:

example showing new tab in interface

Clicking "Perform Bed Level and Check" will execute a bed level operation and status check using a GCode script defined in the settings:

example showing GCode script in settings

It should be noted that the heatmap image will not reload automatically. To reload, click "Reload Heatmap Image" below the heatmap. This is to allow you to be paying attention and see how your new bed level result changes.

G81 Output Handler

It should be noted that this plugin has a handler that is watching output received from the printer at all times. This means you can place a G81 in your slicer's GCode start script and have a new heatmap generated every time you print!

Setup

Install via the bundled Plugin Manager or manually using this URL:

https://github.com/PrusaOwners/OctoPrint-PrusaMeshMap/archive/master.zip

My modified version can be installed using this URL:

https://github.com/AndyQ/OctoPrint-PrusaMeshMap/archive/master.zip

NOTE - only Python 3 is now supported - so you will need to have upgraded to the latest OctoPrint

Raspberry Pi Users

This plugin uses matplotlib and numpy packages from pip. Since wheels do not exist for these ARM packages in Python 3, they will need to compile. This process takes a long time (30min+). If you try to install this directly from Plugin Manager without installing these dependencies first, the compile process will take long enough that OctoPrint errors out the plugin install and quits responding while the install process continues in the background! You can monitor the process with top command via SSH, and when it finishes attempt the plugin install again per the above. It will detect that the plugin is already installed and force a reinstall, and since the dependencies will be there it will go on without issues.

A better method may be to log in to the Pi via SSH before doing the plugin install and pip install the requirements manually.

IMPORTANT! As of this writing, the current versions of matplotlib and numpy require Python3. This plugin has been updated toi support Python 34 ONLY, and it shoudl work with the latest versions of matplotlib and numpy. So to install these manually you can use the following commands:

/home/pi/oprint/bin/pip --no-cache-dir install 'numpy'
/home/pi/oprint/bin/pip --no-cache-dir install 'matplotlib'

(The --no-cache-dir is required for Pi Zero W users, may work fine without this on other Pi versions)

This will still take a long time, but will get the packages the plugin depends on in place beforehand. The plugin will then install without issues within a few seconds in Plugin Manager.

About

This plugin performs a mesh bed leveling operation then returns the results as an easy to read heatmap.

License:MIT License


Languages

Language:Python 85.2%Language:Jinja 7.9%Language:JavaScript 6.4%Language:Less 0.3%Language:CSS 0.3%