This package contains the instrument drivers for controlling a 3D printer running Marlin with LabVIEW. LabVIEW is a graphical programming environment often used for controlling instruments. LabVIEW has got a community edition which can be downloaded for free for personal use. This driver can be downloaded using the download button. It is however recommended to download the files from GitHub to be sure that you download the latest version. https://github.com/properprinting/MID
PROPER PRINTING PROVIDES THE SOFTWARE TO YOU “AS IS” AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, STATUTORY, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR INFRINGEMENT. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN TO YOU BY ANY PROPER PRINTING EMPLOYEE, REPRESENTATIVE OR DISTRIBUTOR WILL CREATE A WARRANTY FOR THE SOFTWARE, AND YOU MAY NOT RELY ON ANY SUCH INFORMATION OR ADVICE.
On a less formal note: This software enables actions which have the potential to do damage, like starting a torture test while it is printing. Don’t hold me responsible when you destroy your printer or set your house on fire.
Like with most standard instrument drivers this driver consists of an initialize step, configure read, and write steps and a closing step.
Initialize and close
This VI initializes the 3D printer running Marlin through a USB port and is required for the rest to run. The VISA resource name is the name of the COM port. The close VI must run when the execution ends so the port can be used by other programs.
The utility VI’s are used for several standard operations. These VI’s are an abstraction layer to make the inputs specific. For example the Home.vi
The Axes input is a cluster with 3 booleans representing the 3 axes. If all 3 booleans are TRUE the standard homing sequence is performed. If only the Z axle is set tot TRUE the Z will home.
Other utility VI’s are:
- Disable steppers.
- Set fan speed.
- Set temperature; can be used for one hot end, the bed and the chamber.
- Move (both G0 and G1 are supported)
- Send raw Gcode; can be used to send anything else or to iterate through a standard Gcode file.
These VI’s can be used for monitoring. The current data VI’s are:
- Report temperatures; shows the set and actual temperatures of bed and hot end (chamber needs to be implemented).
- Get endstop status; shows the current status of all 3 endstops.
These VI’s can be used to set certain configurations. The one used now is
- Positioning; which sets the positioning type to absolute or relative. This is useful for jogging actions.