-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FlashForge Finder 2.0 - Controlling Movement #29
Comments
Can you connect OctoPrint to the Finder while the printer is in idle state, then in OctoPrint:
Please note that on the Finder the Z axis may be inverted - ie the "up" arrow actually makes it go down and vice versa. You can fix this in the Settings > Printer Profiles edit the printer profile, Axes tab > select "Invert control" for the Z axis. |
the home buttons doesnt initiate a movement at all. log in terminal show following on home X/Y: Send: G91 and the following om Home Z: Send: G91 but printer wont respond to G28 if parameter behind is anything else then just a X, Y or Z, and only one of them at once. G28 X works, anything else will not work. |
so
are you able to step X, Y, Z successfully? |
and stepping with arrow buttons just moves one time only in each direction with selected stepsize. you cannot select stepsize 10 and move 20 by pressing arrow twice, it just moved to 10mm relative to current position once. |
thats correct "G28 X Y" will not work, it only takes one parameter and it has to be one of the axis X, Y or Z |
Interesting. Couple of ideas:
|
works as it should in flashprint. responds from M601 is control failed 2020-05-21 19:51:07,262 - octoprint.plugins.flashforge - DEBUG - Found device 'unknown' with Vendor ID: 0X1D6B, USB ID: 0X0002 |
Thanks for that information re FlashPrint. I'm not sure, but I'm thinking I am not sure how technical you are - have you ever used something like WireShark to look at network traffic? |
Can you verify if the other controls are working - lights, extruder, setting temperature? I will update the ReadMe to reflect this is not working until I figure it out. |
never used wireshark much before, but if i figure out how to filter to just follow 192.168.1.151 i can maybe monitor what flashprint does ? |
That would be great if you are willing to have a look! Hopefully you can capture something meaningful between the printer and FlashPrint on ethernet traffic. Otherwise, another user was on Windows (I'm on MacOS so a little different) and installed the 64 bit version of WireShark and during installation it gave the option to install USBPcap, which he was able to use to capture USB packets. |
temprature and light control works, but control of extrude/retract are not working properly eighter. looks like flashprint sends this for to printer for homing: ~G28 X Y Z for movement it looks like it sends this to move head: ~G1 Z-1000.000 F800.000 and this to stop movement when button are released in flashprint: ~M112 saved capture file and follow stream output from wireshark , hope they are readable. |
Thanks for that (and pulling it into a single text file) - very helpful to see what is being sent and received. Also there is a command I have not seen - Weird that FlashPrint is sending When you did the test with FlashPrint prior to to control -
was that with FlashPrint connected via USB or WiFi? It is also interesting that when it moves it is using rather large numbers (not mm) for the steps:
whereas my v1 Finder uses mm so commands would look more like:
Can you try the following sequence of commands in the OctoPrint terminal to see if they work in the same way as FlashPrint:
|
im running flashprint with wifi to printer. it was little hard to follow everything at the same time, but it looks like flashprint sends ~G1 Z-1000.000 F800.000 hvem you hit the arrow in control panel to move bed, and let it move along until you release the arrowbutton and then sends a M112 to abort movment. would say thats a rather lazy way of programming it. |
tried this command sequence you gave, it homed all axes with G28 X Y Z now, but the G1 command send head all the way to the other end and kept spinning/skipping on belt until i sent M112 after homing it states as you say as yours that G1 failed i downscaled it to G1 X-10.000 F2000 Send: G1 X-10.000 F2000.000 and get this: Send: M114 nozzle are now located 10mm left of center bed. on your finder v1 are origin placed at center or in lower left ? its in center on v2 as far i have figured out. Send: G1 X0000.000 Y0000.000 F2000.000 nozzle now are located in center of bed |
Ugh sorry about that - I was basing it on what you observed from FlashPrint, which looked like it was sending the number of stepper motor steps rather than mm distance. G91 is supposed to switch the printer to relative positioning - maybe after homing the printer switches back to absolute positioning. So:
should put it 10mm left of origin (which is the center of the plate)
Whereas if you do:
it should go 10mm left of home
If that works then it is puzzling because clicking the step button in OctoPrint is supposed to be sending something like:
to move 10mm to the left. |
tried to do another G91 after homing, it still does move to 10 left of origin, |
Ah, I missed this - yes that would explain the large movement numbers. In fact if you remove all the status commands the log you sent distills down to just:
I wonder if G91 is broken somehow in the firmware. It seems like that would be bad since slicers do use G91, but when I looked through some G code files generated by FlashPrint and Cura they only seem to use G91 at the end of the file when finished printing, so maybe it doesn't matter for printing and if it was broken then that would be why they haven't fixed it. Did you check that you have the latest firmware? This may mean that OctoPrint control of head and extruder will not work on Finder v2 |
As far as i could find on google i May not have the latest, but upgrade firmware on printer states i have the latest. Looked at the .gx of one of the latest prints. And it use only G90 and G28 X Y Z in the start code. Further down it use absolute positioning when printing. So G91 is only needed for manual move ment of axis i guess. But not used by flashforge/flashprint Not sure if there is possible to rewrite command to do a M114 to get position, set a variables, then use that to calculate absolute position to move axis to. Doing the flashprint way and sending a big move with G1 then sending M112 to stop will not work well. As sending M112 in terminal also kills the serial connection to octoprint |
Yes, I was thinking the way you outlined ie |
I think I almost have a solution for the (G91 relative) movement not working - Question: if it was an option in the printer profile to enable a work around, would you find the setting? |
If the setting is there it should be possible to find it 😁 |
@rmhalvorsen I have added some functionality to the development branch to support this printer via a checkbox under the Axes tab of the printer profile. Can you give it a try and let me know if it works? |
just done a little testing yet, but so far it doesnt move anything anywhere, and ive made some custom buttons earlyer for homing axes those also stopped working after trying to use motion control arrows or homebuttons |
its enabled and everything hangs up when communicate twith printer. get this in log: 2020-05-30 23:07:37,794 - octoprint.plugins.flashforge - DEBUG - FlashForge.readraw() called by thread: comm._monitor, timeout: 30000 |
it disconnects printer after awhile also i see now |
Thank you for your log and patience - I'm debugging this blind so that is helpful. I don't think it likes the M400 (wait for movement to finish) command. I just removed the command, so can you reinstall the "devel" version again (as described above) and testing again. |
well you are doing all the hard work with this and it makes finder more controllable then it is with just flashprint. for me with bigger custom bed and using cura as slicer to benefit from that, sending directly to printer saves me alot of time not needing to run back and forth with the usb stick for every print. and for the development part motion control works as it should with all axes, tested 0.1 , 1 and 10 stepping, testet 100 only on Z as this most likely will send it outside boundries on X and Y, there should maybe be some limits in code to stop it before it reach outside bed size configured in printer profile ? extract and retract on extruder works also home buttons does still not work. |
Just so I understand: Your printer may be different, but there is another problem with my printers: if the printer takes 4 or more seconds to home it drops the connection to OctoPrint because OctoPrint waits for it to finish but if the printer does not receive anything for 4s then it assumes the host is gone. This will easily happen when homing all 3 axes. I have been working on a fix for this problem for a while and it is almost ready. |
that correct on all about G28. it dosent loose connection here while homing, but it looses connection sometimes while printing but have not got around to look into it, but seams to be an usb issue |
OK I added a change for homing as discussed above. Can you re-test by installing the Finder 2/Guider 2 branch using the Plugin Manager > Get More... > and under "...from URL" enter: |
the X/Y home button only homes Y axis |
That is really confusing. OctoPrint should now be sending:
when you press the X/Y home button. I tested to make sure both commands are sent and they seem to be. Can you verify from the log that the two commands are sent and see whether the printer provides any feedback that might be a clue as to why it ignores the |
it sends both commands, may it be that they come too close together so printer straight out just ignores one of them for some reason? 2020-06-09 20:41:01,238 - octoprint.plugins.flashforge - DEBUG - FlashForge.readraw() called by thread: comm._monitor, timeout: 30000 |
It's probably depends on the phase of the moon ;-) The log shows it received the commands so maybe your theory about timing is correct. We can sort of test your theory if you try manually entering:
|
Tryed it, and it ignores the second G28 command while its still homing the first one. dont know if there is way to delay sending the second command, it takes 5-6 second to home X or Y if the extruder is in the opposite end of printer. |
You can try this but it may cause the connection to the printer to drop (make sure to move the X and Y to the opposite end of home first, as in your previous test):
M400 is supposed to block until any pending movement has finished. So in this case the printer would not reply to the |
That worked. |
OK, I just pushed that change to the repo. Can you re-test by installing the Finder 2/Guider 2 branch like before, using the Plugin Manager > Get More... > and under "...from URL" enter this URL: |
well, that did not work very much, the big question is why that worked while i typed it manually in terminal and not trough script. 2020-06-10 04:34:20,658 - octoprint.plugins.flashforge - DEBUG - FlashForge.readline() called by thread comm._monitor |
it doesent matter if extruder is already at home positions or anywhere else, it times out eighter way |
I think the other changes I spoke about will address this issue. I will try and push those out and then fix the homing issue. |
@rmhalvorsen I just pushed 0.2.1 which adds in support for the homing, movement issue via a setting under "Axes" in the printer profile. Can you give it a try? |
@Mrnt, I have just tested the controls on my FlashForge Finder 2.0 but they don't work for me with the latest version of the plugin (0.2.1). However, downgrading the plugin to version 0.1.22 made the controls work (for the most part). I could control movement, turn lights on and off, but the Z-axis tried to move beyond its limits. I'll be happy to provide more structured testing and any logs that would help you, just let me know what you need. |
@TorStava can you try with the dev branch as described in the other issue #45 (comment) |
Sorry for late reply, but havent been home. Can try this tomorrow when ill get home. |
@TorStava @rmhalvorsen if you could start off with a clean log, make sure debugging for the FlashForge plugin is turned on (as described in the troubleshooting section of the readme) (and preferably no other plugins enabled apart from the ones that actually come with OctoPrint and the FlashForge plugin) and do the following: Install the dev branch as mentioned above, then:
If any of these steps fail it will likely be early on but having a detailed log file should really help identify the issue. |
@Mrnt, here are the results of the tests. Let me know if you need anything else, I'll be happy to assist. Test 1: Controls
Test 2: Upload to SD
Test 3: Upload then Print
Test 4: Upload then Print 2
|
@TorStava Awesome - thanks for breaking them into separate named files! Looks like on the first log the printer is not recognizing the M400 (wait for movement to finish) command - can you verify this by just making a connection, go to the Terminal tab, type |
@Mrnt, You're welcome. It seems the dev version is close to working as expected now. I can print with this version both with Upload to SD and by using Upload then Print. Although some small issues would be nice to solve, this works! Big kudos to you sir! I tested sending the M400 command and the same thing happened as in Test 1; No more communication was received, and after a short time the connection to the printer was dropped. |
I did some additional testing using the Terminal tab:
|
@TorStava, @rmhalvorsen I made a new branch and added a fixes for:
Can you re-test by installing the Finder_2 branch using the Plugin Manager > Get More... > and under "...from URL" enter this URL: https://github.com/Mrnt/OctoPrint-FlashForge/archive/Finder_2.zip |
@TorStava can you also try doing a clean connection to the printer, making it do some movements to ensure they are talking to each other and then go to the Terminal tab and enter |
Forget the M132 test looks like it doesn't handle the command when printing directly even though it seems ok in a file on the SD card (does not bode well for other commands). I just pushed an update to the Finder_2 branch that disables the M132 command. To test you will need to reinstall using the URL above. |
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.
The text was updated successfully, but these errors were encountered: