Coder Social home page Coder Social logo

mrnt / octoprint-flashforge Goto Github PK

View Code? Open in Web Editor NEW
87.0 12.0 12.0 751 KB

OctoPrint plugin to support closed source printers from FlashForge, PowerSpec, Dremel

License: GNU General Public License v3.0

Python 64.08% CSS 3.65% JavaScript 32.27%
octoprint 3d-printing octoprint-plugin

octoprint-flashforge's Introduction

OctoPrint-FlashForge

Adds support to the OctoPrint 3D printer web interface for communication with closed source printers such as the:

  • FlashForge Creator Max, FlashForge Dreamer, FlashForge Dreamer NX, FlashForge Finder, FlashForge Finder II, FlashForge Guider II, FlashForge Guider IIs, FlashForge Inventor, FlashForge Ultra 2.0
  • PowerSpec Ultra 3DPrinter 2.0
  • Dremel Idea Builder 3D20, 3D40, 3D45

At the current time, plugin will only work with printers that support a connection to a host computer (eg RaspberryPi) via a USB connection (using a USB type B connector on the printer).

These printers are not supported by Octoprint-GPX. Octoprint-GPX works on older printers such as the FlashForge Creator Pro and a few similar printers which use the GPX protocol.

March 9th 2022 - IMPORTANT PLEASE READ

Neither FlashForge or Dremel have provided details of the commands or protocol supported by the various models - almost all the work herein was done by reverse engineering the communication between FlashPrint and the two printers I had access too, trial and error, and subsequently spending many, many hours studying debug logs including those graciously provided by users.

However, this is ultimately a losing battle - every new device or firmware change by FlashForge can and has broken the limited capabilities of this plugin. I have therefore made the decision not to spend more time on this plugin. I am grateful to the few users that were generous enough to send me a donation and I hope that they will understand this decision. Moving forward, the best solution for FlashForge printers is to use a well documented, open source firmware such as Marlin, which will fully support OctoPrint, Cura, etc. I am working on converting my remaining FlashForge printer to use Marlin firmware so that I can focus on using it to its full potential.

Current Capabilities

  • Automatically detect and connect to the above printers
  • Use Octoprint Control UI to:
    • Set and monitor printer temperature
    • Move extruder, bed*
    • Turn fans on and off
    • Extrude, retract*
    • Set color of the enclosure light, turn it on/off
  • Upload a FlashPrint prepared .gx or .g file using the "Upload to SD" button which will immediately start a print (like FlashPrint), you should be able to pause, resume, cancel the print using the respective buttons.
  • Upload a Cura prepared .gcode file using the "Upload to SD" button or directly to the SD card from Cura (note that some Cura generated g-code commands are not compatable with FlashForge printers, see Wiki for details).
  • Print directly from within OctoPrint - i.e. using the "Upload" button to upload a file into OctoPrint (prepared using FlashPrint or another slicer) and then selecting file within OctoPrint. Note: this is a new feature and there may be issues with reliability or even whether it will work at all on a given printer (it has only been tested on a PowerSpec Ultra 3D, FlashForge Finder v1) - please tread carefully and provide detailed bug reports.
  • Print directly from Cura via OctoPrint to SD card or direct (see warnings on previous 2 items).

Printer Compatibility

IMPORTANT: This plugin uses a USB connection to communicate with the printer - if the printer cannot be connected directly to a computer via USB, then it will not work with this plugin.

Shows current state of printer Compatibility for core OctoPrint functionality and will be updated as users provide feedback.

Printer Upload File to SD Card Control Movement and Temperature Print Directly From OctoPrint
Adventurer 4
Not supported (no USB to host port)
- - -
Adventurer 3
Not supported (no USB to host port)
- - -
Adventurer 3C
Not supported (no USB to host port)
- - -
Adventurer 3
Not supported (no USB to host port)
- - -
Creator 3
Not supported (no USB to host port)
- - -
Creator Max Yes Yes Yes, unreliably
Creator Pro No (Use GPX plugin) No (Use GPX plugin) No (Use GPX plugin)
Creator Pro 2 No (Use GPX plugin) Yes Yes (IDEX in development)
Dreamer Yes ? ?
Dreamer NX Yes ? ?
Finder v1 Yes Yes Yes, unreliably
Finder v2* Yes Temp - Yes, Movement - ? ?
Explorer Yes ? ?
Guider Yes ? ?
Guider II* Yes Temp - Yes, Movement - ? ?
Guider II S* Yes Temp - Yes, Movement - ? ?
Inventor Yes ? ?
Inventor II Yes ? ?
Dremel 3D20 Yes ? ?
Dremel 3D40** ? ? ?
Dremel 3D45** ? ? ?
PowerSpec Ultra 3d Yes Yes Yes, unreliably

* May be issues with FlashForge Finder II, Guider II, Guider IIs - these printers do not support relative positioning so when you create your Printer Profile in OctoPrint you will need to go to the "Axes" tab and select "G91 Not Supported". If you still experience issues when using the controls please report with debug log files (see below for how to enable debugging).

** Dremel 3D40, 3D45 seem to talk a little differently from the other printers and cannot be controlled directly. At the present time upload to SD card is not working either.

Install

Install via the OctoPrint Plugin Manager by clicking "Get More" and entering "FlashForge" to search the Plugin Repository, or in the box "...enter URL" put:

https://github.com/Mrnt/OctoPrint-FlashForge/archive/master.zip

then click "Install".

Plugin requires the libusb1 library: https://pypi.org/project/libusb1/ which should install automatically if you install the plugin via the Octoprint UI.

If you are using Linux (eg you installed OctoPi on a Raspberry Pi), then after installing the plugin (and restarting OctoPrint), you will need to access the Pi using SSH to give the OctoPrint permissions to access the printer. Instructions for adding a udev rule to allow configure permissions will appear in the "Terminal" tab of OctoPrint the first time you attempt to connect to your printer.

Configuration

The following steps should get you up and running on OctoPrint/OctoPi:

Settings

The plugin attempts to set default values for the following (so on a fresh install, no tweaking should be necessary):

  • Under OctoPrint > Settings > Serial Connection > Intervals & Timeouts:

    • Temperature Interval (polling) 5s When printing or idle
    • Temperature Interval (polling) 2s When idle and a target temperature is set
    • Temperature Interval (autoreport) 2s Autoreport interval to request from firmware
  • Under OctoPrint > Settings > Serial Connection > Firmware & Protocol:

    • Disable "Enable automatic firmware detection"
    • Enable "Always assume SD card is present"
    • Change "Send a checksum with the command" to "Never"
    • Under "Protocol fine tuning" click "Advanced" and make sure the "Hello" command is set to M601 S0
  • Under OctoPrint > Settings > Serial Connection > Behaviour:

    • Un-check "Attempt to abort any blocking heatups on cancel via M108."
  • Under OctoPrint > Settings > GCODE Scripts:

    • Make sure all the script fields are empty (the default "After print job is cancelled" script generates commands that causes the printer to hang). You can tweak this after you have the plugin working - use the G-code Dictionary in the Wiki to help you.
  • Under OctoPrint > Settings > Printer Profiles: Edit the default printer profile or create a new one to reflect the number of extruders, build volume, etc.

  • Under Octoprint > Settings > Features:

    • Edit "Terminal Auto Uppercase Blacklist" to display M146 (to allow the control of the lights inside the printer).
  • Under OctoPrint > Settings > Plugin Manager: Verify that the FlashForge plugin is enabled

