51

Re: print gcode files to miniMaker

prof2meca wrote:

Hello i am a french teacher

i have a problem

when i launch minimover and i try to print a file a have a message PROCESS FAILED. If i see minimover, for extruder temp, i have 20°C/198654465423°C

Is anyone have an idea ?

Thanks a lot


What is a Minimover? Is it an XZY machine? This thread is only for XYZ machines and this hack will only work for XYZ machines.

If this is not an XYZ machine and you are just having issues then you need to start a new thread or post in a general thread. It appears it cannot measure the temp in question, as in the sensor is open or shorted or an issue with the wiring of that sensor.

Printing since 2009 and still love it!
Anycubic 4MAX best $225 ever invested.
Voxelabs Proxima SLA. 6 inch 2k Mono LCD.
Anycubic Predator, massive Delta machine. 450 x 370 print envelope.

52

Re: print gcode files to miniMaker

prof2meca wrote:

Hello i am a french teacher

i have a problem

when i launch minimover and i try to print a file a have a message PROCESS FAILED. If i see minimover, for extruder temp, i have 20°C/198654465423°C

Is anyone have an idea ?

Thanks a lot

What printer are you trying to use? 

Is it still on stock firmware?

Would you mind if I sent you a special version that logged out all the communication for me to analyze?

53

Re: print gcode files to miniMaker

Mehigh wrote:

I can not print files, not sure if this bypasses the cartridge authenticity check...


Same questions for you:

What printer are you trying to use?

Is it still on stock firmware?

Would you mind if I sent you a special version that logged out all the communication for me to analyze?

54

Re: print gcode files to miniMaker

carl_m1968 wrote:
prof2meca wrote:

Hello i am a french teacher

i have a problem

when i launch minimover and i try to print a file a have a message PROCESS FAILED. If i see minimover, for extruder temp, i have 20°C/198654465423°C

Is anyone have an idea ?

Thanks a lot


What is a Minimover? Is it an XZY machine? This thread is only for XYZ machines and this hack will only work for XYZ machines.

If this is not an XYZ machine and you are just having issues then you need to start a new thread or post in a general thread. It appears it cannot measure the temp in question, as in the sensor is open or shorted or an issue with the wiring of that sensor.

miniMover is the utility linked in the first post of this thread, it lets you encrypt/decrypt .3w files and send them on to a da Vinci printer.

55

Re: print gcode files to miniMaker

Ok, I hooked the serial monitor back up to my printer and tried every operation in as many ways as I could.  My goal was to improve the reliability of my communication. Anyway it was very informative, I found that most functions can be terminated in multiple ways, and worked out a few more of the sub state bits.  I won't be able to do much without the data unless I rework the way I communicate with the printer.  In the meantime you can brows my rough notes here:

https://github.com/reality-boy/miniMove … 0notes.txt

56

Re: print gcode files to miniMaker

david.tucker wrote:
Mehigh wrote:

I can not print files, not sure if this bypasses the cartridge authenticity check...


Same questions for you:

What printer are you trying to use?

Is it still on stock firmware?

Would you mind if I sent you a special version that logged out all the communication for me to analyze?

Sorry for my idiocy and forgetting to post what counts for you.

I am using a Da Vinci Mini Maker with stock firmware. And no, I do not mind you collecting data on this printer if it can help you bypass the authenticity check for the filament.

57

Re: print gcode files to miniMaker

Mehigh wrote:
david.tucker wrote:
Mehigh wrote:

I can not print files, not sure if this bypasses the cartridge authenticity check...


Same questions for you:

What printer are you trying to use?

Is it still on stock firmware?

Would you mind if I sent you a special version that logged out all the communication for me to analyze?

Sorry for my idiocy and forgetting to post what counts for you.

I am using a Da Vinci Mini Maker with stock firmware. And no, I do not mind you collecting data on this printer if it can help you bypass the authenticity check for the filament.

My program can't help you print with third party fillement, the fillament check is handled in the firmware in the printer.  What this can do is let you use any slicer to print.

So what exactly happens when you try to print?  I'm developing this using a miniMaker on the latest firmware, I would expect it to work very similarly on your machine.  It is possible that if you are using a much older firmware the communications protocol could have changed.

58 (edited by david.tucker 2018-03-24 05:38:19)

Re: print gcode files to miniMaker

