I recently created a network proxy for the FlashPrint software, which makes remote printing via Wi-Fi possible with the PowerSpec printer. While debugging that setup, I was able to observe the exact protocol and undocumented gcode commands used to send a file to the printer for printing. FlashForge doesn’t “stream” a print like many support with a tool like Octopi. Instead, a set of gcode commands are sent to the printer and then saved to the printer’s memory. Finally, then print begins. Since I can’t use Octopi with the FlashForge proprietary gcode, I needed something else.
Automation Option
The first goal was to enable automation for using another slicer. I created a set of Python functions to send a file to the printer. From there, I had what I needed to setup an Automater script on my Mac. This script monitors files in a directory and when one appears, it invokes the script with the filename. The trigger is files or folders added to /documents/start3dprint. The action is to run the shell script, passing my printer’s IP, port, and filename. This has worked well to start printing directly from Simplify3D
Print Monitoring
I also wanted an easy way to keep a window up in the corner of screen with print status. For this I created a simple Python GUI to connect to printer for monitoring and/or send a file. This can be used in conjunction with the automation to monitor print progress. I was able to compile it into a windows executable and Mac .dmg file. I was surprised how well the UI toolkit and compilation worked.
I hope after some more testing I’ll feel comfortable releasing it to others to try.