Connection

Under the main interface select "Auto" for "Serial Port".

Additional Information

Additional information on g-code supported by the printers, etc can be found in the Wiki.

Plugin was inspired by work by Noneus and information on these printers provided by users. If you discover an issue, figured out how to make out how to make it work better or have an idea for improvement please raise it as an issue.

Known Issues

  • Currently will only reliably print using the "Upload to SD Card" button. As described above, the print from OctoPrint functionality is in place but is currently only tested (and somewhat reliable) on PowerSpec Ultra 3D, FlashForge Finder v1.
  • Clicking any button in the "Control" tab after clicking a "Home" button may cause the printer to drop the connection if it has not finished "homing".
  • Cannot use any controls (besides Pause, Cancel) while a print is in progress. Temperatures, and printer status CAN be monitored because these rely on unbuffered g-code commands - see G Code Commands for a list of unbuffered commands that should work via the Terminal tab when a print is in progress.

Troubleshooting

  • Verify the plugin is enabled (Settings > Plugin Manager - "FlashForge" should be enabled), Octoprint may need to be restarted. If plugin does not appear in Plugin Manager list libusb1 may need to be installed manually - current version of plugin should do this automatically.

  • Verify that you are not connected to the printer using FlashPrint, Dremel Digilab, etc via WiFi or Ethernet while also trying to connect OctoPrint to the printer.

  • If the plugin fails to detect or connect to the printer check the Terminal tab in Octoprint for errors and verify that you set up the Serial Connection settings as described in the Configuration section above.

  • If you are on OctoPi/Linux and see a USB permissions error then you will need to add a udev rule to allow access to the printer - see error message in the Terminal tab of Octoprint for instructions.

  • Verify that the Serial Connection settings are set correctly, in particular the "Send a checksum with the command" setting.

  • Turn on debug messages for the plugin (see Debugging below) to help troubleshoot connection issues.

  • After attempting to connect to the printer with debug messages turned on, review the log (Settings > Logging, octoprint.log) for clues. If you cannot resolve it, create an Issue in github providing the platform (Windows/OctoPi/etc), hardware (PC/Raspberry Pi 3b/etc), Printer Model, Printer Firmware Version and upload the octoprint.log as a zip file.

  • If you have a printer such as Finder II, Guider II and find that the movement controls under the "Control" tab do not seem to work, there is a setting under "Settings" > "Printer Profiles" > "Axes" where you can select G91 (relative positioning) not supported.

Debugging

Turn on debug messages for the plugin by going to Settings > Logging and under "Logging Levels" set octoprint.plugins.flashforge to "DEBUG"

IMPORTANT: click the "+" sign next to it, then click "Save".

Support Further Development

This plugin was/is developed by painstakingly reverse engineering the communication between FlashPrint and FlashForge printers with much trial and error. If you find it useful and/or want to see continued development, please consider making a donation.

More chocolate, more code

octoprint-flashforge's People

Contributors

jepler avatar jimprince avatar mrnt avatar mrspartak avatar msmthng avatar slohmaier avatar trejan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octoprint-flashforge's Issues

Support DisplayLayerProgress plugin

Hi! I just wanted to first thank you for your hard working in getting this plugin up and running. The fact that I actually can communicate with the printer at all with Octoprint now is just excellent :)

So, I've however been having some issues with the Flashforge finder and using octoprint with your plugin. This is the error I receive, and it happens pretty consistently on all prints after a short time.

Send: M27
Recv: CMD M27 Received.
Recv: SD printing byte 28185/2807826
Recv: ok
Send: M119
Recv: CMD M119 Received.
Recv: Endstop: X-max: 0 Y-max: 0 Z-max: 0
Recv: Status: S:0 L:0 J:0 F:1
Recv: MachineStatus: BUILDING_FROM_SD
Recv: MoveMode: MOVING
Recv: ok
Send: M105
Recv: CMD M105 Received.
Recv: T0:210 /210 B:0 /0
Recv: ok
Send: M119
Recv: CMD M119 Received.
Recv: Endstop: X-max: 0 Y-max: 0 Z-max: 0
Recv: Status: S:0 L:0 J:0 F:1
Recv: MachineStatus: BUILDING_FROM_SD
Recv: MoveMode: MOVING
Recv: ok
Send: M27
Recv: CMD M27 Received.
Recv: SD printing byte 28240/2807826
Recv: ok
Send: M117 1% L=-/-
Recv: CMD M117 Received.
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: M117 ETA: -
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
No response from printer after 6 consecutive communication timeouts, considering it dead. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Changing monitoring state from "Printing from SD" to "Offline (Error: Too many consecutive timeouts, printer still connected and alive?)"
Connection closed, closing down monitor

Is there anything I can tweak to maybe resolve this issue? I've gone through your README several times and made sure all settings are defined correctly, and done the troubleshooting, but I can't really figure out what's happening.
I noticed it says that it can happen if you have long moves, but this happens even on short move prints with small models.

Hope someone could provide some input on what's going on here. Thanks.

Flashforge Finder 2 - Print not working

Happy to provide debug logs, just not sure which ones you want. And happy to be a guinea pig to test things out.

I can load and hit print on a job, it will start heating up and hit the start temp, but the bed never moves, and nothing ever extrudes. The only thing that happens is it heats up.

It does have "Unexpected error while reading serial port" and "FlashForgeError: 'USB Error readraw() (LIBUSB_ERROR_IO [ -1])'" coming up every few seconds.

I've enabled the G91 setting in Axes.

If I load the same job through Octoprint to the SD Card it prints just fine.

Flashforge Guider II

Hi,

Would it be possible to add the Flashforge Guider II. Also ... would this plugin expose data such as the printer status - printing / paused / complete / time remaining?

Many thanks,

Jay :)

Checking out my Saurus with Flashforge under OctoPrint

Since my Bresser Saurus is an refined Flashforge Finder II. Bresser Put some of their own logo stickers on it, but thats it.

It can connect under Octoprint which @Mrnt his plugin. /Bows

I can play with the lights, move the head, move the bed.
image

What i not can is Put motors on or off, and Fan on or off. But when you press Fan off, and the fan is blowing from old session. And you spamm on Fan off, you hear actually slowing down the fan, but when your stopped spamming the button, its spool up to its normal rpm again.

So i made an bed level test, to test out printing directly from Octoprint to the Saurus/Flashforge

image