Mehigh and Carl, can you run this version of mini mover and send me the output? You can capture a screen shot, or copy the text out of the dos box.  To copy the text right click on the box and select 'mark', then highlight the text with your mouse and hit enter to copy it to the clipboard.

Actually I would be happy to have anyone run this, as long as your still on the stock firmware.  I don't know that it will do anything with a da Vinci 1.0 but I'd still be curious to see what happens.

http://soliforum.com/i/?FmagrWd.png

Post's attachments

miniMover_dbg2.zip 98.07 kb, 13 downloads since 2018-03-24 

You don't have the permssions to download the attachments of this post.

59

Re: print gcode files to miniMaker

Agh, I have a bug!!! 

Version 0.7.0 can't print at all, sorry Mehigh and Carl!  I should have tested it more thoroughly than that.  I put in code to create a proper temp file in the windows temp folder rather than making a temp.3w file when encoding gcode to be printed but due to a typo my temp file path ends up wiping out the path to the file you intent to print.

Anyway version 0.8 is up and it does appear to print properly.  I will try to get some time to test every feature in detail soon.

60

Re: print gcode files to miniMaker

Version 8 cleans up the debug logging a lot.  Now if you create a debug.txt file in the same directory that you put the miniMover exe I will log all low level communications between the printer and miniMover.  That way if you are getting some sort of an error you can pass me along all the communication without me needing to make a special build.

I also made an initial pass at decoding the error number, although I'm not very confident that I'm doing it right.  And I cleaned up the print logging a bit

61

Re: print gcode files to miniMaker

david.tucker wrote:

Mehigh and Carl, can you run this version of mini mover and send me the output? You can capture a screen shot, or copy the text out of the dos box.  To copy the text right click on the box and select 'mark', then highlight the text with your mouse and hit enter to copy it to the clipboard.

Actually I would be happy to have anyone run this, as long as your still on the stock firmware.  I don't know that it will do anything with a da Vinci 1.0 but I'd still be curious to see what happens.

http://soliforum.com/i/?FmagrWd.png

Hey David, sorry for the long wait for my answer, here's the result from the debugger:

https://i.imgur.com/kWexmvA.png

62

Re: print gcode files to miniMaker

Thanks Mehigh, I will take a look at that.

63

Re: print gcode files to miniMaker

Here are some notes on how to query XYZ for the latest firmware for your printer.  I'm not sure if I'm brave enough to try and implement this or not, but I will keep it in the back of my mind.  At least I was able to download the firmware for my miniMaker so I can take a peek at the file.

https://github.com/reality-boy/miniMove … rmware.txt

64

Re: print gcode files to miniMaker

I downloaded all the firmwares I could and inspecting them in a hex editor. Most of them follow the v3 format of a small header followed by what I assume is an encrypted body, however the older 1.0 and 2.0 models are not encrypted.

I spent a bit of time looking through one and interestingly enough the rom has strings for all the commands used in all three versions of the communications protocol. That is the DAVxxx format of version 1, the XYZ_@3D:x format of version 2, and the XYZv3/xxx version 3 format. I doubt it supports all three protocols but the command parser still can gracefully accept all three without choking.

65

Re: print gcode files to miniMaker

I also pulled some info on the soon to be released mini w+ printer. I don’t know anything about it other than how to encode a file, I’m curious to find out what it can do.

66 (edited by david.tucker 2018-03-31 15:15:59)

Re: print gcode files to miniMaker

So I'm getting to the end of what I can do here without some help form others.  I have this working quite well for the miniMaker, and in theory it works ok on all the v3 protocol machines, but I have almost zero testing on that.

I still could support configuring and talking over wifi, but I only have one example of what the wifi settings look like from a 1.0 pro machine, I need to see the settings on the mini w, jr w and 1.0w machines as well.  And I would need someone interested in working with me as I developed this who could run tests for me.

I could support the older 1.0 and 2.0 machines but again I would need someone willing to test the code out for me.  I have only a single very limited example of how to talk to a 1.0 machine from a firmware that is 4 years old.  I would need a lot more data to implement this properly.

And finally I need at least minimal testing on all the machines to verify they work at all.

So if anyone has an interest in seeing this move forward, and has an xyz printer other than the miniMaker then let me know.  I have been racking my brains for how to get my hands on another machine, short of dropping many hundreds of dollars on the project and can't work it out.

67 (edited by yizhou.he 2018-03-31 16:12:47)

Re: print gcode files to miniMaker

Hi, David,

I think you have done a great job to make this miniMover apps working for miniMaker. And I understand your desire to add support to other machines. But I don't think it necessary have to be your top priority. After all, your apps is named miniMover, not DaVinciMover.

Instead, I would recommend you keep polish miniMover's function for miniMaker, to make it easy to use and expand current function. I think you did a great job to add manual control for the printer in your miniMover and you should keep expand function in this and add some monitor of current printer status. Also make sure people understand the pros and cons between use your apps v.s. use xyzware. If your app is powerful enough, people will ask you to add support to the model they currently own or contribute to your project.

I don't think it is realistic to buy every model of Da Vinci printer given you are not profit from the project so far. It is probably not wise choice either.

Above is only my personal opinion, simply ignore it if you disagree, I'm not looking for start another fight here.

(Da Vinci 1.0, Jr. 1.0 RAMPS, miniMaker) X4, (Creality CR-10S, CR-10 mini, Ender-3) X4, Anycubic MEGA X4, Anycubic Chrion X1, ADMILAB Gantry X2 (MonoPrice Maker Select V2, Plus, Ultimate)X4--Select mini X1, Anycubic photon X4, Wanhao duplicate D7 X1.
iNSTONE Inventor Pro X2, CTC Dual X2, ANET-A8, Hictop 3DP-11, Solidoodle Press, FLSUN I3 2017X1

68

Re: print gcode files to miniMaker

I am not sure you system will work with older machines. They do not use RFID and instead use a three wire serial connection directly to an EEPROM that is on the bottom of each cartridge. In addition the machine has to go online to validate each cartridge serial number and if it see a serial number that has been seen before as empty ro it see one that has not been made , it will reject them. This has been an issue with some as for some reason they by new filament but it somehow was never added to XYZ's database so it fails when the machine calls home to validate it.

This is the main reason most have said screw it and gutted the machine and installed a RAMPS or other open source controller.

Printing since 2009 and still love it!
Anycubic 4MAX best $225 ever invested.
Voxelabs Proxima SLA. 6 inch 2k Mono LCD.
Anycubic Predator, massive Delta machine. 450 x 370 print envelope.

69

Re: print gcode files to miniMaker

Hi David,

found this post last week and it is really helpful. Great job, thank you! I wonder if it is possible to determine which gcode is currently being processed or maybe just the linenumber?

If this is possible, a nice feature would be to resume a print at a given position/linenumber, change the filament midprint or even visualization of progress (2D/3D) like here:
http://gcode.ws/

Another cool feature would be if there was a possibility to make small manipulations on the gcode, e.g. change the temperature or speed adjustments. I use minimover to raise the temperatur of the first layer to make it stick better to the printbed.

70

Re: print gcode files to miniMaker

carl_m1968 wrote:

I am not sure you system will work with older machines. They do not use RFID and instead use a three wire serial connection directly to an EEPROM that is on the bottom of each cartridge. In addition the machine has to go online to validate each cartridge serial number and if it see a serial number that has been seen before as empty ro it see one that has not been made , it will reject them. This has been an issue with some as for some reason they by new filament but it somehow was never added to XYZ's database so it fails when the machine calls home to validate it.

This is the main reason most have said screw it and gutted the machine and installed a RAMPS or other open source controller.

Interesting, I saw the code to register filament, I wondered what it was good for.  Supporting the 1.0 machines is not super high on my to do list but I would like to support them enough that I can auto detect the machine and convert the file format from gcode to .3w automatically.  I may have all I need to pull that off already, but it would be nice to have someone lined up to test it before I put in the effort to support it.

71

Re: print gcode files to miniMaker

type0n wrote:

Hi David,

found this post last week and it is really helpful. Great job, thank you! I wonder if it is possible to determine which gcode is currently being processed or maybe just the linenumber?

If this is possible, a nice feature would be to resume a print at a given position/linenumber, change the filament midprint or even visualization of progress (2D/3D) like here:
http://gcode.ws/

Another cool feature would be if there was a possibility to make small manipulations on the gcode, e.g. change the temperature or speed adjustments. I use minimover to raise the temperatur of the first layer to make it stick better to the printbed.

Those are both great ideas but I don't think I can help you with either.

I can pause the print, that part is easy, but if I try to force the filament to unload via the xyz calls the print head will move and the print will be canceled.  You could manually yank out the filament of course, but you can do that now with the existing XYZWare app as well.  You could experiment with adding in gcode that ejects the filament, but loading it back in may be a pain.  Actually a tool like Cura may be able to move the head over and handle the load/unload for you, it is worth looking into.

Adjusting the gcode on the fly is something I could theoretically do, but it would be much simpler for you to do that via a tool like Cura.  They have scripts that can change the temp at various heights or pause the print automatically, etc.  And they let you visualize exactly where the changes will happen.  It is probably worth looking into Cura anyway, I think they do a better job of slicing the stl file than XYZWare so your prints will come out looking better.

72

Re: print gcode files to miniMaker

I have a conundrum I can't work around.  I found a big gcode file (60 MB) and sent it to the printer in about 500 seconds.  That works out to a data rate of around 126,000 Bytes per second, or 10x faster than the requested 115,200 bits per second transfer rate of the serial connection.

I keep going over the documentation and I can't see anything that would make 115,200 bps act like bytes per second.  All I can think of is that the serial to usb converter is speeding up the transfer rate, but why only 10x faster.  It all feels too coincidental...

73

Re: print gcode files to miniMaker

david.tucker wrote:

Those are both great ideas but I don't think I can help you with either.

I can pause the print, that part is easy, but if I try to force the filament to unload via the xyz calls the print head will move and the print will be canceled.  You could manually yank out the filament of course, but you can do that now with the existing XYZWare app as well.  You could experiment with adding in gcode that ejects the filament, but loading it back in may be a pain.  Actually a tool like Cura may be able to move the head over and handle the load/unload for you, it is worth looking into.

Adjusting the gcode on the fly is something I could theoretically do, but it would be much simpler for you to do that via a tool like Cura.  They have scripts that can change the temp at various heights or pause the print automatically, etc.  And they let you visualize exactly where the changes will happen.  It is probably worth looking into Cura anyway, I think they do a better job of slicing the stl file than XYZWare so your prints will come out looking better.

Hi David,

thank you for your reply. I was not thinking about adjusting the gcode on the fly. Something like putting the linenumber in a log file or to the statuswindow of minimover would be enough. Would this be possible?

To load or unload filament I would not use the XYZ functions, just a small snippet of gcode that could be injected at a given layer.

Like:
position the printhead in a free area
heat up
extrude a small amount of filament
retract slow to get the filament out of the hotend
retract until the filament is free
wait for x second to put another spool in
do the procedure just the other way around to load filament and resum the print

74

Re: print gcode files to miniMaker

type0n wrote:

Hi David,

thank you for your reply. I was not thinking about adjusting the gcode on the fly. Something like putting the linenumber in a log file or to the statuswindow of minimover would be enough. Would this be possible?

To load or unload filament I would not use the XYZ functions, just a small snippet of gcode that could be injected at a given layer.

Like:
position the printhead in a free area
heat up
extrude a small amount of filament
retract slow to get the filament out of the hotend
retract until the filament is free
wait for x second to put another spool in
do the procedure just the other way around to load filament and resum the print

The way all the XYZ printers work is you send the whole gcode file down to there internal sd card (even if the SD card is not removable) and then they print from the card directly.  I have no way to tell you what line they are printing on, or really any way to control the print.

However Cura has all that built into it and more, you can decrypt your .3w file, load it into cura, and use one of there many scripts to change parameters on a layer by layer basis.

75 (edited by david.tucker 2018-04-03 16:06:23)

Re: print gcode files to miniMaker

Spent some time reorganizing the print and firmware update commands so that they are split into sub components (start, process, finish).  This will allow me to dump the thread and callbacks on the windows build and simply init a print and poll to finish the upload.  I can probably do something similar to make the filament maintenance routines more responsive as well.

I'm also starting to look at doing another optimize pass on the file conversion.  The new zip code is slow, and even when not zipping I think I can shave 30% of the time off without rewriting the DES encrypt function.  It takes around 5 seconds to convert a 60 MB gcode file to a 3w file, which is much faster than loading the file into XYZWare, but still if I could get that closer to 1 second I would feel better about not running it in its own thread.

Getting rid of the thread will let me strip out the locks and make the code just a bit more portable.