Closed ronoaldo closed 3 years ago
Hi,
I am looking to add support for Flashforge Adventurer 3, and I was wondering how FlashPrint is doing the autodiscovery of printers in the network, with some Wireshark I'm now able to do auto discovery, and in the process of a proof of concept based on
UM3NetworkPrinting
plugin for FlashForge Adventurer 3.Apparently the printer is listening for a multicast packet on
225.0.0.9:UDP:19000
and with a crafted payloadc0a8012b46510000
(I have not ideal what the payload is) it will reply with the printer name:0000 4d 79 20 33 44 20 50 72 69 6e 74 65 72 00 00 00 My 3D Printer... 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0080 e1 00 00 09 22 c3 2b 71 00 08 00 00 ....".+q....
Below is the sample Python for sending the magic packet
import socket import time def send(): server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) server.settimeout(5) server.bind(("192.168.1.43", 18001)) message = bytes.fromhex('c0a8012b46510000') while True: print("Sending: %s" % message) server.sendto(message, ("225.0.0.9", 19000)) data, addr = server.recvfrom(1024) print("received message: %s" % data) if __name__ == "__main__": send()
Magic packet:
0000 01 00 5e 00 00 09 98 af 65 b1 3e 65 08 00 45 00 ..^.....e.>e..E. 0010 00 24 1b 2d 00 00 02 11 fa bf c0 a8 01 2b e1 00 .$.-.........+.. 0020 00 09 46 51 4a 38 00 10 c4 42 c0 a8 01 2b 46 51 ..FQJ8...B...+FQ 0030 00 00 ..
Reply:
0000 98 af 65 b1 3e 65 32 4a 26 0a 86 5c 08 00 45 00 ..e.>e2J&..\..E. 0010 00 a8 7b fb 40 00 40 11 3a 9e c0 a8 01 30 c0 a8 ..{.@.@.:....0.. 0020 01 2b 4a 38 46 51 00 94 69 37 4d 79 20 33 44 20 .+J8FQ..i7My 3D 0030 50 72 69 6e 74 65 72 00 00 00 00 00 00 00 00 00 Printer......... 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00a0 00 00 00 00 00 00 00 00 00 00 e1 00 00 09 22 c3 ..............". 00b0 2b 71 00 08 00 00 +q....
Hi, Are you trying to connect via USB cable and print?
Hi, Are you trying to connect via USB cable and print?
@eskeyaar - I'm working on the Flashforge Adventurer 3 WiFi auto discovery and in general networking printing to the Flashforge Adventurer 3 .
And I looking to see how the FlashPrint is doing the auto discovery of printers in the local network.
Hey all - long time no talk. I got issues with the printer, after a year of use it was time to replace the nozzle. Got it sorted out this weekend and I'm not fixing some build plate adhesion problems to further test the profiles.
Perhaps it is worth split this in two PRs maybe? One for the printer support (using the default profiles) and another for the custom profiles to be imported? Having the printer and default cura profiles available can be beneficial to users after all.
Amit, one question. I'm interested into sending the .gx file to the printer as well, and I see you have some cool features implemented for Adventurer. I could not find the part that do send the file to the printer but I believe it is similar or maybe even compatible with Finder as well. Woud you like to embed the monitoring features in Cura as well?
Em seg., 27 de jul. de 2020 às 17:29, Amit Nishry notifications@github.com escreveu:
Hi, Are you trying to connect via USB cable and print?
@eskeyaar https://github.com/eskeyaar - I'm working on the Flashforge Adventurer 3 WiFi auto discovery and in general networking printing to the Flashforge Adventurer 3 .
- The .gx format is covered in this thread
- Sending .gx to the printer over wifi is covered at https://take4-blue.com/en/?cat=36 and in https://github.com/take4blue/Adventurer3Web
And I looking to see how the FlashPrint is doing the auto discovery of printers in the local network.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Ultimaker/Cura/issues/7829#issuecomment-664621520, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEJ3KN5YBEYUG5BIYEOSADR5XPSPANCNFSM4NJ2GWKQ .
-- Ronoaldo Pereira ronoaldo.com http://www.ronoaldo.com/
Hey all - long time no talk. I got issues with the printer, after a year of use it was time to replace the nozzle. Got it sorted out this weekend and I'm not fixing some build plate adhesion problems to further test the profiles. Perhaps it is worth split this in two PRs maybe? One for the printer support (using the default profiles) and another for the custom profiles to be imported? Having the printer and default cura profiles available can be beneficial to users after all. Amit, one question. I'm interested into sending the .gx file to the printer as well, and I see you have some cool features implemented for Adventurer. I could not find the part that do send the file to the printer but I believe it is similar or maybe even compatible with Finder as well. Woud you like to embed the monitoring features in Cura as well? Em seg., 27 de jul. de 2020 às 17:29, Amit Nishry notifications@github.com escreveu: … Hi, Are you trying to connect via USB cable and print? @eskeyaar https://github.com/eskeyaar - I'm working on the Flashforge Adventurer 3 WiFi auto discovery and in general networking printing to the Flashforge Adventurer 3 . - The .gx format is covered in this thread - Sending .gx to the printer over wifi is covered at https://take4-blue.com/en/?cat=36 and in https://github.com/take4blue/Adventurer3Web And I looking to see how the FlashPrint is doing the auto discovery of printers in the local network. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#7829 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEJ3KN5YBEYUG5BIYEOSADR5XPSPANCNFSM4NJ2GWKQ . -- Ronoaldo Pereira ronoaldo.com http://www.ronoaldo.com/
Hey Ronoaldo, I thought this idea early itself. I will start making the printers def with default profiles for PR.
Thanks.
Just a quick note to thank everyone for their work on this, I just got a flashforge finder and being able to use Cura is awesome!
Hi All, I am new to creating printer profiles, how do I implement this profile with my flashforge finder?
Thank you
Hi! The profile can be imported from the repository or you can try to load the data from my extension repository. I guess my extension is not published at the marketplace yet (I probably missed some bits here and there).
Hi! I've published the plugin for the both the GXWriter and the Finder integration to Marketplace, but I have made some important changes to the 1.0.1 version (still under review). Is it possible to publish the new 1.0.1 version as well? Thanks!
With the plugins and with @eskeyaar PR this one can be closed!
Should this now display in Cura 4.10.0? I don't see the FlashForge Finder in the list of printers in 4.10.0 and it wasn't in the release notes either.
Also, I assume this is for the Finder only, not the Adventurer 3. @amitn did you ever get the Adventurer 3 added?
Should this now display in Cura 4.10.0? I don't see the FlashForge Finder in the list of printers in 4.10.0 and it wasn't in the release notes either.
No, that printer profile was not submitted as a built-in profile for Cura but is only supplied via the FlashForge Finder Printer Integration plug-in in the Marketplace.
Is your feature request related to a problem? Please describe. I would like to add support for FlashForge Finder in Cura. I did a little scripting already and have some pieces that I would love to put together. I own a FFF and it is a good starter printer. I use Cura with it already but did several hacking to get some things working, so having a few of them ready from Cura itself would be awesome.
Describe the solution you'd like I would love to see Cura support for Finder as a Machine Definition built-in, so users can get it ready to use more easily. I can create the definition with the data I used already in the UI so it would be cool, just need proper directions on how to proceed.
Also, would like to support some features like sending the job over wifi. Today I operate by uploading the g-code from Cura to a cloud provider as I don't have a USB stick (odd, i know!). Then I use the built-in firmware feature to download from cloud and print. I would love to implement the functionality to send the print job over wifi and keep monitoring it over as the printer allows it using TCP. I have some pieces like a custom GX code writer that the printer uses and allows a print preview image to be displayed in LCD (testing yet).
Finally, I have a small script to work around the "Pause at height" solutions from default Cura that oddly don't work with Finder (printer goes nuts if I use them). I implemented a small script to allow to use the M25 command that the printer understands. Would like to ship it (or a version of it using already existing plugins) to avoid a set of trial and error for other users.
Describe alternatives you've considered I am using these for a year and think this would be a good addition for an upcoming Cura release, as I often find users on Forums that don't know how to get the job done with Cura and may be losing a lot of good features from it.
Affected users and/or printers Only owners of FlashForge Finder that don't like/can't use the provided Slicer software.
Additional context I need some guidance in order to get things done but I'm all in to send pull requests and get feedback/review. I also can code in Python and have the printer so I can test different things until we get it ready to release.