I loaded it into OctoPrint. When i press print, i get a warning

image

The Extruder heats up till 220c, until i cancel the session or when i go to temperature tab and put the tool manual off.

image

So i wanted to make a debug file for the guys who are working on this communication-plugin.

So i went to logging and enable as shown below
image
I pressed save, and checked again.

image

But i experienced more often in Octoprint when you press save buttons, that it isnt really saving. Dunno why, but i adressed this to the maker of OctoPrint.

So what i did was rebooting the whole system and redo all the logging settings again for your flashforge plugin. and Voila!

image

Lets redo the bed level test again and gets some files out of this machine....

image
This time after a reboot system, when i started the bed level test again, the fans are spinning, the extruder is warming up, and then i get the "Not sending "M140 S0 T0", printer profile has no heated bed. Either configure a heated bed or remove bed commands from your GCODE" warning again.

But i can press print. Last time when i was messing with this, the extruder bangs into the side of the bed. Now actually the bed move a little center middle height, what it normally also does when i print from Rexprint (flashprint).

Pressed print. Silence.......Printer warms up......and cools down again..

https://youtu.be/jIpRoj9Ffp0

Then i realise when i sliced the bed level test, i saw nothing on the bed. Maybe that is the problem, why its not printing. So this time we take a simple cube. A 20x20x10mm Cube.

An brimm around it, because its verry tiny.

image

Load and locked and pressed print. Watching carefully.

Printer is heating up, Extruder is warming up. I check temp, check, i check G-code Viewer, and then uhm

image

Hey Cube, dont you need to be in the Center of the bed?

Still get warning from " Not sending "M140 S0 T0", printer profile has no heated bed. Either configure a heated bed or remove bed commands from your GCODE".

Waiting...Waiting...Waiting...and then i suddenly hear the extruder/head moving. Oh boy....

He went this time to the center of the bed (but remember that g-code viewer showed left under?), instead banging into the side, where it still left his marks (2 weeks ago)

Made some whole video from the situation.
https://youtu.be/CxScKizio0k

It does something. It wants to print, makes weird noises which arent normal. Is verry slow, like he needs to think what he must do next. So i let him do this a few square rounds, but then canceled the session because i dont want to break my printer.

Do you know where i can get the flashforge logging which i enabled?

image

@Mrnt I am pretty techinical. I worked for over 18 years as an Senior Networkspecialist at a big dutch company. But since 2018 i got sick, and anxiety problems. Problem was, is that i was walkinkg around with 18 years of mental problems. Keeping away emotions. Just keep going on work, even if you have alot of downs. This resulted in heavy physicial health problems.

Anyway i am in therapy now, and i have a long way to again, so i have plenty time for this 3d printing Job. If you need any help, let me know.

sorry for my long text/picture story 🍡

Unsupported printer. Dreamer NX

Got my new printer today and tried to connect via this plugin and got this error in terminal:

Changing monitoring state from "Offline" to "Error: Connection error, see Terminal tab"
Unexpected error while connecting to serial port: AUTO FlashForgeError: 'Found an unsupported FlashForge printer 'unknown' with USB ID: 0X000A' @ comm.py:_openSerial:2661 (hook flashforge)

I have a Dremel 3D40 and I'd like to contribute

Hi,

I have a Dremel 3D40 and I'd like to contribute to getting this machine to work with this plugin.

I obtained the source code for Dremel's version of Cura from Dremel/Bosch europe and put it up here:

https://gitlab.com/number-g/dremel-digilab-3d-slicer-1.2.3

Not sure how useful that is or where to look for useful things but there it is.

There was also another folder in the archive called "curaengine" which also seems to be a git repository but I am not really familiar with git so I couldn't figure out how to upload it to gitlab ... I think it was still somehow configured to use their in-house git instance. I've uploaded it here (but the link will expire in 30 days):

https://easyupload.io/jxd6ng

Please let me know if this is of any use and how I can help. I have plenty of time.

Cheers

Flash-forge dreamer (dual extruder) issues connecting!

-Error connecting to printer
There was an error while trying to connect to your printer. Error: Connection error, see Terminal tab

Terminal:

`<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

' @ comm.py:_open_serial:2784
Changing monitoring state from "Offline" to "Opening serial connection"
Changing monitoring state from "Opening serial connection" to "Error: Connection error, see Terminal tab"
Changing monitoring state from "Error: Connection error, see Terminal tab" to "Offline (Error: Connection error, see Terminal tab)"
Unexpected error while connecting to serial port unknown device, port:1:5, baudrate 38400 from hook flashforge: FlashForgeError: '

Unable to connect to FlashForge printer - permission error.

If you are using OctoPi/Linux add permission to access this device by editing file:
/etc/udev/rules.d/99-octoprint.rules

and adding the line:
SUBSYSTEM=="usb", ATTR{idVendor}=="2b71", MODE="0666"

You can do this as follows:

  1. Connect to your OctoPi/Octoprint device using ssh
  2. Type the following to open a text editor:
    sudo nano /etc/udev/rules.d/99-octoprint.rules
  3. Add the following line:
    SUBSYSTEM=="usb", ATTR{idVendor}=="2b71", MODE="0666"
  4. Save the file and close the editor
  5. Verify the file permissions are set to "rw-r--r--" by typing:
    ls -al /etc/udev/rules.d/99-octoprint.rules
  6. Reboot your system for the rule to take effect.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

' @ comm.py:_open_serial:2784`

I ssh'ed into it via terminal, added that rule, and double checked that the permissions are set to rw-r--r--, and for some reason it still doesn't want to connect.

The dreamer is not on wifi, connected to the raspberry pi with the usb cable that came with it, and its on the home screen!

Can you help me please lol!

Edit: I restarted everything a few times and it still isn't working :)

FlashForge Finder 2.0 - Controlling Movement

Flashforge Finder v2.0
Firmware 2.2.7.299 F2.12.2 20181203

controlling print head from #control tab with arrow buttons doesnt work as desired and dosent take home buttons at all.

ie. setting stepsize 10 and press arrow will move head one time in that direction at that distance only relative to start position. will not move any further by pressing arrow again, will only go one step in any direction and on time back.

from terminal tab printer does not respond to G28 command for homing all axis, it only respond to G28 * (* = X, Y or Z), and will not take multiple axis at same command

dosent seams printer respond well as desired to commands G90, G91, G92 from terminal eighter.

Direct Printing Not working

Trying to print direct rather than upload to SD Card.

It warms the nozzle and some filament feeds out. The bed never moves. The print head does move a little.

The terminal output shows a lot of
"Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves."

and after cancelling the job, I have to manually shut off the Nozzle temp.

Same file prints fine when uplaoded to SD Card.

FlashForge Finder V2
Attached Logs.
octoprint (1).log
Attached gcode file I'm trying to print.
FlashForge_Finder_Bed_Level_Test.zip

0.2.4 appears to prevent access to the plugin repository

I tried to install a different plugin, but I get a box telling me that Octoprint isn't connected to the internet (which is silly, as I am able to ping the outside from the Pi)

I disabled the 0.2.4 plugin, and it was able to access the internet again.

Issue connecting

So following the steps, I did encounter the permission error, so I followed the instructions on the octopi terminal. Once I restarted, I get this error from the octopi terminal:

Changing monitoring state from "Offline" to "Detecting serial connection"
Performing autodetection with 7 port/baudrate candidates: unknown@115200, unknown@250000, unknown@230400, unknown@57600, unknown@38400, unknown@19200, unknown@9600
Trying port unknown, baudrate 115200
Handshake attempt #1 with timeout 2.0s
Unexpected error while writing to serial port: FlashForgeError: 'USB Error write() (LIBUSB_ERROR_IO [-1])' @ comm.py:_do_send_without_checksum:3593
Changing monitoring state from "Detecting serial connection" to "Offline (Error: FlashForgeError: 'USB Error write() (LIBUSB_ERROR_IO [-1])' @ comm.py:_do_send_without_checksum:3593)"
Closing down send loop

Total Bytes Dremel 3D20

While printing I have no estimated time on the printer LCD, which I suspect is related to the denominator of "SD Printing Bytes" as seen in the image above.

I'm running a new installation of Octoprint with a new install of this software done today.

Can't connect to Flashforge Finder

Hi! I'm using a regular USB cable (USB-A to USB-A) to connect from my Raspberry Pi with OctoPi/print to my Flashforge Finder (it's less than a year old, so I'm not sure how to tell if it is a v1 or v2).
Anyway, Octoprint does not recognize the device. I turned on debugging, and I get this:

2020-09-24 07:41:34,560 - octoprint.util.comm - INFO - Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"
2020-09-24 07:41:34,566 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2020-09-24 07:42:23,508 - octoprint.plugins.logging - INFO - Setting logger octoprint.plugins.flashforge level to 10
2020-09-24 07:42:23,562 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:23,579 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:23,581 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:23,583 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:23,586 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:23,676 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:23,682 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:23,683 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:23,684 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:23,685 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,154 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:26,170 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,173 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:26,175 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:26,177 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,247 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection"
2020-09-24 07:42:26,268 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:26,275 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,276 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:26,277 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:26,278 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,280 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 0 port/baudrate candidates:
2020-09-24 07:42:26,281 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected."
2020-09-24 07:42:26,288 - octoprint.util.comm - INFO - Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"
2020-09-24 07:42:26,292 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2020-09-24 07:42:26,424 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:26,431 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,432 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:26,433 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:26,435 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,502 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:26,509 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,510 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:26,511 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:26,512 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,696 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,698 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,700 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,701 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,703 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,704 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,706 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,707 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,709 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,710 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,712 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,713 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,715 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,716 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,718 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,719 - octoprint.plugins.flashforge - DEBUG - get_extension_tree()
2020-09-24 07:42:26,766 - octoprint.plugins.flashforge - DEBUG - detect_printer()
2020-09-24 07:42:26,774 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002
2020-09-24 07:42:26,776 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0003
2020-09-24 07:42:26,777 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X2109, USB ID: 0X3431
2020-09-24 07:42:26,777 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002

Doesn't work with Flashforge Ultra V2

This doesn't detect the Flashforge / PowerSpec Ultra 2.0. Error is

"Unexpected error while connecting to serial port: AUTO FlashForgeError: 'Found an unsupported FlashForge printer 'unknown' with USB ID: 0X00F6' @ comm.py:_openSerial:2691 (hook flashforge)"

Cannot connect to Dreamer NX single extruder

I have a Raspbery Pi 4 4GB with the OctiPi image to run octoprint. When I attempted to connect the printer it seems to connect briefly then is disconnect and never reconnects. I have attached some output and logs along with printer info.

I did see the permissions issue and followed instructions to get that working but there still seems to be an access error in the logs.

Thanks in advance!
OctoPrint_flashforge_logs_KZ.zip

Guider II stalls at M400 during local printing

Uploading to SD works and prints fine, the other controls for the printer seem functional and communication seems to work fine in the terminal during those prints. Trying to print anything locally through OctoPrint starts by sending M400 and then stalling out when there's no response. I have tried increasing all of the timeouts.

image

Flashforge dreamerNX issues connecting

Not able to connect. On RPI4 octopi
Have tried adding usb permissions through standard method of adding line to file.

Still get LIBUSB access error.
I am able to recognize the dreamerNX as reflected below nd within dmesg
Attatching errors

2021-02-28 04:34:49,433 - octoprint.util.comm - INFO - Serial detection: Trying port FlashForge Dreamer NX 3D Printer, port:1:3, baudrate 9600 2021-02-28 04:34:49,434 - octoprint.plugins.GPX - INFO - [a] 2021-02-28 04:34:49,434 - octoprint.plugins.GPX - INFO - [b] 2021-02-28 04:34:49,434 - octoprint.plugins.GPX - INFO - [left] 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - [machine] 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - [printer] 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - build_progress=1 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - ditto_printing=0 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - gcode_flavor=reprap 2021-02-28 04:34:49,435 - octoprint.plugins.GPX - INFO - machine_type=r1 2021-02-28 04:34:49,436 - octoprint.plugins.GPX - INFO - recalculate_5d=0 2021-02-28 04:34:49,436 - octoprint.plugins.GPX - INFO - [right] 2021-02-28 04:34:49,436 - octoprint.plugins.GPX - INFO - [x] 2021-02-28 04:34:49,436 - octoprint.plugins.GPX - INFO - [y] 2021-02-28 04:34:49,436 - octoprint.plugins.GPX - INFO - [z] 2021-02-28 04:34:49,438 - octoprint.plugins.GPX - INFO - {'None': {}, 'a': {}, 'b': {}, 'left': {}, 'machine': {}, 'printer': {'build_progress': '1', 'ditto_printing': '0', 'gcode_flavor': 'reprap', 'machine_type': 'r1', 'recalculate_5d': '0'}, 'right': {}, 'x': {}, 'y': {}, 'z': {}} 2021-02-28 04:34:49,438 - octoprint.plugins.GPX - INFO - Connecting through x3g. 2021-02-28 04:34:49,439 - octoprint.plugins.GPX - INFO - GPXPrinter created, port: FlashForge Dreamer NX 3D Printer, port:1:3, baudrate: 9600 2021-02-28 04:34:49,441 - octoprint.plugins.GPX - INFO - gpx.connect raised exception = [Errno 2] No such file or directory: 'FlashForge Dreamer NX 3D Printer, port:1:3' 2021-02-28 04:34:49,441 - octoprint.plugins.GPX - INFO - Failed to connect to x3g e = [Errno 2] No such file or directory: 'FlashForge Dreamer NX 3D Printer, port:1:3'. 2021-02-28 04:34:49,442 - octoprint.util.comm - ERROR - Unexpected error while connecting to serial port FlashForge Dreamer NX 3D Printer, port:1:3, baudrate 9600 from hook GPX: FileNotFoundError: '[Errno 2] No such file or directory: 'FlashForge Dreamer NX 3D Printer, port:1:3'' @ comm.py:_open_serial:3670 Traceback (most recent call last): File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 3670, in _open_serial settings().getFloat(["serial", "timeout", "connection"]), File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/__init__.py", line 1890, in wrapper return f(*args, **kwargs) File "/home/pi/oprint/lib/python3.7/site-packages/octoprint_GPX/__init__.py", line 130, in serial_factory self.printer = GpxPrinter(self, port, baudrate, timeout) File "/home/pi/oprint/lib/python3.7/site-packages/octoprint_GPX/gpxprinter.py", line 46, in __init__ self._settings.get_boolean(["verbose"]))) FileNotFoundError: [Errno 2] No such file or directory: 'FlashForge Dreamer NX 3D Printer, port:1:3' 2021-02-28 04:34:49,443 - octoprint.util.comm - INFO - Serial detection: Could not open port FlashForge Dreamer NX 3D Printer, port:1:3, baudrate 9600, skipping 2021-02-28 04:34:49,444 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected." 2021-02-28 04:34:49,445 - octoprint.util.comm - INFO - Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)" 2021-02-28 04:34:49,477 - octoprint.plugins.action_command_notification - INFO - Notifications cleared 2021-02-28 04:34:49,539 - octoprint.plugins.flashforge - DEBUG - detect_printer() 2021-02-28 04:34:49,540 - octoprint.plugins.flashforge - DEBUG - Unable to get device name LIBUSB_ERROR_ACCESS [-3] 2021-02-28 04:34:49,540 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown device' with Vendor ID: 0X1D6B, USB ID: 0X0003 2021-02-28 04:34:49,544 - octoprint.plugins.flashforge - DEBUG - Found device 'FlashForge Dreamer NX 3D Printer' with Vendor ID: 0X2B71, USB ID: 0X000A 2021-02-28 04:34:49,544 - octoprint.plugins.flashforge - INFO - Found a FlashForge FlashForge Dreamer NX 3D Printer, port:1:3 2021-02-28 04:34:49,545 - octoprint.plugins.flashforge - DEBUG - Unable to get device name LIBUSB_ERROR_ACCESS [-3] 2021-02-28 04:34:49,545 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown device' with Vendor ID: 0X2109, USB ID: 0X3431 2021-02-28 04:34:49,546 - octoprint.plugins.flashforge - DEBUG - Unable to get device name LIBUSB_ERROR_ACCESS [-3] 2021-02-28 04:34:49,547 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown device' with Vendor ID: 0X1D6B, USB ID: 0X0002 2021-02-28 04:34:49,978 - octoprint.plugins.tracking - INFO - Sent tracking event commerror_autodetect, payload: {'commerror_text': 'No more candidates to test, and no working port/baudrate combination detected.'} 2021-02-28 04:37:33,259 - octoprint.plugins.GPX - INFO - [a] 2021-02-28 04:37:33,259 - octoprint.plugins.GPX - INFO - [b] 2021-02-28 04:37:33,259 - octoprint.plugins.GPX - INFO - [left] 2021-02-28 04:37:33,259 - octoprint.plugins.GPX - INFO - [machine] 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - [printer] 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - build_progress=1 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - ditto_printing=0 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - gcode_flavor=reprap 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - machine_type=r1 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - recalculate_5d=0 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - [right] 2021-02-28 04:37:33,260 - octoprint.plugins.GPX - INFO - [x] 2021-02-28 04:37:33,261 - octoprint.plugins.GPX - INFO - [y] 2021-02-28 04:37:33,261 - octoprint.plugins.GPX - INFO - [z] 2021-02-28 04:37:33,264 - octoprint.plugins.GPX - INFO - {'None': {}, 'a': {}, 'b': {}, 'left': {}, 'machine': {}, 'printer': {'build_progress': '1', 'ditto_printing': '0', 'gcode_flavor': 'reprap', 'machine_type': 'r1', 'recalculate_5d': '0'}, 'right': {}, 'x': {}, 'y': {}, 'z': {}}

Support for PowerSpec Ultra 3D Printer

Hello. Thanks for writing up this wonderful piece of software that has allowed me to take control over the functionality of this proprietary printer. It feels good to have control from my little Raspberry Pi instead of my Windows workstation.

I ran into a technical glitch trying to connect to my 3D printer. Apparently FlashForge has used multiple USB Vendor ID's. Here is the output from my lsusb -v command:

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 21 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0315 ProdID=0001 Rev= 2.00
S: Manufacturer=Flashforge
S: Product=FlashForge Dreamer 3D Printer
S: SerialNumber=00000000050C

Bus 001 Device 021: ID 0315:0001
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0315
idProduct 0x0001
bcdDevice 2.00
iManufacturer 1 Flashforge
iProduct 2 FlashForge Dreamer 3D Printer
iSerial 3 00000000050C
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x002e
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered

Apparently they assigned a Vendor ID of 0x0315 instead of the one that is currently encoded in init.py for FlashForge that is 0x2b71. Changing the 0x2b71 value to 0x0315 and manually installing the modified source in the plugin manager yielded another error in the log:

' @ comm.py:_openSerial:2661 (hook flashforge)
Traceback (most recent call last):
File "/home/pi/OctoPrint/venv/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 2661, in _openSerial
serial_obj = factory(self, self._port, self._baudrate, settings().getFloat(["serial", "timeout", "connection"]))
File "/home/pi/OctoPrint/venv/local/lib/python2.7/site-packages/octoprint_flashforge/init.py", line 129, in printer_factory
serial_obj = flashforge.FlashForge(self, comm, self.vendor_id, self.device_id, read_timeout=float(read_timeout))
File "/home/pi/OctoPrint/venv/local/lib/python2.7/site-packages/octoprint_flashforge/flashforge.py", line 55, in init
"SUBSYSTEM=="usb", ATTR{{idVendor}}=="{:04x}", MODE="0666"\r\n\r\nThen reboot your system for the rule to take effect.\r\n\r\n".format(vendor_id))
FlashForgeError: Unable to connect to FlashForge printer - permission error.

On OctoPi/Linux add the following line to
/etc/udev/rules.d/99-octoprint.rules:

SUBSYSTEM=="usb", ATTR{idVendor}=="0315", MODE="0666"

Then reboot your system for the rule to take effect.

After using a text editor to create a new udev rule to reflect the one in the log I was able to successfully connect to and control all functions of the printer.

Please find the attached modified init.py file for your perusal. Note it is modified only for my use case and it may be helpful to others to modify it to account for both Vendor ID's.

octoprint_flashforge_tmi.zip

Creator Pro 2. Second Extruder Issues.

serial_leftExtruder.log
octoprint.LeftExtruder.log

I have been using Octoprint for the Creator Pro 2. When I first got it working it worked find for the right extruder but would not print from the left extruder at all. One day last week I decided to try the left extruder again and it worked. Then I played around with some cancel G-Code and it stopped working again. Mysterious..

Do I dug in a bit.
tailing -f serial.log showed that 2 things were happening.

  1. In some scenarios, when using the left extruder, Octoprint starts sending the g-code too soon before the extruders are up to temperature and over runs the buffer, ignoring messages that the buffer is full. This is hard to reproduce and I am still working on it. So no logs for this one yet. Anyway once this happens the printer needs a reboot and Octoprint seems to need one too.

  2. In most cases when using the left extruder Octoprint does not start sending g-code like normal. Its send out g-code very slowly.

If you need some help debugging let me know and if you can tell me how to get a debugger attached to it I am more than willing to take a look and help. In fact very interested in doing so.

Thanks for all your work

Various errors when trying to print / connect

Started having this issue today. I've rebooted everything so many times.

The most common errors are:

Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)

There was an error while trying to start a print job. Error: Unable to upload to SD card - printer is busy.

Offline (Error: FlashForgeError: 'USB Error readraw() (LIBUSB_ERROR_PIPE [-9])' @ comm.py:_readline:2916)

State: Offline (Error: FlashForgeError: 'USB Error write() (LIBUSB_ERROR_TIMEOUT [-7])' @ comm.py:_do_send_without_checksum:3593)

I turned the debug on for the plugin, cleared my logs, and started again. Here are all my logs: Logs.zip

Also when I try and update to the latest 0.2.26 version it says it updated successfully but when I reboot it didn't install.

Dremel 3D20 times out during/after streaming to SD

First: thank you so much!!

During/ after streaming the file to SD the connection times-out.
Set communication time-out to 60 seconds.
Haven't touched anything during streaming.

This happens when I use upload to SD and when I send directly from CURA.

Yesterday I had the same problem, after turning the printer off and on and reconnecting, it streamed and started printing. Just that once. Can't get it to start (even the same file) again.

timeout

OctoPrint goes offline while printing

Since updating to 0.2.2 OctoPrint will go offline a few minutes after printing has started. The print will continue, but I can't get into OctoPrint or SSH or anything. I just have to unplug and reboot. I'm only running this plugin on it, everything else is as it comes. Only started happening after updating to 0.2.2.

Attaching a log. Most recent event was around 2020-09-03 15:45:11.

Printer is PowerSpec Ultra 3D, uploading to SD card.

Network was wireless, but I thought maybe it was just loosing connection so I hardwired it. When trying to connect to Octoprint I ether get a 'Site can't be reached' error from Chrome, (ERR_CONNECTION_TIMED_OUT) or sometimes I can get to Ocroprint, but it returns an error 'Socket connection failed'.

octoprint.log

Error connecting / printing: USB Error readraw() (-9)

Everything has been working for awhile. I recently updated and Im having a new issue. Im not sure if its related to the update or not, but I receive this error when attempting to connect:

Unexpected error while reading serial port, please consult octoprint.log for details: FlashForgeError: 'USB Error readraw() (-9)' @ comm.py:_readline:2793

Occasionally it will connect, but after I upload and print, I receive this error again.

Dremel 3D45 printer head trying to go past home position

I'm new to octoprint, but have experience in programming IoT devices. I have a 3D45 and looked at trying out the octoprint plugin for it. Have it installed on Raspberry Pi 4 and tested with bacic Fan on/off move head commands. All seem to be fine until I tried to upload a gcode output from the Dremel 3D slicer and attempt to print. The print head immediately tries to go past the home position and I have to shut the printer off to prevent further damage. Tried it multiple times with the same results.
I've attached the full session log

ocotprint_printhead_error.txt

Any ideas of making all other Flashforge products fully compatible with Octoprint

Since Flashforge/Bresser Users have to use the Upload to SD to print their stuff, you miss alot functionality. I really would like to have the G-code Viewer, so you can exactly see what the extruder is doing.

But if we arent using Upload to SD, the whole printer doesnt know where he is, and wacks its extruder head everywhere in the heatbead like a drunken Irish sailor.

Would be so nice to print directly from OctoPrint without having problems.

Octoprint 1.4.1

Upgrading to octoprint 1.4.1 breaks usb connection, cannot connect to printer (Finder2.0) anymore.

Connection State: Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)

Unable to communicate with Flashforge Finder: 'USB Error write() (LIBUSB_ERROR_IO [-1])' @ comm.py:_do_send_without_checksum:3490

Hi -
I've installed OctoPrint on a Pi 3B, installed the OctoPrint-FlashForge plugin and configured it per the instructions but can't connect to my printer, a Flashforge Finder.

I get the following error:

Changing monitoring state from "Offline" to "Opening serial port"
Connected to: <octoprint_flashforge.flashforge.FlashForge object at 0x6a911c50>, starting monitor
Starting baud rate detection...
Changing monitoring state from "Opening serial port" to "Detecting baudrate"
Trying baudrate: 115200
Unexpected error while writing to serial port: FlashForgeError: 'USB Error write() (LIBUSB_ERROR_IO [-1])' @ comm.py:_do_send_without_checksum:3490
Changing monitoring state from "Detecting baudrate" to "Offline (Error: FlashForgeError: 'USB Error write() (LIBUSB_ERROR_IO [-1])' @ comm.py:_do_send_without_checksum:3490)"
Closing down send loop
Connection closed, closing down monitor

Initially I got the typical error saying to add a line to /etc/udev/rules.d/99-octoprint.rules which does not exist, but I added it to /etc/udev/rules.d/99-com.rules and rebooted, still get the same error.
I've commented it out in 99-com.rules and created the new /etc/udev/rules.d/99-octoprint.rules file, pasted text, saved, chmoded and rebooted, still get the same error.

I've updated all the packages on the Raspberry Pi, installed pip (both for python 2 & python 3) and rebooted, still get the same error.

dmesg shows that the printer is visible and usb works.

I've connected it to my windows laptop with the same USB cable and Flashprint connects fine and will easily move the extruder & bed.

The printer says its firmware is up to date.
flashforge finder

octoprint.log file: https://pastebin.com/trLLTXHw
serial.log file: https://pastebin.com/pk8a67At
lsusb -v output: https://pastebin.com/1tJcBKJM

What am I missing here?

Thanks for your help and for putting this much effort into the plugin!

Dremel 3D20: Timeouts while Connecting w/M27

New install (on an x64 device, no RPi). First time using OctoPrint, and this plugin.

  • Dremel 3D20
  • OctoPrint 1.4.2 (per About screen)
  • OctoPrint-FlashForge 0.1.21 (per Manage Plugins version)
  • Ubuntu 20.04

Wiped and installed twice now; however, I've been unable to connect to the printer. Sometimes it does connect, but I am unable to send any commands - and it Times Out.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0424:2530 Microchip Technology, Inc. (formerly SMSC) BOSCH Dremel 3D Printer
Bus 001 Device 002: ID 0424:4603 Microchip Technology, Inc. (formerly SMSC)
Bus 001 Device 004: ID 2a89:8889 BOSCH BOSCH Dremel 3D Printer

Yep, that's all this device has connected via USB. ;)

I am installing per README, and followed the master zip file approach, as well as just searching Get more and installing that way.

Tried to restart the octoprint service and checked the logs (this is outputted from systemd logs that I have setup):

Aug 18 02:00:29 up-printer-1 python3[1282]: 2020-08-18 02:00:29,649 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
Aug 18 02:00:30 up-printer-1 python3[1282]: 2020-08-18 02:00:30,001 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
Aug 18 02:00:35 up-printer-1 python3[1282]: 2020-08-18 02:00:35,041 - octoprint.server.preemptive_cache - INFO - ... done in 5.42s
Aug 18 02:00:39 up-printer-1 python3[1282]: 2020-08-18 02:00:39,910 - octoprint.plugins.flashforge - INFO - Found a Dremel Dremel IdeaBuilder 3D20
Aug 18 02:00:39 up-printer-1 python3[1282]: 2020-08-18 02:00:39,955 - octoprint.plugins.flashforge - INFO - Found a Dremel Dremel IdeaBuilder 3D20
Aug 18 02:00:40 up-printer-1 python3[1282]: 2020-08-18 02:00:40,172 - octoprint.plugins.flashforge - INFO - Found a Dremel Dremel IdeaBuilder 3D20

I found the logs to this Octoprint instance and saw this:

2020-08-18 02:00:54,001 - octoprint.util.comm - ERROR - Unexpected error while connecting to serial port unknown, baudrate 250000 from hook flashforge: FlashForgeError: '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Unable to connect to FlashForge printer - permission error.

If you are using OctoPi/Linux add permission to access this device by editing file:
 /etc/udev/rules.d/99-octoprint.rules

and adding the line:
SUBSYSTEM=="usb", ATTR{idVendor}=="2a89", MODE="0666"

You can do this as follows:
1) Connect to your OctoPi/Octoprint device using ssh
2) Type the following to open a text editor:
sudo nano /etc/udev/rules.d/99-octoprint.rules
3) Add the following line:
SUBSYSTEM=="usb", ATTR{idVendor}=="2a89", MODE="0666"
4) Save the file and close the editor
5) Verify the file permissions are set to "rw-r--r--" by typing:
ls /etc/udev/rules.d/99-octoprint.rules
6) Reboot your system for the rule to take effect.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Easy enough. Did the above, and I was able to connect!

However, I ran into more errors:

2020-08-18 02:28:50,625 - octoprint.util.comm - ERROR - Unexpected error while connecting to serial port /dev/ttyS0, baudrate 250000 from hook default: SerialException: '[Errno 13] could not open port /dev/ttyS0: [Errno 13] Permission denied: '/dev/ttyS0'' @ comm.py:_open_serial:2781
Traceback (most recent call last):
  File "/home/eric/.virtualenvs/octoprint/lib/python3.8/site-packages/serial/serialposix.py", line 265, in open
    self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/ttyS0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/eric/.virtualenvs/octoprint/lib/python3.8/site-packages/octoprint/util/comm.py", line 2781, in _open_serial
    serial_obj = factory(self,
  File "/home/eric/.virtualenvs/octoprint/lib/python3.8/site-packages/octoprint/util/comm.py", line 2761, in default
    serial_obj.open()
  File "/home/eric/.virtualenvs/octoprint/lib/python3.8/site-packages/serial/serialposix.py", line 268, in open
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyS0: [Errno 13] Permission denied: '/dev/ttyS0'
2020-08-18 02:28:50,636 - octoprint.util.comm - INFO - Serial detection: Could not open port /dev/ttyS0, baudrate 250000, skipping
2020-08-18 02:28:50,638 - octoprint.util.comm - INFO - Serial detection: Trying port BOSCH Dremel 3D Printer, baudrate 115200
2020-08-18 02:28:50,653 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2020-08-18 02:28:50,659 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Operational"
2020-08-18 02:28:50,716 - octoprint.plugins.flashforge - INFO - Found a Dremel Dremel IdeaBuilder 3D20

Checking, there seems to be a special dialout group assigned to these serial ports. So I added my printer user to it:

$ ls -la /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Aug 18 02:11 /dev/ttyS0

A quick add:

$ sudo gpasswd --add printeruser dialout
Adding user upuser to group dialout
$ sudo gpasswd --add upuser tty
Adding user upuser to group tty
$ sudo reboot

However, I keep seeing the logs show timeout. And I see this in the gcode tab in OctoPrint:

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyS0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0x7f64bc4b9dc0, open=True>(port='/dev/ttyS0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: M601 S0
No answer from the printer within the connection timeout, trying another hello
Send: M601 S0

And it will continue that way.

Register in plugin repository?

Hey @Mrnt! Great to see something like this to finally come together!

I'd love to see this getting registered on the official plugin repository at plugins.octoprint.org once you deem it stable enough. That way more people could find it easier. Or what do you think? :)

Dremel 3d45

Question, will the plugin work withe 3D45? Just picked up a brand new one for 500.

0.2.4 can't process simplify3d gcode file when printing from SD Card

Hi,
I used Upload to SD card, then printed from that - I get these kinds of messages in the log
2020-09-25 14:43:37,492 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): dropping command
2020-09-25 14:43:37,493 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:G1, cmd:G1 X1.482 Y-9.400 E1.5032

The extruder sounds like it's grinding or skipping steps or something. I also see this:
2020-09-25 16:23:46,385 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M119 Received. | Endstop: X-max:0 Y-max:0 Z-max:0 | MachineStatus: READY | MoveMode: READY | Status: S:1 L:0 J:0 F:0 | ok |
2020-09-25 16:23:46,387 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:46,389 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:46,391 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M27 Received. | SD printing byte 0/1000 | ok |
2020-09-25 16:23:46,392 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M27 Received.
2020-09-25 16:23:46,394 - octoprint.plugins.flashforge - DEBUG - buffering: Not SD printing
2020-09-25 16:23:46,395 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:46,398 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:46,400 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:46,402 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:46,403 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:47,364 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M27, cmd:M27
2020-09-25 16:23:47,364 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:47,366 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:47,367 - octoprint.plugins.flashforge - DEBUG - write() M119
~M27
2020-09-25 16:23:47,376 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M119 Received. | Endstop: X-max:0 Y-max:0 Z-max:0 | MachineStatus: READY | MoveMode: READY | Status: S:1 L:0 J:0 F:0 | ok |
2020-09-25 16:23:47,377 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:47,380 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:47,382 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M27 Received. | SD printing byte 0/1000 | ok |
2020-09-25 16:23:47,383 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M27 Received.
2020-09-25 16:23:47,384 - octoprint.plugins.flashforge - DEBUG - buffering: Not SD printing
2020-09-25 16:23:47,384 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:47,386 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:47,387 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:47,388 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:47,388 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:48,359 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M105, cmd:M105
2020-09-25 16:23:48,360 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:48,363 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:48,364 - octoprint.plugins.flashforge - DEBUG - write() M105
2020-09-25 16:23:48,367 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M27, cmd:M27
2020-09-25 16:23:48,369 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:48,374 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M105 Received. | T0:28 /0 B:0/0 | ok |
2020-09-25 16:23:48,374 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M105 Received.
2020-09-25 16:23:48,376 - octoprint.plugins.flashforge - DEBUG - buffering: T0:28 /0 B:0/0
2020-09-25 16:23:48,377 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:48,380 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,383 - octoprint.util.comm - INFO - Externally triggered heatup detected
2020-09-25 16:23:48,395 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,397 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,399 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:48,400 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:48,401 - octoprint.plugins.flashforge - DEBUG - write() M119
~M27
2020-09-25 16:23:48,411 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M119 Received. | Endstop: X-max:0 Y-max:0 Z-max:0 | MachineStatus: READY | MoveMode: READY | Status: S:1 L:0 J:0 F:0 | ok |
2020-09-25 16:23:48,412 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,414 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:48,417 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M27 Received. | SD printing byte 0/1000 | ok |
2020-09-25 16:23:48,418 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M27 Received.
2020-09-25 16:23:48,420 - octoprint.plugins.flashforge - DEBUG - buffering: Not SD printing
2020-09-25 16:23:48,421 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:48,423 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,426 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,429 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:48,430 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:49,371 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M27, cmd:M27
2020-09-25 16:23:49,373 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:49,376 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:49,378 - octoprint.plugins.flashforge - DEBUG - write() M119
~M27
2020-09-25 16:23:49,386 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M119 Received. | Endstop: X-max:0 Y-max:0 Z-max:0 | MachineStatus: READY | MoveMode: READY | Status: S:1 L:0 J:0 F:0 | ok |
2020-09-25 16:23:49,388 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:49,389 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:49,392 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M27 Received. | SD printing byte 0/1000 | ok |
2020-09-25 16:23:49,393 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M27 Received.
2020-09-25 16:23:49,394 - octoprint.plugins.flashforge - DEBUG - buffering: Not SD printing
2020-09-25 16:23:49,396 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:49,402 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:49,408 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:49,411 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:49,413 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:50,375 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M27, cmd:M27
2020-09-25 16:23:50,376 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:50,378 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:50,380 - octoprint.plugins.flashforge - DEBUG - write() M119
~M27
2020-09-25 16:23:50,389 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M119 Received. | Endstop: X-max:0 Y-max:0 Z-max:0 | MachineStatus: READY | MoveMode: READY | Status: S:1 L:0 J:0 F:0 | ok |
2020-09-25 16:23:50,390 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:50,392 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:50,395 - octoprint.plugins.flashforge - DEBUG - readraw() returns: CMD M27 Received. | SD printing byte 0/1000 | ok |
2020-09-25 16:23:50,396 - octoprint.plugins.flashforge - DEBUG - buffering: CMD M27 Received.
2020-09-25 16:23:50,398 - octoprint.plugins.flashforge - DEBUG - buffering: Not SD printing
2020-09-25 16:23:50,399 - octoprint.plugins.flashforge - DEBUG - buffering: ok
2020-09-25 16:23:50,402 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:50,404 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:50,407 - octoprint.plugins.flashforge - DEBUG - readline() called by thread comm._monitor
2020-09-25 16:23:50,407 - octoprint.plugins.flashforge - DEBUG - readraw() called by thread: comm._monitor, timeout: 2000
2020-09-25 16:23:51,378 - octoprint.plugins.flashforge - DEBUG - rewrite_gcode(): gcode:M27, cmd:M27
2020-09-25 16:23:51,379 - octoprint.plugins.flashforge - DEBUG - is_sd_printing()
2020-09-25 16:23:51,382 - octoprint.plugins.flashforge - DEBUG - write() called by thread comm.sending_thread
2020-09-25 16:23:51,387 - octoprint.plugins.flashforge - DEBUG - write() M119

I use Simplify 3D to slice, and the gcode files directly out of that always work if I load them via a usb flash drive at the unit directly.

[Request] Allow 'Load and Print' to work

I know this is currently in the documentation and the only way to currently print the object is by uploading to the sd card, but it would be very nice if you could save files to Octoprint and decide to print them later. It also looks like this could help include the print time remaining and gcode layers.

Is this possible with the terminal output received from the usb?

Finder V2 Issues After Upgrade - Tool Temp, Bed Position, Stepper Noise

I'm experiencing a strange issue after upgrading Octoprint to 1.6.1 and The FlashForge plugin to 0.2.6. It looks like the G-Code is being changed in either Octoprint or the plugin and the printer is not functioning normally.

It was working with the super old versions I was running before (and I may re-install with the older versions). After the upgrade, when it didn't work correctly, I thought maybe there had been some kind of problem with the upgrade (maybe there were steps on the path which I had skipped) so I wiped out my SD Card and reinstalled the newest latest and greatest OctoPrint and FlashForge plugin. This did not yield any different results.

If I "Upload to SD" (the way I have been beginning prints), no matter which tool temp I have in the G-Code, the hot end is set to 180° C and heats to that temp. The build plate comes up to its usual position for tool heating, and after a few seconds the print head starts moving around with filament being extruded in mid-air. There is a strange clicky/grindy quality to the movements of the print head that isn't usually there (the clicks are most likely the extruder not enjoying the fact that it's got PETG in it and it's only heating up to 180° C). If I let the printer do its thing, the hot end eventually warms up to the specified print temp in the G Code and brings the build plate up and tries to print the job. Of course, by this time, it's got a nozzle jam because it's warmed the PETG up enough to ooze all over everything but not really enough to print well.

I can connect the Finder to the Wifi and use Flashprint to stream the GX file and everything prints normally.

OctoPrint Temps
octoprint (19).log

Dreamer not setting bed height correctly?

Hi,
Great bit of code and chocolate was about to be sent but ;(
All working very well if I first print directly from Simplyfy3d directly via usb then swap usb lead to raspi and print via optoprint.

However if I start a fresh sending the G-code from Simplyfy3d to Octoprint the bed is at the wrong height. This is repeatable each time.

I am guessing that the initial setup information is not being sent or maybe incorrect?

Many thanks
Charlie

FlashForge Finder reports as an "Unsupported FlashForge printer"

Changing monitoring state from "Offline" to "Error: Connection error, see Terminal tab"
Unexpected error while connecting to serial port: AUTO FlashForgeError: 'Found an unsupported FlashForge printer 'unknown' with USB ID: 0X00EE' @ comm.py:_openSerial:2661 (hook flashforge)

Machine Type: Flashforge Finder
Firmware Version: 2.2.7.299 F2.12.2 20181203
Board Version: 2.x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.